summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/bic/data/QtConcurrent.5.12.0.linux-gcc-amd64.txt4659
-rw-r--r--tests/auto/bic/data/QtCore.5.12.0.linux-gcc-amd64.txt4607
-rw-r--r--tests/auto/bic/data/QtDBus.5.12.0.linux-gcc-amd64.txt4946
-rw-r--r--tests/auto/bic/data/QtGui.5.12.0.linux-gcc-amd64.txt8422
-rw-r--r--tests/auto/bic/data/QtNetwork.5.12.0.linux-gcc-amd64.txt5509
-rw-r--r--tests/auto/bic/data/QtOpenGL.5.12.0.linux-gcc-amd64.txt19441
-rw-r--r--tests/auto/bic/data/QtPrintSupport.5.12.0.linux-gcc-amd64.txt19692
-rw-r--r--tests/auto/bic/data/QtSql.5.12.0.linux-gcc-amd64.txt5034
-rw-r--r--tests/auto/bic/data/QtTest.5.12.0.linux-gcc-amd64.txt4704
-rw-r--r--tests/auto/bic/data/QtWidgets.5.12.0.linux-gcc-amd64.txt19191
-rw-r--r--tests/auto/bic/data/QtXml.5.12.0.linux-gcc-amd64.txt5047
-rw-r--r--tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp25
-rw-r--r--tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp24
-rw-r--r--tests/auto/corelib/global/qflags/tst_qflags.cpp8
-rw-r--r--tests/auto/corelib/global/qglobal/qglobal.c2
-rw-r--r--tests/auto/corelib/global/qglobal/qglobal.pro1
-rw-r--r--tests/auto/corelib/global/qglobal/tst_qglobal.cpp40
-rw-r--r--tests/auto/corelib/global/qlogging/BLACKLIST4
-rw-r--r--tests/auto/corelib/global/qlogging/app/app.pro3
-rw-r--r--tests/auto/corelib/global/qlogging/tst_qlogging.cpp8
-rw-r--r--tests/auto/corelib/global/qnumeric/tst_qnumeric.cpp65
-rw-r--r--tests/auto/corelib/global/qtendian/tst_qtendian.cpp40
-rw-r--r--tests/auto/corelib/io/io.pro3
-rw-r--r--tests/auto/corelib/io/qdir/Info.plist41
-rw-r--r--tests/auto/corelib/io/qdir/qdir.pro1
-rw-r--r--tests/auto/corelib/io/qdir/tst_qdir.cpp46
-rw-r--r--tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp2
-rw-r--r--tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp3
-rw-r--r--tests/auto/corelib/io/qlockfile/qlockfiletesthelper/qlockfile_test_helper.pro3
-rw-r--r--tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp4
-rw-r--r--tests/auto/corelib/io/qnodebug/tst_qnodebug.cpp1
-rw-r--r--tests/auto/corelib/io/qprocess/fileWriterProcess/fileWriterProcess.pro3
-rw-r--r--tests/auto/corelib/io/qprocess/testDetached/testDetached.pro3
-rw-r--r--tests/auto/corelib/io/qprocess/testExitCodes/testExitCodes.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testForwarding/testForwarding.pro3
-rw-r--r--tests/auto/corelib/io/qprocess/testForwardingHelper/testForwardingHelper.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testGuiProcess/testGuiProcess.pro3
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessCrash/testProcessCrash.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessDeadWhileReading/testProcessDeadWhileReading.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEOF/testProcessEOF.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEcho/testProcessEcho.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEcho2/testProcessEcho2.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEcho3/testProcessEcho3.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEnvironment/testProcessEnvironment.pro6
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessHang/testProcessHang.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessNormal/testProcessNormal.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessOutput/testProcessOutput.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessSpacesArgs/nospace.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessSpacesArgs/onespace.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessSpacesArgs/twospaces.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testSetNamedPipeHandleState/testSetNamedPipeHandleState.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testSetWorkingDirectory/testSetWorkingDirectory.pro3
-rw-r--r--tests/auto/corelib/io/qprocess/testSoftExit/testSoftExit.pro4
-rw-r--r--tests/auto/corelib/io/qprocess/testSpaceInName/testSpaceInName.pro6
-rw-r--r--tests/auto/corelib/io/qprocess/tst_qprocess.cpp18
-rw-r--r--tests/auto/corelib/io/qresourceengine/.gitattributes1
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/aliasdir/aliasdir.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/blahblah.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/currentdir.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/currentdir2.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/otherdir/otherdir.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/subdir/subdir.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/test/test/test1.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/test/test/test2.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/test/testdir.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/testqrc/test/testdir2.txt2
-rw-r--r--tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp115
-rw-r--r--tests/auto/corelib/io/qsettings/BLACKLIST2
-rw-r--r--tests/auto/corelib/io/qsettings/qsettings.qrc1
-rw-r--r--tests/auto/corelib/io/qsettings/tst_qsettings.cpp29
-rw-r--r--tests/auto/corelib/io/qsettings/withcomments.ini19
-rw-r--r--tests/auto/corelib/io/qstandardpaths/BLACKLIST3
-rw-r--r--tests/auto/corelib/io/qstandardpaths/qstandardpaths.pro3
-rw-r--r--tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp6
-rw-r--r--tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp4
-rw-r--r--tests/auto/corelib/io/qurl/tst_qurl.cpp59
-rw-r--r--tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp8
-rw-r--r--tests/auto/corelib/itemmodels/itemmodels.pro5
-rw-r--r--tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp5
-rw-r--r--tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp4
-rw-r--r--tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp7
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp45
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h3
-rw-r--r--tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp22
-rw-r--r--tests/auto/corelib/itemmodels/qtransposeproxymodel/qtransposeproxymodel.pro6
-rw-r--r--tests/auto/corelib/itemmodels/qtransposeproxymodel/tst_qtransposeproxymodel.cpp915
-rw-r--r--tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp6
-rw-r--r--tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.h1
-rw-r--r--tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST3
-rw-r--r--tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp179
-rw-r--r--tests/auto/corelib/kernel/qmetaenum/tst_qmetaenum.cpp10
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp113
-rw-r--r--tests/auto/corelib/kernel/qmetatype/qmetatype.pro2
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp43
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp277
-rw-r--r--tests/auto/corelib/kernel/qtimer/BLACKLIST2
-rw-r--r--tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp160
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp36
-rw-r--r--tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp26
-rw-r--r--tests/auto/corelib/plugin/qlibrary/lib/lib.pro2
-rw-r--r--tests/auto/corelib/plugin/qlibrary/lib2/lib2.pro2
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/lib/lib.pro2
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pri13
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro73
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro41
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro3
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro9
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_x86_64.pro2
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/qpluginloader.pro2
-rw-r--r--tests/auto/corelib/serialization/qcborstreamreader/tst_qcborstreamreader.cpp4
-rw-r--r--tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp61
-rw-r--r--tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp127
-rw-r--r--tests/auto/corelib/serialization/qdatastream_core_pixmap/qdatastream_core_pixmap.pro4
-rw-r--r--tests/auto/corelib/serialization/qdatastream_core_pixmap/tst_qdatastream_core_pixmap.cpp68
-rw-r--r--tests/auto/corelib/serialization/qtextstream/readAllStdinProcess/readAllStdinProcess.pro3
-rw-r--r--tests/auto/corelib/serialization/qtextstream/readLineStdinProcess/readLineStdinProcess.pro3
-rw-r--r--tests/auto/corelib/serialization/qtextstream/stdinProcess/stdinProcess.pro3
-rw-r--r--tests/auto/corelib/serialization/qtextstream/test/test.pro2
-rw-r--r--tests/auto/corelib/serialization/qtextstream/tst_qtextstream.cpp102
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp2
-rw-r--r--tests/auto/corelib/serialization/serialization.pro1
-rw-r--r--tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp8
-rw-r--r--tests/auto/corelib/thread/qatomicinteger/tst_qatomicinteger.cpp8
-rw-r--r--tests/auto/corelib/thread/qthread/tst_qthread.cpp2
-rw-r--r--tests/auto/corelib/thread/qthreadpool/BLACKLIST1
-rw-r--r--tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp1
-rw-r--r--tests/auto/corelib/thread/qthreadstorage/crashonexit/crashonexit.pro3
-rw-r--r--tests/auto/corelib/tools/collections/tst_collections.cpp2
-rw-r--r--tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp6
-rw-r--r--tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp23
-rw-r--r--tests/auto/corelib/tools/qbytearraylist/tst_qbytearraylist.cpp36
-rw-r--r--tests/auto/corelib/tools/qcollator/tst_qcollator.cpp25
-rw-r--r--tests/auto/corelib/tools/qcommandlineparser/testhelper/qcommandlineparser_test_helper.pro3
-rw-r--r--tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp32
-rw-r--r--tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp2
-rw-r--r--tests/auto/corelib/tools/qdate/tst_qdate.cpp32
-rw-r--r--tests/auto/corelib/tools/qdatetime/qdatetime.pro2
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp13
-rw-r--r--tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp33
-rw-r--r--tests/auto/corelib/tools/qlocale/syslocaleapp/syslocaleapp.pro3
-rw-r--r--tests/auto/corelib/tools/qlocale/tst_qlocale.cpp169
-rw-r--r--tests/auto/corelib/tools/qpair/qpair.pro3
-rw-r--r--tests/auto/corelib/tools/qpair/tst_qpair.cpp30
-rw-r--r--tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp85
-rw-r--r--tests/auto/corelib/tools/qscopedvaluerollback/tst_qscopedvaluerollback.cpp13
-rw-r--r--tests/auto/corelib/tools/qsharedpointer/externaltests.cpp3
-rw-r--r--tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp10
-rw-r--r--tests/auto/corelib/tools/qstring/tst_qstring.cpp235
-rw-r--r--tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp64
-rw-r--r--tests/auto/corelib/tools/qstringmatcher/tst_qstringmatcher.cpp6
-rw-r--r--tests/auto/corelib/tools/qtime/tst_qtime.cpp5
-rw-r--r--tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp15
-rw-r--r--tests/auto/corelib/tools/qvector/tst_qvector.cpp42
-rw-r--r--tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp12
-rw-r--r--tests/auto/corelib/tools/tools.pro1
-rw-r--r--tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro3
-rw-r--r--tests/auto/dbus/qdbusmarshall/qpong/qpong.pro4
-rw-r--r--tests/auto/dbus/qdbusservicewatcher/tst_qdbusservicewatcher.cpp137
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp117
-rw-r--r--tests/auto/gui/image/qimagereader/tst_qimagereader.cpp3
-rw-r--r--tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp7
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp34
-rw-r--r--tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp4
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp2
-rw-r--r--tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp2
-rw-r--r--tests/auto/gui/kernel/qguieventdispatcher/BLACKLIST5
-rw-r--r--tests/auto/gui/kernel/qpalette/tst_qpalette.cpp42
-rw-r--r--tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp155
-rw-r--r--tests/auto/gui/kernel/qwindow/BLACKLIST2
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp23
-rw-r--r--tests/auto/gui/painting/painting.pro1
-rw-r--r--tests/auto/gui/painting/qbrush/tst_qbrush.cpp2
-rw-r--r--tests/auto/gui/painting/qcolor/tst_qcolor.cpp10
-rw-r--r--tests/auto/gui/painting/qcolorspace/qcolorspace.pro9
-rw-r--r--tests/auto/gui/painting/qcolorspace/resources/ProPhoto.jpgbin0 -> 30900 bytes
-rw-r--r--tests/auto/gui/painting/qcolorspace/resources/sRGB2014.iccbin0 -> 3024 bytes
-rw-r--r--tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp238
-rw-r--r--tests/auto/gui/painting/qpainter/tst_qpainter.cpp24
-rw-r--r--tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp43
-rw-r--r--tests/auto/gui/painting/qpen/tst_qpen.cpp8
-rw-r--r--tests/auto/gui/painting/qregion/tst_qregion.cpp55
-rw-r--r--tests/auto/gui/qopengl/qopengl.pro2
-rw-r--r--tests/auto/gui/qopengl/tst_qopengl.cpp2
-rw-r--r--tests/auto/gui/text/qcssparser/tst_qcssparser.cpp6
-rw-r--r--tests/auto/gui/text/qfont/qfont.pro1
-rw-r--r--tests/auto/gui/text/qfont/testfont.qrc5
-rw-r--r--tests/auto/gui/text/qfont/tst_qfont.cpp123
-rw-r--r--tests/auto/gui/text/qfont/weirdfont.otfbin0 -> 25008 bytes
-rw-r--r--tests/auto/gui/text/qfontcache/tst_qfontcache.cpp45
-rw-r--r--tests/auto/gui/text/qfontdatabase/testdata.qrc1
-rw-r--r--tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp29
-rw-r--r--tests/auto/gui/text/qfontmetrics/testfont.qrc1
-rw-r--r--tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp27
-rw-r--r--tests/auto/gui/text/qglyphrun/BLACKLIST1
-rw-r--r--tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp37
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp2
-rw-r--r--tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp73
-rw-r--r--tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp26
-rw-r--r--tests/auto/gui/text/qtexttable/tst_qtexttable.cpp6
-rw-r--r--tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc2
-rw-r--r--tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo.astcbin0 -> 2512 bytes
-rw-r--r--tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo_srgb.astcbin0 -> 2512 bytes
-rw-r--r--tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp70
-rw-r--r--tests/auto/network-settings.h76
-rw-r--r--tests/auto/network/access/hpack/tst_hpack.cpp49
-rw-r--r--tests/auto/network/access/http2/http2.pro3
-rw-r--r--tests/auto/network/access/http2/http2srv.cpp69
-rw-r--r--tests/auto/network/access/http2/http2srv.h16
-rw-r--r--tests/auto/network/access/http2/tst_http2.cpp103
-rw-r--r--tests/auto/network/access/qabstractnetworkcache/qabstractnetworkcache.pro2
-rw-r--r--tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp16
-rw-r--r--tests/auto/network/access/qhttpnetworkconnection/qhttpnetworkconnection.pro4
-rw-r--r--tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp76
-rw-r--r--tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp3
-rw-r--r--tests/auto/network/access/qnetworkreply/BLACKLIST3
-rw-r--r--tests/auto/network/access/qnetworkreply/certs/qt-test-server-host-network-cacert.pem16
-rw-r--r--tests/auto/network/access/qnetworkreply/echo/echo.pro4
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp48
-rw-r--r--tests/auto/network/bearer/qnetworksession/lackey/lackey.pro3
-rw-r--r--tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp8
-rw-r--r--tests/auto/network/kernel/qhostinfo/tst_qhostinfo.cpp71
-rw-r--r--tests/auto/network/kernel/qnetworkdatagram/tst_qnetworkdatagram.cpp2
-rw-r--r--tests/auto/network/socket/qhttpsocketengine/qhttpsocketengine.pro5
-rw-r--r--tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp44
-rw-r--r--tests/auto/network/socket/qlocalsocket/socketprocess/socketprocess.pro3
-rw-r--r--tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp3
-rw-r--r--tests/auto/network/socket/qsocks5socketengine/BLACKLIST3
-rw-r--r--tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro6
-rw-r--r--tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp42
-rw-r--r--tests/auto/network/socket/qtcpserver/test/test.pro6
-rw-r--r--tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp43
-rw-r--r--tests/auto/network/socket/qtcpsocket/stressTest/stressTest.pro3
-rw-r--r--tests/auto/network/socket/qtcpsocket/test/test.pro6
-rw-r--r--tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp186
-rw-r--r--tests/auto/network/socket/qudpsocket/clientserver/clientserver.pro3
-rw-r--r--tests/auto/network/socket/qudpsocket/test/test.pro6
-rw-r--r--tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp28
-rw-r--r--tests/auto/network/socket/qudpsocket/udpServer/udpServer.pro4
-rw-r--r--tests/auto/network/ssl/qocsp/certs/alice.crt24
-rw-r--r--tests/auto/network/ssl/qocsp/certs/alice.key28
-rw-r--r--tests/auto/network/ssl/qocsp/certs/ca1.crt24
-rw-r--r--tests/auto/network/ssl/qocsp/certs/ca1.key28
-rw-r--r--tests/auto/network/ssl/qocsp/certs/infbob.key28
-rw-r--r--tests/auto/network/ssl/qocsp/certs/infbobchain.crt49
-rw-r--r--tests/auto/network/ssl/qocsp/certs/ss1-private.key28
-rw-r--r--tests/auto/network/ssl/qocsp/certs/ss1.crt25
-rw-r--r--tests/auto/network/ssl/qocsp/qocsp.pro15
-rw-r--r--tests/auto/network/ssl/qocsp/tst_qocsp.cpp823
-rw-r--r--tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp6
-rw-r--r--tests/auto/network/ssl/qsslkey/BLACKLIST4
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.derbin0 -> 293 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.pem9
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.derbin0 -> 554 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.pem14
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pri-512.derbin0 -> 159 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pri-512.pem6
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.derbin0 -> 291 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.pem9
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.derbin0 -> 552 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.pem14
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pub-512.derbin0 -> 157 bytes
-rw-r--r--tests/auto/network/ssl/qsslkey/keys/dh-pub-512.pem6
-rwxr-xr-xtests/auto/network/ssl/qsslkey/keys/genkeys.sh21
-rw-r--r--tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes128.pem30
-rw-r--r--tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes192.pem30
-rw-r--r--tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes256.pem30
-rw-r--r--tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp175
-rw-r--r--tests/auto/network/ssl/qsslsocket/BLACKLIST6
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/127-0-0-1-as-CN.crt19
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cert.pem16
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/subjectAltNameIP.crt20
-rw-r--r--tests/auto/network/ssl/qsslsocket/qsslsocket.pro7
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp593
-rw-r--r--tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST2
-rw-r--r--tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro6
-rw-r--r--tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp21
-rw-r--r--tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro6
-rw-r--r--tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/tst_qsslsocket_onDemandCertificates_static.cpp22
-rw-r--r--tests/auto/network/ssl/ssl.pro2
-rw-r--r--tests/auto/opengl/qgl/tst_qgl.cpp1
-rw-r--r--tests/auto/opengl/qglthreads/tst_qglthreads.cpp5
-rw-r--r--tests/auto/other/gestures/BLACKLIST1
-rw-r--r--tests/auto/other/lancelot/paintcommands.cpp28
-rw-r--r--tests/auto/other/lancelot/paintcommands.h1
-rw-r--r--tests/auto/other/lancelot/scripts/degeneratebeziers.qps28
-rw-r--r--tests/auto/other/lancelot/scripts/richtext.qps9
-rw-r--r--tests/auto/other/macgui/macgui.pro1
-rw-r--r--tests/auto/other/macnativeevents/BLACKLIST1
-rw-r--r--tests/auto/other/macplist/macplist.pro2
-rw-r--r--tests/auto/other/other.pro13
-rw-r--r--tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp55
-rw-r--r--tests/auto/other/qcomplextext/bidireorderstring.h2
-rw-r--r--tests/auto/other/qcomplextext/tst_qcomplextext.cpp13
-rw-r--r--tests/auto/other/qobjectrace/qobjectrace.pro3
-rw-r--r--tests/auto/other/qobjectrace/tst_qobjectrace.cpp16
-rw-r--r--tests/auto/other/qprocess_and_guieventloop/write-read-write/write-read-write.pro4
-rw-r--r--tests/auto/other/toolsupport/tst_toolsupport.cpp4
-rw-r--r--tests/auto/other/xkbkeyboard/CMakeLists.txt (renamed from tests/auto/testlib/selftests/alive/CMakeLists.txt)0
-rw-r--r--tests/auto/other/xkbkeyboard/tst_xkbkeyboard.cpp60
-rw-r--r--tests/auto/other/xkbkeyboard/xkbkeyboard.pro7
-rw-r--r--tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp2
-rw-r--r--tests/auto/shared/resources/testfont_italic.ttfbin0 -> 64136 bytes
-rw-r--r--tests/auto/sql/kernel/qsqldatabase/tst_databases.h14
-rw-r--r--tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp122
-rw-r--r--tests/auto/sql/kernel/qsqlerror/tst_qsqlerror.cpp24
-rw-r--r--tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp44
-rw-r--r--tests/auto/sql/models/models.pro8
-rw-r--r--tests/auto/sql/models/qsqlrelationaldelegate/tst_qsqlrelationaldelegate.cpp3
-rw-r--r--tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp14
-rw-r--r--tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp10
-rw-r--r--tests/auto/testlib/outformat/outformat.pro7
-rw-r--r--tests/auto/testlib/outformat/tst_outformat.cpp71
-rw-r--r--tests/auto/testlib/qabstractitemmodeltester/qabstractitemmodeltester.pro2
-rw-r--r--tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp4
-rw-r--r--tests/auto/testlib/qsignalspy/qsignalspy.pro2
-rw-r--r--tests/auto/testlib/selftests/alive/.gitignore1
-rw-r--r--tests/auto/testlib/selftests/alive/alive.pro8
-rw-r--r--tests/auto/testlib/selftests/alive/qtestalive.cpp147
-rw-r--r--tests/auto/testlib/selftests/assert/assert.pro2
-rw-r--r--tests/auto/testlib/selftests/badxml/badxml.pro2
-rw-r--r--tests/auto/testlib/selftests/benchlibcallgrind/benchlibcallgrind.pro2
-rw-r--r--tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp4
-rw-r--r--tests/auto/testlib/selftests/benchlibcounting/benchlibcounting.pro2
-rw-r--r--tests/auto/testlib/selftests/benchlibeventcounter/benchlibeventcounter.pro2
-rw-r--r--tests/auto/testlib/selftests/benchliboptions/benchliboptions.pro2
-rw-r--r--tests/auto/testlib/selftests/benchlibtickcounter/benchlibtickcounter.pro2
-rw-r--r--tests/auto/testlib/selftests/benchlibwalltime/benchlibwalltime.pro2
-rw-r--r--tests/auto/testlib/selftests/blacklisted/BLACKLIST14
-rw-r--r--tests/auto/testlib/selftests/blacklisted/blacklisted.pro2
-rw-r--r--tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp30
-rw-r--r--tests/auto/testlib/selftests/cmptest/cmptest.pro2
-rw-r--r--tests/auto/testlib/selftests/cmptest/tst_cmptest.cpp2
-rw-r--r--tests/auto/testlib/selftests/commandlinedata/commandlinedata.pro2
-rw-r--r--tests/auto/testlib/selftests/counting/counting.pro2
-rw-r--r--tests/auto/testlib/selftests/crashes/crashes.pro2
-rw-r--r--tests/auto/testlib/selftests/datatable/datatable.pro2
-rw-r--r--tests/auto/testlib/selftests/datetime/datetime.pro2
-rw-r--r--tests/auto/testlib/selftests/deleteLater/deleteLater.pro2
-rw-r--r--tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro2
-rw-r--r--tests/auto/testlib/selftests/differentexec/differentexec.pro2
-rw-r--r--tests/auto/testlib/selftests/exceptionthrow/exceptionthrow.pro2
-rw-r--r--tests/auto/testlib/selftests/expected_benchlibcallgrind.tap15
-rw-r--r--tests/auto/testlib/selftests/expected_benchliboptions.tap27
-rw-r--r--tests/auto/testlib/selftests/expected_blacklisted.lightxml8
-rw-r--r--tests/auto/testlib/selftests/expected_blacklisted.tap44
-rw-r--r--tests/auto/testlib/selftests/expected_blacklisted.teamcity3
-rw-r--r--tests/auto/testlib/selftests/expected_blacklisted.txt6
-rw-r--r--tests/auto/testlib/selftests/expected_blacklisted.xml8
-rw-r--r--tests/auto/testlib/selftests/expected_blacklisted.xunitxml11
-rw-r--r--tests/auto/testlib/selftests/expected_crashes_5.txt5
-rw-r--r--tests/auto/testlib/selftests/expected_differentexec.tap21
-rw-r--r--tests/auto/testlib/selftests/expected_faildatatype.lightxml22
-rw-r--r--tests/auto/testlib/selftests/expected_faildatatype.tap16
-rw-r--r--tests/auto/testlib/selftests/expected_faildatatype.teamcity8
-rw-r--r--tests/auto/testlib/selftests/expected_faildatatype.txt9
-rw-r--r--tests/auto/testlib/selftests/expected_faildatatype.xml25
-rw-r--r--tests/auto/testlib/selftests/expected_faildatatype.xunitxml18
-rw-r--r--tests/auto/testlib/selftests/expected_failfetchtype.lightxml21
-rw-r--r--tests/auto/testlib/selftests/expected_failfetchtype.tap15
-rw-r--r--tests/auto/testlib/selftests/expected_failfetchtype.teamcity8
-rw-r--r--tests/auto/testlib/selftests/expected_failfetchtype.txt8
-rw-r--r--tests/auto/testlib/selftests/expected_failfetchtype.xml24
-rw-r--r--tests/auto/testlib/selftests/expected_failfetchtype.xunitxml16
-rw-r--r--tests/auto/testlib/selftests/expected_float.lightxml428
-rw-r--r--tests/auto/testlib/selftests/expected_float.tap816
-rw-r--r--tests/auto/testlib/selftests/expected_float.teamcity224
-rw-r--r--tests/auto/testlib/selftests/expected_float.txt272
-rw-r--r--tests/auto/testlib/selftests/expected_float.xml428
-rw-r--r--tests/auto/testlib/selftests/expected_float.xunitxml196
-rw-r--r--tests/auto/testlib/selftests/expected_globaldata.lightxml155
-rw-r--r--tests/auto/testlib/selftests/expected_globaldata.tap77
-rw-r--r--tests/auto/testlib/selftests/expected_globaldata.teamcity47
-rw-r--r--tests/auto/testlib/selftests/expected_globaldata.txt94
-rw-r--r--tests/auto/testlib/selftests/expected_globaldata.xml155
-rw-r--r--tests/auto/testlib/selftests/expected_globaldata.xunitxml128
-rw-r--r--tests/auto/testlib/selftests/expected_multiexec.tap45
-rw-r--r--tests/auto/testlib/selftests/expected_qexecstringlist.tap54
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.lightxml578
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.tap151
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.teamcity61
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.txt149
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.xml581
-rw-r--r--tests/auto/testlib/selftests/expected_signaldumper.xunitxml284
-rw-r--r--tests/auto/testlib/selftests/expected_silent.tap42
-rw-r--r--tests/auto/testlib/selftests/expected_testlib.lightxml45
-rw-r--r--tests/auto/testlib/selftests/expected_testlib.tap22
-rw-r--r--tests/auto/testlib/selftests/expected_testlib.teamcity23
-rw-r--r--tests/auto/testlib/selftests/expected_testlib.txt15
-rw-r--r--tests/auto/testlib/selftests/expected_testlib.xml48
-rw-r--r--tests/auto/testlib/selftests/expected_testlib.xunitxml16
-rw-r--r--tests/auto/testlib/selftests/expected_tuplediagnostics.lightxml4
-rw-r--r--tests/auto/testlib/selftests/expected_tuplediagnostics.tap8
-rw-r--r--tests/auto/testlib/selftests/expected_tuplediagnostics.teamcity4
-rw-r--r--tests/auto/testlib/selftests/expected_tuplediagnostics.txt4
-rw-r--r--tests/auto/testlib/selftests/expected_tuplediagnostics.xml4
-rw-r--r--tests/auto/testlib/selftests/expected_watchdog.lightxml19
-rw-r--r--tests/auto/testlib/selftests/expected_watchdog.tap15
-rw-r--r--tests/auto/testlib/selftests/expected_watchdog.teamcity8
-rw-r--r--tests/auto/testlib/selftests/expected_watchdog.txt8
-rw-r--r--tests/auto/testlib/selftests/expected_watchdog.xml22
-rw-r--r--tests/auto/testlib/selftests/expected_watchdog.xunitxml16
-rw-r--r--tests/auto/testlib/selftests/expectfail/expectfail.pro2
-rw-r--r--tests/auto/testlib/selftests/failcleanup/failcleanup.pro2
-rw-r--r--tests/auto/testlib/selftests/faildatatype/BLACKLIST4
-rw-r--r--tests/auto/testlib/selftests/faildatatype/faildatatype.pro9
-rw-r--r--tests/auto/testlib/selftests/faildatatype/tst_faildatatype.cpp57
-rw-r--r--tests/auto/testlib/selftests/failfetchtype/BLACKLIST4
-rw-r--r--tests/auto/testlib/selftests/failfetchtype/failfetchtype.pro9
-rw-r--r--tests/auto/testlib/selftests/failfetchtype/tst_failfetchtype.cpp55
-rw-r--r--tests/auto/testlib/selftests/failinit/failinit.pro2
-rw-r--r--tests/auto/testlib/selftests/failinitdata/failinitdata.pro2
-rw-r--r--tests/auto/testlib/selftests/fetchbogus/fetchbogus.pro2
-rw-r--r--tests/auto/testlib/selftests/findtestdata/findtestdata.pro2
-rw-r--r--tests/auto/testlib/selftests/float/float.pro2
-rw-r--r--tests/auto/testlib/selftests/float/tst_float.cpp148
-rwxr-xr-xtests/auto/testlib/selftests/generate_expected_output.py90
-rw-r--r--tests/auto/testlib/selftests/globaldata/globaldata.pro2
-rw-r--r--tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp44
-rw-r--r--tests/auto/testlib/selftests/keyboard/keyboard.pro2
-rw-r--r--tests/auto/testlib/selftests/longstring/longstring.pro2
-rw-r--r--tests/auto/testlib/selftests/maxwarnings/maxwarnings.pro2
-rw-r--r--tests/auto/testlib/selftests/mouse/mouse.pro2
-rw-r--r--tests/auto/testlib/selftests/multiexec/multiexec.pro2
-rw-r--r--tests/auto/testlib/selftests/pairdiagnostics/pairdiagnostics.pro2
-rw-r--r--tests/auto/testlib/selftests/printdatatags/printdatatags.pro2
-rw-r--r--tests/auto/testlib/selftests/printdatatagswithglobaltags/printdatatagswithglobaltags.pro2
-rw-r--r--tests/auto/testlib/selftests/qexecstringlist/qexecstringlist.pro2
-rw-r--r--tests/auto/testlib/selftests/selftests.pri12
-rw-r--r--tests/auto/testlib/selftests/signaldumper/signaldumper.pro9
-rw-r--r--tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp417
-rw-r--r--tests/auto/testlib/selftests/silent/silent.pro2
-rw-r--r--tests/auto/testlib/selftests/silent/tst_silent.cpp21
-rw-r--r--tests/auto/testlib/selftests/singleskip/singleskip.pro2
-rw-r--r--tests/auto/testlib/selftests/skip/skip.pro2
-rw-r--r--tests/auto/testlib/selftests/skipcleanup/skipcleanup.pro2
-rw-r--r--tests/auto/testlib/selftests/skipinit/skipinit.pro2
-rw-r--r--tests/auto/testlib/selftests/skipinitdata/skipinitdata.pro2
-rw-r--r--tests/auto/testlib/selftests/sleep/sleep.pro2
-rw-r--r--tests/auto/testlib/selftests/strcmp/strcmp.pro2
-rw-r--r--tests/auto/testlib/selftests/subtest/subtest.pro2
-rw-r--r--tests/auto/testlib/selftests/test/BLACKLIST3
-rw-r--r--tests/auto/testlib/selftests/test/test.pro1
-rw-r--r--tests/auto/testlib/selftests/testlib/testlib.pro9
-rw-r--r--tests/auto/testlib/selftests/testlib/tst_testlib.cpp97
-rw-r--r--tests/auto/testlib/selftests/tst_selftests.cpp81
-rw-r--r--tests/auto/testlib/selftests/tuplediagnostics/tuplediagnostics.pro2
-rw-r--r--tests/auto/testlib/selftests/verbose1/verbose1.pro2
-rw-r--r--tests/auto/testlib/selftests/verbose2/verbose2.pro2
-rw-r--r--tests/auto/testlib/selftests/verifyexceptionthrown/verifyexceptionthrown.pro2
-rw-r--r--tests/auto/testlib/selftests/warnings/warnings.pro2
-rw-r--r--tests/auto/testlib/selftests/watchdog/tst_watchdog.cpp (renamed from tests/auto/testlib/selftests/alive/tst_alive.cpp)59
-rw-r--r--tests/auto/testlib/selftests/watchdog/watchdog.pro14
-rw-r--r--tests/auto/testlib/selftests/xunit/xunit.pro2
-rw-r--r--tests/auto/testlib/testlib.pro7
-rw-r--r--tests/auto/testserver.pri124
-rw-r--r--tests/auto/tools/moc/cxx-attributes.h103
-rw-r--r--tests/auto/tools/moc/cxx11-enums.h27
-rw-r--r--tests/auto/tools/moc/moc.pro3
-rw-r--r--tests/auto/tools/moc/parse-defines.h11
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp53
-rw-r--r--tests/auto/tools/qmake/testcompiler.cpp12
-rw-r--r--tests/auto/tools/qmake/testcompiler.h8
-rw-r--r--tests/auto/tools/qmake/testdata/simple_app/simple_app.pro5
-rw-r--r--tests/auto/tools/qmake/testdata/subdirs/simple_dll/simple_dll.pro1
-rw-r--r--tests/auto/tools/qmake/tst_qmake.cpp128
-rw-r--r--tests/auto/tools/qmakelib/qmakelib.pro2
-rw-r--r--tests/auto/tools/rcc/data/images/images.expected7
-rw-r--r--tests/auto/tools/rcc/data/sizes/size-0.expected7
-rw-r--r--tests/auto/tools/rcc/data/sizes/size-1.expected7
-rw-r--r--tests/auto/tools/rcc/data/sizes/size-2-0-35-1.expected7
-rw-r--r--tests/auto/tools/rcc/data/sizes/size-2-0-35-1_python.expected68
-rw-r--r--tests/auto/tools/rcc/tst_rcc.cpp234
-rw-r--r--tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/Main_Window.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/Widget.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/addlinkdialog.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/addtorrentform.ui.h36
-rw-r--r--tests/auto/tools/uic/baseline/authenticationdialog.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/backside.ui.h40
-rw-r--r--tests/auto/tools/uic/baseline/batchtranslation.ui.h26
-rw-r--r--tests/auto/tools/uic/baseline/bookmarkdialog.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/bookwindow.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/browserwidget.ui.h36
-rw-r--r--tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/buttongroup.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/calculator.ui.h58
-rw-r--r--tests/auto/tools/uic/baseline/calculatorform.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/certificateinfo.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/chatdialog.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/chatmainwindow.ui.h52
-rw-r--r--tests/auto/tools/uic/baseline/chatsetnickname.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/config.ui.h78
-rw-r--r--tests/auto/tools/uic/baseline/connectdialog.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/controller.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/cookies.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/cookiesexceptions.ui.h20
-rw-r--r--tests/auto/tools/uic/baseline/default.ui.h146
-rw-r--r--tests/auto/tools/uic/baseline/dialog.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/downloaditem.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/downloads.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/embeddeddialog.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/enumnostdset.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/filespage.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/filternamedialog.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/filterpage.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/finddialog.ui.h74
-rw-r--r--tests/auto/tools/uic/baseline/form.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/formwindowsettings.ui.h28
-rw-r--r--tests/auto/tools/uic/baseline/generalpage.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/gridalignment.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/gridpanel.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/helpdialog.ui3
-rw-r--r--tests/auto/tools/uic/baseline/helpdialog.ui.h147
-rw-r--r--tests/auto/tools/uic/baseline/history.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/icontheme.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/idbased.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/identifierpage.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/imagedialog.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/inputpage.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/installdialog.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/languagesdialog.ui.h42
-rw-r--r--tests/auto/tools/uic/baseline/listwidgeteditor.ui.h46
-rw-r--r--tests/auto/tools/uic/baseline/mainwindow.ui.h50
-rw-r--r--tests/auto/tools/uic/baseline/mydialog.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/myform.ui.h24
-rw-r--r--tests/auto/tools/uic/baseline/newactiondialog.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/newform.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/orderdialog.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/outputpage.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/pagefold.ui.h146
-rw-r--r--tests/auto/tools/uic/baseline/paletteeditor.ui.h26
-rw-r--r--tests/auto/tools/uic/baseline/passworddialog.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/pathpage.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/phrasebookbox.ui.h70
-rw-r--r--tests/auto/tools/uic/baseline/pixmapfunction.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/plugindialog.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/preferencesdialog.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/previewdialogbase.ui.h20
-rw-r--r--tests/auto/tools/uic/baseline/previewwidget.ui.h28
-rw-r--r--tests/auto/tools/uic/baseline/proxy.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/qfiledialog.ui.h42
-rw-r--r--tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h82
-rw-r--r--tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h44
-rw-r--r--tests/auto/tools/uic/baseline/qprintwidget.ui.h24
-rw-r--r--tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h30
-rw-r--r--tests/auto/tools/uic/baseline/qtgradientdialog.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/qtgradienteditor.ui.h224
-rw-r--r--tests/auto/tools/uic/baseline/qtgradientview.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h40
-rw-r--r--tests/auto/tools/uic/baseline/qttoolbardialog.ui.h68
-rw-r--r--tests/auto/tools/uic/baseline/querywidget.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/remotecontrol.ui.h28
-rw-r--r--tests/auto/tools/uic/baseline/saveformastemplate.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/settings.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/signalslotdialog.ui.h40
-rw-r--r--tests/auto/tools/uic/baseline/sslclient.ui.h24
-rw-r--r--tests/auto/tools/uic/baseline/sslerrors.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/statistics.ui.h28
-rw-r--r--tests/auto/tools/uic/baseline/stringlisteditor.ui.h44
-rw-r--r--tests/auto/tools/uic/baseline/stylesheeteditor.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/tabbedbrowser.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h98
-rw-r--r--tests/auto/tools/uic/baseline/tetrixwindow.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/textfinder.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/topicchooser.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/translatedialog.ui.h62
-rw-r--r--tests/auto/tools/uic/baseline/translationsettings.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/treewidgeteditor.ui.h114
-rw-r--r--tests/auto/tools/uic/baseline/trpreviewtool.ui.h36
-rw-r--r--tests/auto/tools/uic/baseline/validators.ui.h30
-rw-r--r--tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h52
-rw-r--r--tests/auto/tools/uic/tst_uic.cpp38
-rw-r--r--tests/auto/widgets/dialogs/qcolordialog/tst_qcolordialog.cpp8
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp40
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp13
-rw-r--r--tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST11
-rw-r--r--tests/auto/widgets/dialogs/qfilesystemmodel/CMakeLists.txt30
-rw-r--r--tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro5
-rw-r--r--tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp83
-rw-r--r--tests/auto/widgets/dialogs/qmessagebox/tst_qmessagebox.cpp302
-rw-r--r--tests/auto/widgets/dialogs/qprogressdialog/tst_qprogressdialog.cpp4
-rw-r--r--tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp1
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp1
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/BLACKLIST3
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp193
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp6
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp15
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST4
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp113
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp3
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp5
-rw-r--r--tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp68
-rw-r--r--tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST4
-rw-r--r--tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp34
-rw-r--r--tests/auto/widgets/itemviews/qitemview/tst_qitemview.cpp2
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp71
-rw-r--r--tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp37
-rw-r--r--tests/auto/widgets/itemviews/qtableview/BLACKLIST2
-rw-r--r--tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp42
-rw-r--r--tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp57
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp205
-rw-r--r--tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp167
-rw-r--r--tests/auto/widgets/itemviews/qtreewidgetitemiterator/tst_qtreewidgetitemiterator.cpp16
-rw-r--r--tests/auto/widgets/kernel/kernel.pro2
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp6
-rw-r--r--tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp64
-rw-r--r--tests/auto/widgets/kernel/qdesktopwidget/tst_qdesktopwidget.cpp5
-rw-r--r--tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp8
-rw-r--r--tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp7
-rw-r--r--tests/auto/widgets/kernel/qwidget/BLACKLIST2
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp39
-rw-r--r--tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp111
-rw-r--r--tests/auto/widgets/styles/qstyle/tst_qstyle.cpp2
-rw-r--r--tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp7
-rw-r--r--tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp27
-rw-r--r--tests/auto/widgets/util/qscroller/tst_qscroller.cpp47
-rw-r--r--tests/auto/widgets/widgets/qabstractslider/tst_qabstractslider.cpp1129
-rw-r--r--tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp12
-rw-r--r--tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp36
-rw-r--r--tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp48
-rw-r--r--tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp12
-rw-r--r--tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp39
-rw-r--r--tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp13
-rw-r--r--tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp2
-rw-r--r--tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp26
-rw-r--r--tests/auto/widgets/widgets/qmenu/BLACKLIST1
-rw-r--r--tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp27
-rw-r--r--tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp2
-rw-r--r--tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp12
-rw-r--r--tests/auto/widgets/widgets/qsizegrip/tst_qsizegrip.cpp59
-rw-r--r--tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp28
-rw-r--r--tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp12
-rw-r--r--tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp79
-rw-r--r--tests/baselineserver/shared/baselineprotocol.cpp2
-rw-r--r--tests/baselineserver/src/baselineserver.pro3
-rw-r--r--tests/baselineserver/src/report.cpp1
-rw-r--r--tests/benchmarks/benchmarks.pro5
-rw-r--r--tests/benchmarks/corelib/io/qfileinfo/main.cpp4
-rw-r--r--tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro4
-rw-r--r--tests/benchmarks/corelib/io/qtextstream/qtextstream.pro2
-rw-r--r--tests/benchmarks/corelib/kernel/kernel.pro3
-rw-r--r--tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp88
-rw-r--r--tests/benchmarks/corelib/tools/qcryptographichash/qcryptographichash.pro4
-rw-r--r--tests/benchmarks/corelib/tools/qdatetime/main.cpp5
-rw-r--r--tests/benchmarks/corelib/tools/qmap/qmap.pro2
-rw-r--r--tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp14
-rw-r--r--tests/benchmarks/testlib/testlib.pro3
-rw-r--r--tests/benchmarks/testlib/tostring/tostring.pro4
-rw-r--r--tests/benchmarks/testlib/tostring/tst_tostring.cpp103
-rw-r--r--tests/libfuzzer/README39
-rw-r--r--tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/main.cpp36
-rw-r--r--tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro5
-rw-r--r--tests/libfuzzer/gui/text/qtextdocument/setHtml/main.cpp37
-rw-r--r--tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro3
-rw-r--r--tests/manual/cocoa/noclickthrough/main.cpp48
-rw-r--r--tests/manual/cocoa/noclickthrough/noclickthrough.pro4
-rw-r--r--tests/manual/dialogs/filedialogpanel.cpp15
-rw-r--r--tests/manual/dialogs/main.cpp17
-rw-r--r--tests/manual/dialogs/printdialogpanel.cpp12
-rw-r--r--tests/manual/embeddedintoforeignwindow/embeddedintoforeignwindow.pro3
-rw-r--r--tests/manual/filetest/filetest.pro3
-rw-r--r--tests/manual/foreignwindows/foreignwindows.pro3
-rw-r--r--tests/manual/foreignwindows/main.cpp11
-rw-r--r--tests/manual/gestures/graphicsview/gestures.cpp2
-rw-r--r--tests/manual/highdpi/highdpi.pro3
-rw-r--r--tests/manual/lance/lance.pro3
-rw-r--r--tests/manual/qcursor/grab_override/mainwindow.cpp4
-rw-r--r--tests/manual/qdesktopservices/qdesktopservices.pro3
-rw-r--r--tests/manual/qgraphicsitemgroup/widget.cpp2
-rw-r--r--tests/manual/qmimedatabase/qmimedatabase.pro3
-rw-r--r--tests/manual/qsslsocket/main.cpp12
-rw-r--r--tests/manual/qstorageinfo/qstorageinfo.pro3
-rw-r--r--tests/manual/qsysinfo/main.cpp22
-rw-r--r--tests/manual/qsysinfo/qsysinfo.pro3
-rw-r--r--tests/manual/qtabletevent/regular_widgets/main.cpp2
-rw-r--r--tests/manual/textrendering/nativetext/main.cpp320
-rw-r--r--tests/manual/textrendering/nativetext/nativetext.pro7
-rw-r--r--tests/manual/textrendering/textrendering.pro3
-rw-r--r--tests/manual/widgets/styles/styles.pro3
-rw-r--r--tests/manual/widgets/widgets/qmainwindow/saveStateSize/main.cpp111
-rw-r--r--tests/manual/widgets/widgets/qmainwindow/saveStateSize/saveStateSize.pro4
-rw-r--r--tests/manual/widgets/widgets/widgets.pro5
-rw-r--r--tests/testserver/apache2/.gitattributes2
-rwxr-xr-xtests/testserver/apache2/apache2.sh3
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol-expire.cgi7
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol.cgi13
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol200.cgi9
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag200.cgi5
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag304.cgi11
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires200.cgi5
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires304.cgi11
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified200.cgi5
-rwxr-xr-xtests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified304.cgi11
-rw-r--r--tests/testserver/apache2/testdata/www/htdocs/rfcs/.gitattributes1
-rw-r--r--tests/testserver/apache2/testdata/www/htdocs/rfcs/rfc2616.html8380
-rw-r--r--tests/testserver/common/.gitattributes2
-rwxr-xr-xtests/testserver/common/ssl.sh3
-rwxr-xr-xtests/testserver/common/startup.sh4
-rw-r--r--tests/testserver/common/testdata/ssl/qt-test-server-host-network-cacert.pem16
-rwxr-xr-xtests/testserver/cyrus/cyrus.sh40
-rw-r--r--tests/testserver/danted/.gitattributes2
-rw-r--r--tests/testserver/docker-compose-for-macOS.yml52
-rw-r--r--tests/testserver/docker-compose-for-windows.yml100
-rw-r--r--tests/testserver/docker-compose.yml76
-rwxr-xr-xtests/testserver/echo/echo.sh7
-rw-r--r--tests/testserver/ftp-proxy/.gitattributes2
-rwxr-xr-xtests/testserver/iptables/iptables.sh34
-rw-r--r--tests/testserver/squid/.gitattributes2
-rw-r--r--tests/testserver/vsftpd/.gitattributes2
-rwxr-xr-xtests/testserver/vsftpd/vsftpd.sh7
719 files changed, 129541 insertions, 4976 deletions
diff --git a/tests/auto/bic/data/QtConcurrent.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtConcurrent.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..5648f523fe
--- /dev/null
+++ b/tests/auto/bic/data/QtConcurrent.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,4659 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f0f8cb872a0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f0f8cbcda20) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f0f8cbcdc60) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f0f8cbcdea0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f0f8a778120) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f0f8a7782a0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f0f8a778660) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f0f8a801de0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f0f8a801ea0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f0f8a833240) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f0f8a833300) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f0f8a8333c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f0f8a833480) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f0f8a833720) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f0f8a833900) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f0f8a833d80) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f0f8a833de0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f0f8a8eea80) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f0f8a8eeae0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f0f8a7d5c30) 0 empty
+ std::input_iterator_tag (0x0x7f0f8a8eeb40) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f0f8a7d5c98) 0 empty
+ std::forward_iterator_tag (0x0x7f0f8a7d5d00) 0 empty
+ std::input_iterator_tag (0x0x7f0f8a8eeba0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f0f8a7d5d68) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f0f8a7d5dd0) 0 empty
+ std::forward_iterator_tag (0x0x7f0f8a7d5e38) 0 empty
+ std::input_iterator_tag (0x0x7f0f8a8eec00) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f0f8a92d8a0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f0f8a92d900) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f0f8a92d960) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f0f8a92d9c0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f0f8a92da20) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7f0f8a60d540) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f0f8a60d780) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f0f8a60d840) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f0f8a60d8a0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f0f8a60d960) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f0f8a60d9c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f0f8a60de40) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f0f8a60dea0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f0f8a60df00) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f0f8a92e3a8) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7f0f8a60df60) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f0f8a92e3a8)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f0f8a754000) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f0f8a754060) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f0f8a92e5b0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7f0f8a754480) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f0f8a92e5b0)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f0f8a92e618) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7f0f8a92e680) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f0f8a92e618)
+ std::exception (0x0x7f0f8a7544e0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f0f8a92e680)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f0f8a754540) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7f0f8a421180) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f0f8a421e40) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f0f8a421ea0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f0f8a273d80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7f0f8a273de0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f0f8a273ea0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f0f8a273f00) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f0f8a273f60) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f0f8a30c000) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f0f8a30c120) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f0f8a30c180) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f0f8a30c5a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f0f8a30c600) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f0f8a13fde0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f0f8a13fe40) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f0f89e0cde0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f0f89bb0c00) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f0f89ba8270) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f0f89bb0cc0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f0f89ba82d8) 0
+ std::_Bit_iterator_base (0x0x7f0f89ba8340) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f0f89bb0d20) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f0f89ba83a8) 0
+ std::_Bit_iterator_base (0x0x7f0f89ba8410) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f0f89bb0d80) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f0f899a8ba0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f0f89adb960) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f0f89adb900) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f0f89871900) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f0f884af420) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f0f884af480) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f0f88557f00) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f0f88557f60) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f0f8819f000) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f0f8819f060) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f0f8819f300) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f0f8819f840) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f0f881c82d8) 0
+ std::__atomic_flag_base (0x0x7f0f8819f8a0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f0f881c8a28) 0
+ QAtomicInteger<int> (0x0x7f0f881c8a90) 0
+ QBasicAtomicInteger<int> (0x0x7f0f87dfa000) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f0f87ccc5a0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f0f87a30780) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f0f87a308a0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f0f87d51680) 0
+ QGenericArgument (0x0x7f0f87a30900) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f0f87a30a80) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f0f87a30b40) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f0f87b14ba0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f0f87b14c00) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f0f87b14ea0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f0f87b14f00) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f0f878032a0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f0f87803300) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f0f87803360) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f0f878033c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f0f87803420) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f0f878037e0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f0f877bdc98) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7f0f878038a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f0f877bdc98)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f0f877bdd00) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7f0f877bdd68) 0
+ primary-for std::domain_error (0x0x7f0f877bdd00)
+ std::exception (0x0x7f0f87803900) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f0f877bdd68)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f0f877bddd0) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7f0f877bde38) 0
+ primary-for std::invalid_argument (0x0x7f0f877bddd0)
+ std::exception (0x0x7f0f87803960) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f0f877bde38)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f0f877bdea0) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7f0f877bdf08) 0
+ primary-for std::length_error (0x0x7f0f877bdea0)
+ std::exception (0x0x7f0f878039c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f0f877bdf08)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f0f877bdf70) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7f0f877bd9c0) 0
+ primary-for std::out_of_range (0x0x7f0f877bdf70)
+ std::exception (0x0x7f0f87803a20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f0f877bd9c0)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f0f877bda90) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7f0f87803a80) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f0f877bda90)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f0f878f3000) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7f0f878f3068) 0
+ primary-for std::range_error (0x0x7f0f878f3000)
+ std::exception (0x0x7f0f87803ae0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f0f878f3068)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f0f878f30d0) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7f0f878f3138) 0
+ primary-for std::overflow_error (0x0x7f0f878f30d0)
+ std::exception (0x0x7f0f87803b40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f0f878f3138)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f0f878f31a0) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7f0f878f3208) 0
+ primary-for std::underflow_error (0x0x7f0f878f31a0)
+ std::exception (0x0x7f0f87803ba0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f0f878f3208)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f0f87803d20) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f0f87803f60) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f0f87924120) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f0f878f36e8) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7f0f878f3750) 0
+ primary-for std::system_error (0x0x7f0f878f36e8)
+ std::exception (0x0x7f0f87924360) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f0f878f3750)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f0f87962340) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7f0f879623a8) 0
+ primary-for std::ios_base::failure (0x0x7f0f87962340)
+ std::runtime_error (0x0x7f0f87962410) 0
+ primary-for std::system_error (0x0x7f0f879623a8)
+ std::exception (0x0x7f0f87924660) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f0f87962410)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f0f879246c0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f0f87924720) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f0f87924780) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f0f87924600) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f0f87924f00) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f0f87683600) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f0f871c8f70 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f0f871c8270 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f0f87278000 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f0f872780d0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f0f87420e40) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f0f87420ea0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f0f86f9c240) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f0f86f9c5a0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f0f86f9ca20) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f0f870b98a0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f0f870b9f00) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f0f870b9ea0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f0f86b98000) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f0f86b98c00) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f0f86cf78a0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f0f86cf7900) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f0f86cf7960) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f0f86cf7d20) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f0f86cf7d80) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f0f86cf5c98) 0 empty
+ QListData::NotIndirectLayout (0x0x7f0f86cf7de0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f0f86b4e3f0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f0f86cf7e40) 0 empty
+ QListData::NotIndirectLayout (0x0x7f0f86cf7ea0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f0f86cf5d00) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f0f86cf7f00) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f0f86cf7f60) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f0f86cf7cc0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f0f86b60420) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f0f86901660) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f0f86901600) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f0f86908750) 0
+ QList<QString> (0x0x7f0f869087b8) 0
+ QListSpecialMethods<QString> (0x0x7f0f86901840) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f0f86901c60) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f0f865f2840) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f0f865f2ea0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f0f863c5060) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f0f863c5120) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f0f86908c98) 0
+ std::__uses_alloc_base (0x0x7f0f863c50c0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f0f864b7180) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f0f864b73c0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f0f864b7480) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f0f864b75a0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f0f864b7720) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f0f864b7b40) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f0f864b7c60) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f0f86241600) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f0f86241a20) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f0f86241d20) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f0f8613c720) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f0f85e8c5a0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f0f85e8c600) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f0f85e8c7e0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f0f85e8c780) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f0f85f54a80) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f0f85f54ae0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f0f85f54ba0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f0f85b7f2d8) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7f0f85f54b40) 0
+ primary-for QAbstractAnimation (0x0x7f0f85b7f2d8)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f0f85f54c60) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f0f85b7f340) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7f0f85f54c00) 0
+ primary-for QAnimationDriver (0x0x7f0f85b7f340)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f0f85f54d20) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f0f85b7f3a8) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7f0f85f54cc0) 0
+ primary-for QEventLoop (0x0x7f0f85b7f3a8)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f0f85f54f00) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f0f85c0b000) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f0f85c0b060) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f0f85b7f4e0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7f0f85f54f60) 0
+ primary-for QAbstractEventDispatcher (0x0x7f0f85b7f4e0)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f0f85c0b300) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f0f85b7f6e8) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7f0f85c0b360) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f0f85b7f6e8)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f0f85b7f750) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7f0f85c0b3c0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f0f85b7f750)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f0f85cf29c0) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7f0f859a3480) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f0f85cf29c0)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f0f859a3540) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f0f859a35a0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f0f859a36c0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f0f859a3ba0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f0f85a5c120) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f0f85a5c4e0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f0f85a5c480) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f0f85a5c540) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f0f85a5cde0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f0f85a5cea0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f0f85a5ce40) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f0f85a5cf00) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f0f85a5cd80) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f0f85955a20) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f0f855eb0c0) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f0f855eb060) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f0f855eb180) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f0f855eb120) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f0f8570f480) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f0f8570fb40) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f0f854f42a0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f0f854f2750) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7f0f854f4240) 0
+ primary-for QAbstractItemModel (0x0x7f0f854f2750)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f0f854f4b40) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f0f854f2e38) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7f0f854f2ea0) 0
+ primary-for QAbstractTableModel (0x0x7f0f854f2e38)
+ QObject (0x0x7f0f854f4ae0) 0
+ primary-for QAbstractItemModel (0x0x7f0f854f2ea0)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f0f854f4c00) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f0f854f2f08) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7f0f854f2f70) 0
+ primary-for QAbstractListModel (0x0x7f0f854f2f08)
+ QObject (0x0x7f0f854f4ba0) 0
+ primary-for QAbstractItemModel (0x0x7f0f854f2f70)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f0f854f4ea0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f0f854f4f60) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f0f852020d0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7f0f85202138) 0
+ primary-for QAbstractProxyModel (0x0x7f0f852020d0)
+ QObject (0x0x7f0f854f4f00) 0
+ primary-for QAbstractItemModel (0x0x7f0f85202138)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f0f85250060) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f0f852021a0) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7f0f85250000) 0
+ primary-for QAbstractState (0x0x7f0f852021a0)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f0f85250120) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f0f85202208) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7f0f852500c0) 0
+ primary-for QAbstractTransition (0x0x7f0f85202208)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f0f852501e0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f0f85202270) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7f0f852022d8) 0
+ primary-for QAnimationGroup (0x0x7f0f85202270)
+ QObject (0x0x7f0f85250180) 0
+ primary-for QAbstractAnimation (0x0x7f0f852022d8)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f0f8529ef00) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f0f852e01e0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f0f852e02a0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f0f852e05a0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f0f85202958) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7f0f852e0540) 0
+ primary-for QIODevice (0x0x7f0f85202958)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f0f852e07e0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f0f85202a90) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7f0f85202af8) 0
+ primary-for QBuffer (0x0x7f0f85202a90)
+ QObject (0x0x7f0f852e0780) 0
+ primary-for QIODevice (0x0x7f0f85202af8)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f0f852e08a0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f0f852e0840) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f0f852e09c0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f0f852e0960) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f0f852e0ba0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f0f852e0d80) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f0f85055060) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f0f850557e0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f0f85055840) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f0f85055780) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f0f85114960) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f0f85114f60) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f0f84e32240) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f0f84e32480) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f0f84e32b40) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f0f84e32cc0) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f0f84bb4240) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f0f84bb41e0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f0f84970540) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f0f84970600) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f0f849f4960) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f0f849f4ae0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f0f84a81120) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f0f84a81420) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f0f84a817e0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f0f847c6ea0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f0f848494e0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f0f84849540) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f0f846ab540) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f0f846abae0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f0f846abb40) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f0f846aba80) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f0f843d8ba0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f0f843d8c00) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f0f843d8b40) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f0f8419f780) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f0f8419fb40) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f0f842f4540) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f0f842f4ba0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f0f842f4c60) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f0f83ff6c60) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f0f84036120) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f0f840350d0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7f0f84036180) 0
+ primary-for QTimerEvent (0x0x7f0f840350d0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f0f84035138) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7f0f840361e0) 0
+ primary-for QChildEvent (0x0x7f0f84035138)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f0f84035680) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7f0f840366c0) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f0f84035680)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f0f840356e8) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7f0f84036720) 0
+ primary-for QDeferredDeleteEvent (0x0x7f0f840356e8)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f0f840367e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f0f84035750) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7f0f84036780) 0
+ primary-for QCoreApplication (0x0x7f0f84035750)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f0f84036840) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f0f840368a0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f0f84036900) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f0f840369c0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f0f84036ea0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f0f83d583c0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f0f83e81240) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f0f83e6cbc8) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7f0f83e6cc30) 0
+ primary-for QFileDevice (0x0x7f0f83e6cbc8)
+ QObject (0x0x7f0f83e811e0) 0
+ primary-for QIODevice (0x0x7f0f83e6cc30)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f0f83e81480) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f0f83e6cd68) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7f0f83e6cdd0) 0
+ primary-for QFile (0x0x7f0f83e6cd68)
+ QIODevice (0x0x7f0f83e6ce38) 0
+ primary-for QFileDevice (0x0x7f0f83e6cdd0)
+ QObject (0x0x7f0f83e81420) 0
+ primary-for QIODevice (0x0x7f0f83e6ce38)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f0f83e81660) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f0f83e81a80) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f0f83b9f0c0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f0f83b9f300) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f0f83c82720) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f0f83c7ae38) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7f0f83c7aea0) 0
+ primary-for QEventTransition (0x0x7f0f83c7ae38)
+ QObject (0x0x7f0f83c826c0) 0
+ primary-for QAbstractTransition (0x0x7f0f83c7aea0)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f0f83c7af08) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7f0f83c82780) 0 nearly-empty
+ primary-for QException (0x0x7f0f83c7af08)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f0f83c7af70) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7f0f83cf7000) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f0f83c7af70)
+ std::exception (0x0x7f0f83c827e0) 0 nearly-empty
+ primary-for QException (0x0x7f0f83cf7000)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f0f83c82840) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f0f83c82900) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f0f83c82960) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f0f83c82a80) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f0f83cf7068) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7f0f83c82a20) 0
+ primary-for QFileSelector (0x0x7f0f83cf7068)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f0f83c82b40) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f0f83cf70d0) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7f0f83c82ae0) 0
+ primary-for QFileSystemWatcher (0x0x7f0f83cf70d0)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f0f83c82c00) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f0f83cf7138) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7f0f83cf71a0) 0
+ primary-for QFinalState (0x0x7f0f83cf7138)
+ QObject (0x0x7f0f83c82ba0) 0
+ primary-for QAbstractState (0x0x7f0f83cf71a0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f0f83c82c60) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f0f83c82cc0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f0f83cf72d8) 0
+ QBasicMutex (0x0x7f0f83c82ea0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f0f83c82f00) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f0f83c82f60) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f0f839e3000) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f0f839e3120) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f0f839e3960) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f0f83ab6180) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f0f83ab0410) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7f0f83ab6120) 0
+ primary-for QFutureWatcherBase (0x0x7f0f83ab0410)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f0f83ab6780) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f0f83ab0d00) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7f0f83ab0d68) 0
+ primary-for QHistoryState (0x0x7f0f83ab0d00)
+ QObject (0x0x7f0f83ab6720) 0
+ primary-for QAbstractState (0x0x7f0f83ab0d68)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f0f83ab6840) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f0f83ab0dd0) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f0f83ab0e38) 0
+ primary-for QIdentityProxyModel (0x0x7f0f83ab0dd0)
+ QAbstractItemModel (0x0x7f0f83ab0ea0) 0
+ primary-for QAbstractProxyModel (0x0x7f0f83ab0e38)
+ QObject (0x0x7f0f83ab67e0) 0
+ primary-for QAbstractItemModel (0x0x7f0f83ab0ea0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f0f83ab68a0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f0f83ab6f60) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f0f8375b6e8) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7f0f83ab6f00) 0
+ primary-for QItemSelectionModel (0x0x7f0f8375b6e8)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f0f8375b8f0) 0
+ QList<QItemSelectionRange> (0x0x7f0f8375b958) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f0f837b12a0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f0f837b1780) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f0f8356cea0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f0f835e4420) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f0f835e4480) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f0f835e4660) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f0f835e46c0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f0f835e4600) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f0f836a9900) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f0f836a9960) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f0f83735000) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f0f83735060) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f0f836a9f60) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f0f833d9300) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f0f833cec98) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7f0f833d92a0) 0
+ primary-for QLibrary (0x0x7f0f833cec98)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f0f833d99c0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f0f833d94e0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f0f833d9ea0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f0f833d9f00) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f0f834ec1e0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f0f834ec7e0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f0f8317b180) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f0f8317b780) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f0f8317bae0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f0f8317bc60) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f0f8317bc00) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f0f8317bde0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f0f832ff0c0) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f0f832ff720) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f0f832ff780) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f0f832ffd80) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f0f82ee80c0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f0f82ee8120) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f0f82ee8420) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f0f82e46f08) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7f0f82ee83c0) 0
+ primary-for QMimeData (0x0x7f0f82e46f08)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f0f82ee8480) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f0f82ee8780) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f0f82ee8840) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f0f82f30138) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7f0f82ee87e0) 0
+ primary-for QObjectCleanupHandler (0x0x7f0f82f30138)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f0f82ee88a0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f0f82f7d060) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f0f82f30888) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f0f82f308f0) 0
+ primary-for QParallelAnimationGroup (0x0x7f0f82f30888)
+ QAbstractAnimation (0x0x7f0f82f30958) 0
+ primary-for QAnimationGroup (0x0x7f0f82f308f0)
+ QObject (0x0x7f0f82f7d000) 0
+ primary-for QAbstractAnimation (0x0x7f0f82f30958)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f0f82f7d120) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f0f82f309c0) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7f0f82f30a28) 0
+ primary-for QPauseAnimation (0x0x7f0f82f309c0)
+ QObject (0x0x7f0f82f7d0c0) 0
+ primary-for QAbstractAnimation (0x0x7f0f82f30a28)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f0f82f7d300) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f0f82f7d600) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f0f82f30c30) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7f0f82f7d5a0) 0
+ primary-for QPluginLoader (0x0x7f0f82f30c30)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f0f82f7d660) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f0f82f7dd20) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f0f82fe5270) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7f0f82fe52d8) 0
+ primary-for QProcess (0x0x7f0f82fe5270)
+ QObject (0x0x7f0f82f7dcc0) 0
+ primary-for QIODevice (0x0x7f0f82fe52d8)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f0f82f7dde0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f0f82fe5340) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7f0f82fe53a8) 0
+ primary-for QVariantAnimation (0x0x7f0f82fe5340)
+ QObject (0x0x7f0f82f7dd80) 0
+ primary-for QAbstractAnimation (0x0x7f0f82fe53a8)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f0f82f7dea0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f0f82fe5478) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7f0f82fe54e0) 0
+ primary-for QPropertyAnimation (0x0x7f0f82fe5478)
+ QAbstractAnimation (0x0x7f0f82fe5548) 0
+ primary-for QVariantAnimation (0x0x7f0f82fe54e0)
+ QObject (0x0x7f0f82f7de40) 0
+ primary-for QAbstractAnimation (0x0x7f0f82fe5548)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f0f82c67000) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f0f82f7df60) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f0f82cca820) 0
+ QRandomGenerator (0x0x7f0f82caff60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f0f82d0d060) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f0f82d0d300) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f0f82d0d3c0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f0f82d0d480) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f0f82d0d720) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f0f82d0d9c0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f0f82d0dc60) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f0f82d0df00) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f0f82b530c0) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f0f82e1a3a8) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7f0f82e1a410) 0
+ primary-for QSaveFile (0x0x7f0f82e1a3a8)
+ QIODevice (0x0x7f0f82e1a478) 0
+ primary-for QFileDevice (0x0x7f0f82e1a410)
+ QObject (0x0x7f0f82b53060) 0
+ primary-for QIODevice (0x0x7f0f82e1a478)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f0f82b531e0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f0f82b53360) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f0f82896960) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f0f82894d00) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f0f82894d68) 0
+ primary-for QSequentialAnimationGroup (0x0x7f0f82894d00)
+ QAbstractAnimation (0x0x7f0f82894dd0) 0
+ primary-for QAnimationGroup (0x0x7f0f82894d68)
+ QObject (0x0x7f0f82896900) 0
+ primary-for QAbstractAnimation (0x0x7f0f82894dd0)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f0f82896a20) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f0f82894e38) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7f0f828969c0) 0
+ primary-for QSettings (0x0x7f0f82894e38)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f0f82896ae0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f0f82894ea0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7f0f82896a80) 0
+ primary-for QSharedMemory (0x0x7f0f82894ea0)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f0f82896ba0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f0f82894f08) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7f0f82896b40) 0
+ primary-for QSignalMapper (0x0x7f0f82894f08)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f0f82896c60) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f0f82894f70) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7f0f82900000) 0
+ primary-for QSignalTransition (0x0x7f0f82894f70)
+ QObject (0x0x7f0f82896c00) 0
+ primary-for QAbstractTransition (0x0x7f0f82900000)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f0f82896d20) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f0f82900068) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7f0f82896cc0) 0
+ primary-for QSocketNotifier (0x0x7f0f82900068)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f0f82896de0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f0f829000d0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f0f82900138) 0
+ primary-for QSortFilterProxyModel (0x0x7f0f829000d0)
+ QAbstractItemModel (0x0x7f0f829001a0) 0
+ primary-for QAbstractProxyModel (0x0x7f0f82900138)
+ QObject (0x0x7f0f82896d80) 0
+ primary-for QAbstractItemModel (0x0x7f0f829001a0)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f0f82896ea0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f0f82961120) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f0f82900340) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7f0f829003a8) 0
+ primary-for QState (0x0x7f0f82900340)
+ QObject (0x0x7f0f829610c0) 0
+ primary-for QAbstractState (0x0x7f0f829003a8)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f0f82961240) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f0f82900548) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7f0f829612a0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f0f82900548)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f0f829005b0) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7f0f82961300) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f0f829005b0)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f0f82900410) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7f0f82900478) 0
+ primary-for QStateMachine (0x0x7f0f82900410)
+ QAbstractState (0x0x7f0f829004e0) 0
+ primary-for QState (0x0x7f0f82900478)
+ QObject (0x0x7f0f829611e0) 0
+ primary-for QAbstractState (0x0x7f0f829004e0)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f0f82961360) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f0f82a0d2a0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f0f8269b660) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f0f826a15b0) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7f0f826a1618) 0
+ primary-for QStringListModel (0x0x7f0f826a15b0)
+ QAbstractItemModel (0x0x7f0f826a1680) 0
+ primary-for QAbstractListModel (0x0x7f0f826a1618)
+ QObject (0x0x7f0f8269b600) 0
+ primary-for QAbstractItemModel (0x0x7f0f826a1680)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f0f8269b6c0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f0f8269b780) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f0f8269b8a0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f0f826a16e8) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7f0f826a1750) 0
+ primary-for QTemporaryFile (0x0x7f0f826a16e8)
+ QFileDevice (0x0x7f0f826a17b8) 0
+ primary-for QFile (0x0x7f0f826a1750)
+ QIODevice (0x0x7f0f826a1820) 0
+ primary-for QFileDevice (0x0x7f0f826a17b8)
+ QObject (0x0x7f0f8269b840) 0
+ primary-for QIODevice (0x0x7f0f826a1820)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f0f8269b900) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f0f8269bb40) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f0f8269bae0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f0f8269bd20) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f0f8269bd80) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f0f8269bde0) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f0f8269be40) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f0f826a1a28) 0
+ std::__mutex_base (0x0x7f0f8269bea0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f0f826a1a90) 0
+ std::__recursive_mutex_base (0x0x7f0f8269bf00) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f0f827a34d0) 0
+ std::__mutex_base (0x0x7f0f827ab060) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f0f827ab0c0) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f0f827a3e70) 0
+ std::__recursive_mutex_base (0x0x7f0f827ab180) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f0f827ab1e0) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f0f827ab240) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f0f827ab2a0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f0f827ab300) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f0f827ab540) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f0f826a1bc8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7f0f827ab600) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f0f826a1bc8)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f0f826a1c30) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7f0f827ab6c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f0f826a1c30)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f0f826a1c98) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7f0f827ab780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f0f826a1c98)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f0f826a1d68) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7f0f827ab840) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f0f826a1d68)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f0f827ab900) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f0f827ab960) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f0f827ab9c0) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f0f827aba20) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f0f826a1ea0) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7f0f827abd80) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f0f826a1ea0)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f0f824fd600) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f0f824fdde0) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f0f8228f000) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7f0f8228f060) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f0f824fdf60) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f0f823c6c60) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f0f823c6d20) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f0f823c6d80) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f0f82094420) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f0f820973a8) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7f0f82097410) 0
+ primary-for std::future_error (0x0x7f0f820973a8)
+ std::exception (0x0x7f0f82094540) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f0f82097410)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f0f82094660) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f0f82094600) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f0f821f0ba0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f0f821f29c0) 0
+ std::__at_thread_exit_elt (0x0x7f0f821f0c60) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f0f820947e0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f0f820945a0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f0f81b6c5b0) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7f0f81b62b40) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f0f81b6c5b0)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f0f81bca2a0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f0f81bf0068) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7f0f81bca240) 0
+ primary-for QThread (0x0x7f0f81bf0068)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f0f81bca3c0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f0f81bf00d0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7f0f81bca360) 0
+ primary-for QThreadPool (0x0x7f0f81bf00d0)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f0f81bca420) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f0f81bca540) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f0f81bf0138) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7f0f81bca4e0) 0
+ primary-for QTimeLine (0x0x7f0f81bf0138)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f0f81bca600) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f0f81bf01a0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7f0f81bca5a0) 0
+ primary-for QTimer (0x0x7f0f81bf01a0)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f0f81bcad20) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f0f81bcacc0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f0f818b3300) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f0f81bf0d68) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7f0f818b32a0) 0
+ primary-for QTranslator (0x0x7f0f81bf0d68)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f0f818b3360) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f0f818b39c0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f0f818b3a20) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f0f818b3cc0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f0f818f2a28) 0
+ QVector<QXmlStreamAttribute> (0x0x7f0f819650c0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f0f81965120) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f0f819653c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f0f81965660) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f0f81965900) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f0f81965960) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f0f816683c0) 0
+
+Class QtConcurrent::MedianDouble
+ size=72 align=8
+ base size=70 base align=8
+QtConcurrent::MedianDouble (0x0x7f0f816685a0) 0
+
+Class QtConcurrent::ThreadEngineBarrier
+ size=16 align=8
+ base size=16 base align=8
+QtConcurrent::ThreadEngineBarrier (0x0x7f0f81668ba0) 0
+
+Vtable for QtConcurrent::ThreadEngineBase
+QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN12QtConcurrent16ThreadEngineBaseE)
+16 (int (*)(...))QtConcurrent::ThreadEngineBase::run
+24 0u
+32 0u
+40 (int (*)(...))QtConcurrent::ThreadEngineBase::start
+48 (int (*)(...))QtConcurrent::ThreadEngineBase::finish
+56 (int (*)(...))QtConcurrent::ThreadEngineBase::threadFunction
+64 (int (*)(...))QtConcurrent::ThreadEngineBase::shouldStartThread
+72 (int (*)(...))QtConcurrent::ThreadEngineBase::shouldThrottleThread
+80 (int (*)(...))__cxa_pure_virtual
+
+Class QtConcurrent::ThreadEngineBase
+ size=56 align=8
+ base size=56 base align=8
+QtConcurrent::ThreadEngineBase (0x0x7f0f816a6340) 0
+ vptr=((& QtConcurrent::ThreadEngineBase::_ZTVN12QtConcurrent16ThreadEngineBaseE) + 16u)
+ QRunnable (0x0x7f0f81668c00) 0
+ primary-for QtConcurrent::ThreadEngineBase (0x0x7f0f816a6340)
+
+VTT for QtConcurrent::ThreadEngine<void>
+QtConcurrent::ThreadEngine<void>::_ZTTN12QtConcurrent12ThreadEngineIvEE: 2u entries
+0 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 24u)
+8 ((& QtConcurrent::ThreadEngine<void>::_ZTVN12QtConcurrent12ThreadEngineIvEE) + 136u)
+
+Class QtConcurrent::BlockSizeManager
+ size=96 align=8
+ base size=92 base align=8
+QtConcurrent::BlockSizeManager (0x0x7f0f81668f60) 0
+
+Class QtConcurrent::BlockSizeManagerV2
+ size=176 align=8
+ base size=172 base align=8
+QtConcurrent::BlockSizeManagerV2 (0x0x7f0f816ec120) 0
+
+Class QtPrivate::PushBackWrapper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::PushBackWrapper (0x0x7f0f816ecb40) 0 empty
+
diff --git a/tests/auto/bic/data/QtCore.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtCore.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..93a9de90d2
--- /dev/null
+++ b/tests/auto/bic/data/QtCore.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,4607 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f10446532a0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f104469ba20) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f104469bc60) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f104469bea0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f1042245120) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f10422452a0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f1042245660) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f10422cfde0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f10422cfea0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f1042301240) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f1042301300) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f10423013c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f1042301480) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f1042301720) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f1042301900) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f1042301d80) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f1042301de0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f10423b9a80) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f10423b9ae0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f10422a6bc8) 0 empty
+ std::input_iterator_tag (0x0x7f10423b9b40) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f10422a6c30) 0 empty
+ std::forward_iterator_tag (0x0x7f10422a6c98) 0 empty
+ std::input_iterator_tag (0x0x7f10423b9ba0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f10422a6d00) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f10422a6d68) 0 empty
+ std::forward_iterator_tag (0x0x7f10422a6dd0) 0 empty
+ std::input_iterator_tag (0x0x7f10423b9c00) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f10423f68a0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f10423f6900) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f10423f6960) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f10423f69c0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f10423f6a20) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7f10420d7540) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f10420d7780) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f10420d7840) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f10420d78a0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f10420d7960) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f10420d79c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f10420d7e40) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f10420d7ea0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f10420d7f00) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f10423f7340) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7f10420d7f60) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f10423f7340)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f104221f000) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f104221f060) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f10423f7548) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7f104221f480) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f10423f7548)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f10423f75b0) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7f10423f7618) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f10423f75b0)
+ std::exception (0x0x7f104221f4e0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f10423f7618)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f104221f540) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7f1041eee180) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f1041eeee40) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f1041eeeea0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f1041d40d80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7f1041d40de0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f1041d40ea0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f1041d40f00) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f1041d40f60) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f1041dd6000) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f1041dd6120) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f1041dd6180) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f1041dd65a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f1041dd6600) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f1041c09de0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f1041c09e40) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f10418d8de0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f104167bc00) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f104167a208) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f104167bcc0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f104167a270) 0
+ std::_Bit_iterator_base (0x0x7f104167a2d8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f104167bd20) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f104167a340) 0
+ std::_Bit_iterator_base (0x0x7f104167a3a8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f104167bd80) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f1041472ba0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f10415a5960) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f10415a5900) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f104133d900) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f103ff7b420) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f103ff7b480) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f1040023f00) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f1040023f60) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f103fc6b000) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f103fc6b060) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f103fc6b300) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f103fc6b840) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f103fc97270) 0
+ std::__atomic_flag_base (0x0x7f103fc6b8a0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f103fc979c0) 0
+ QAtomicInteger<int> (0x0x7f103fc97a28) 0
+ QBasicAtomicInteger<int> (0x0x7f103f8c5000) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f103f7995a0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f103f4fb780) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f103f4fb8a0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f103f4d4618) 0
+ QGenericArgument (0x0x7f103f4fb900) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f103f4fba80) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f103f4fbb40) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f103f5deba0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f103f5dec00) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f103f5deea0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f103f5def00) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f103f2ce2a0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f103f2ce300) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f103f2ce360) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f103f2ce3c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f103f2ce420) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f103f2ce7e0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f103f287c30) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7f103f2ce8a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f103f287c30)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f103f287c98) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7f103f287d00) 0
+ primary-for std::domain_error (0x0x7f103f287c98)
+ std::exception (0x0x7f103f2ce900) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f103f287d00)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f103f287d68) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7f103f287dd0) 0
+ primary-for std::invalid_argument (0x0x7f103f287d68)
+ std::exception (0x0x7f103f2ce960) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f103f287dd0)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f103f287e38) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7f103f287ea0) 0
+ primary-for std::length_error (0x0x7f103f287e38)
+ std::exception (0x0x7f103f2ce9c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f103f287ea0)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f103f287f08) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7f103f287f70) 0
+ primary-for std::out_of_range (0x0x7f103f287f08)
+ std::exception (0x0x7f103f2cea20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f103f287f70)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f103f287958) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7f103f2cea80) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f103f287958)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f103f287a28) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7f103f3be000) 0
+ primary-for std::range_error (0x0x7f103f287a28)
+ std::exception (0x0x7f103f2ceae0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f103f3be000)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f103f3be068) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7f103f3be0d0) 0
+ primary-for std::overflow_error (0x0x7f103f3be068)
+ std::exception (0x0x7f103f2ceb40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f103f3be0d0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f103f3be138) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7f103f3be1a0) 0
+ primary-for std::underflow_error (0x0x7f103f3be138)
+ std::exception (0x0x7f103f2ceba0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f103f3be1a0)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f103f2ced20) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f103f2cef60) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f103f3ee120) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f103f3be680) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7f103f3be6e8) 0
+ primary-for std::system_error (0x0x7f103f3be680)
+ std::exception (0x0x7f103f3ee360) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f103f3be6e8)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f103f42e2d8) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7f103f42e340) 0
+ primary-for std::ios_base::failure (0x0x7f103f42e2d8)
+ std::runtime_error (0x0x7f103f42e3a8) 0
+ primary-for std::system_error (0x0x7f103f42e340)
+ std::exception (0x0x7f103f3ee660) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f103f42e3a8)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f103f3ee6c0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f103f3ee720) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f103f3ee780) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f103f3ee600) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f103f3eef00) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f103f14f600) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f103ec93ea0 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f103ec93f70 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f103ec93af8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f103ed40068 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f103eeece40) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f103eeecea0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f103ea68240) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f103ea685a0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f103ea68a20) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f103eb848a0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f103eb84f00) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f103eb84ea0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f103e663000) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f103e663c00) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f103e7c68a0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f103e7c6900) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f103e7c6960) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f103e7c6d20) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f103e7c6d80) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f103e7c3c30) 0 empty
+ QListData::NotIndirectLayout (0x0x7f103e7c6de0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f103e6193f0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f103e7c6e40) 0 empty
+ QListData::NotIndirectLayout (0x0x7f103e7c6ea0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f103e7c3c98) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f103e7c6f00) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f103e7c6f60) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f103e7c6cc0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f103e62a420) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f103e3cd660) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f103e3cd600) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f103e3d56e8) 0
+ QList<QString> (0x0x7f103e3d5750) 0
+ QListSpecialMethods<QString> (0x0x7f103e3cd840) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f103e3cdc60) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f103e0bc840) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f103e0bcea0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f103de91060) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f103de91120) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f103e3d5bc8) 0
+ std::__uses_alloc_base (0x0x7f103de910c0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f103df84180) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f103df843c0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f103df84480) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f103df845a0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f103df84720) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f103df84b40) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f103df84c60) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f103dd0d600) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f103dd0da20) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f103dd0dd20) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f103dc08720) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f103d9585a0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f103d958600) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f103d9587e0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f103d958780) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f103da21a80) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f103da21ae0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f103da21ba0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f103d64c270) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7f103da21b40) 0
+ primary-for QAbstractAnimation (0x0x7f103d64c270)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f103da21c60) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f103d64c2d8) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7f103da21c00) 0
+ primary-for QAnimationDriver (0x0x7f103d64c2d8)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f103da21d20) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f103d64c340) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7f103da21cc0) 0
+ primary-for QEventLoop (0x0x7f103d64c340)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f103da21f00) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f103d6d8000) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f103d6d8060) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f103d64c478) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7f103da21f60) 0
+ primary-for QAbstractEventDispatcher (0x0x7f103d64c478)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f103d6d8300) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f103d64c680) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7f103d6d8360) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f103d64c680)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f103d64c6e8) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7f103d6d83c0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f103d64c6e8)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f103d7c3958) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7f103d46f480) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f103d7c3958)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f103d46f540) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f103d46f5a0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f103d46f6c0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f103d46fba0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f103d526120) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f103d5264e0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f103d526480) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f103d526540) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f103d526de0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f103d526ea0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f103d526e40) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f103d526f00) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f103d526d80) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f103d421a20) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f103d0b70c0) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f103d0b7060) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f103d0b7180) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f103d0b7120) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f103d1da480) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f103d1dab40) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f103cfc22a0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f103cfc16e8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7f103cfc2240) 0
+ primary-for QAbstractItemModel (0x0x7f103cfc16e8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f103cfc2b40) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f103cfc1dd0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7f103cfc1e38) 0
+ primary-for QAbstractTableModel (0x0x7f103cfc1dd0)
+ QObject (0x0x7f103cfc2ae0) 0
+ primary-for QAbstractItemModel (0x0x7f103cfc1e38)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f103cfc2c00) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f103cfc1ea0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7f103cfc1f08) 0
+ primary-for QAbstractListModel (0x0x7f103cfc1ea0)
+ QObject (0x0x7f103cfc2ba0) 0
+ primary-for QAbstractItemModel (0x0x7f103cfc1f08)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f103cfc2ea0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f103cfc2f60) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f103ccce068) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7f103ccce0d0) 0
+ primary-for QAbstractProxyModel (0x0x7f103ccce068)
+ QObject (0x0x7f103cfc2f00) 0
+ primary-for QAbstractItemModel (0x0x7f103ccce0d0)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f103cd1a060) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f103ccce138) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7f103cd1a000) 0
+ primary-for QAbstractState (0x0x7f103ccce138)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f103cd1a120) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f103ccce1a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7f103cd1a0c0) 0
+ primary-for QAbstractTransition (0x0x7f103ccce1a0)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f103cd1a1e0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f103ccce208) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7f103ccce270) 0
+ primary-for QAnimationGroup (0x0x7f103ccce208)
+ QObject (0x0x7f103cd1a180) 0
+ primary-for QAbstractAnimation (0x0x7f103ccce270)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f103cd69f00) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f103cdae1e0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f103cdae2a0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f103cdae5a0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f103ccce8f0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7f103cdae540) 0
+ primary-for QIODevice (0x0x7f103ccce8f0)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f103cdae7e0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f103cccea28) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7f103cccea90) 0
+ primary-for QBuffer (0x0x7f103cccea28)
+ QObject (0x0x7f103cdae780) 0
+ primary-for QIODevice (0x0x7f103cccea90)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f103cdae8a0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f103cdae840) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f103cdae9c0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f103cdae960) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f103cdaeba0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f103cdaed80) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f103cb1e060) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f103cb1e7e0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f103cb1e840) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f103cb1e780) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f103cbe1960) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f103cbe1f60) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f103c8fe240) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f103c8fe480) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f103c8feb40) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f103c8fecc0) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f103c67e240) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f103c67e1e0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f103c43e540) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f103c43e600) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f103c4bf960) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f103c4bfae0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f103c54b120) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f103c54b420) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f103c54b7e0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f103c293ea0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f103c3134e0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f103c313540) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f103c175540) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f103c175ae0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f103c175b40) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f103c175a80) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f103bea5ba0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f103bea5c00) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f103bea5b40) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f103bc69780) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f103bc69b40) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f103bdc0540) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f103bdc0ba0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f103bdc0c60) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f103bac2c60) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f103bb00120) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f103bb04068) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7f103bb00180) 0
+ primary-for QTimerEvent (0x0x7f103bb04068)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f103bb040d0) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7f103bb001e0) 0
+ primary-for QChildEvent (0x0x7f103bb040d0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f103bb04618) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7f103bb006c0) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f103bb04618)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f103bb04680) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7f103bb00720) 0
+ primary-for QDeferredDeleteEvent (0x0x7f103bb04680)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f103bb007e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f103bb046e8) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7f103bb00780) 0
+ primary-for QCoreApplication (0x0x7f103bb046e8)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f103bb00840) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f103bb008a0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f103bb00900) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f103bb009c0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f103bb00ea0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f103b8213c0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f103b94d240) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f103b938b60) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7f103b938bc8) 0
+ primary-for QFileDevice (0x0x7f103b938b60)
+ QObject (0x0x7f103b94d1e0) 0
+ primary-for QIODevice (0x0x7f103b938bc8)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f103b94d480) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f103b938d00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7f103b938d68) 0
+ primary-for QFile (0x0x7f103b938d00)
+ QIODevice (0x0x7f103b938dd0) 0
+ primary-for QFileDevice (0x0x7f103b938d68)
+ QObject (0x0x7f103b94d420) 0
+ primary-for QIODevice (0x0x7f103b938dd0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f103b94d660) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f103b94da80) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f103b66b0c0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f103b66b300) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f103b74d720) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f103b747dd0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7f103b747e38) 0
+ primary-for QEventTransition (0x0x7f103b747dd0)
+ QObject (0x0x7f103b74d6c0) 0
+ primary-for QAbstractTransition (0x0x7f103b747e38)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f103b747ea0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7f103b74d780) 0 nearly-empty
+ primary-for QException (0x0x7f103b747ea0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f103b747f08) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7f103b747f70) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f103b747f08)
+ std::exception (0x0x7f103b74d7e0) 0 nearly-empty
+ primary-for QException (0x0x7f103b747f70)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f103b74d840) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f103b74d900) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f103b74d960) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f103b74da80) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f103b7e1000) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7f103b74da20) 0
+ primary-for QFileSelector (0x0x7f103b7e1000)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f103b74db40) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f103b7e1068) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7f103b74dae0) 0
+ primary-for QFileSystemWatcher (0x0x7f103b7e1068)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f103b74dc00) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f103b7e10d0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7f103b7e1138) 0
+ primary-for QFinalState (0x0x7f103b7e10d0)
+ QObject (0x0x7f103b74dba0) 0
+ primary-for QAbstractState (0x0x7f103b7e1138)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f103b74dc60) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f103b74dcc0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f103b7e1270) 0
+ QBasicMutex (0x0x7f103b74dea0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f103b74df00) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f103b74df60) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f103b4af000) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f103b4af120) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f103b4af960) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f103b582180) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f103b57c3a8) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7f103b582120) 0
+ primary-for QFutureWatcherBase (0x0x7f103b57c3a8)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f103b582780) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f103b57cc98) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7f103b57cd00) 0
+ primary-for QHistoryState (0x0x7f103b57cc98)
+ QObject (0x0x7f103b582720) 0
+ primary-for QAbstractState (0x0x7f103b57cd00)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f103b582840) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f103b57cd68) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f103b57cdd0) 0
+ primary-for QIdentityProxyModel (0x0x7f103b57cd68)
+ QAbstractItemModel (0x0x7f103b57ce38) 0
+ primary-for QAbstractProxyModel (0x0x7f103b57cdd0)
+ QObject (0x0x7f103b5827e0) 0
+ primary-for QAbstractItemModel (0x0x7f103b57ce38)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f103b5828a0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f103b582f60) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f103b235680) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7f103b582f00) 0
+ primary-for QItemSelectionModel (0x0x7f103b235680)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f103b235888) 0
+ QList<QItemSelectionRange> (0x0x7f103b2358f0) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f103b27c2a0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f103b27c780) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f103b03aea0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f103b0b2420) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f103b0b2480) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f103b0b2660) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f103b0b26c0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f103b0b2600) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f103b172900) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f103b172960) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f103b200000) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f103b200060) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f103b172f60) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f103aea8300) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f103ae9ec30) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7f103aea82a0) 0
+ primary-for QLibrary (0x0x7f103ae9ec30)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f103aea89c0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f103aea84e0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f103aea8ea0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f103aea8f00) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f103afb61e0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f103afb67e0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f103ac44180) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f103ac44780) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f103ac44ae0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f103ac44c60) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f103ac44c00) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f103ac44de0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f103adca0c0) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f103adca720) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f103adca780) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f103adcad80) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f103a9b40c0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f103a9b4120) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f103a9b4420) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f103ae15ea0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7f103a9b43c0) 0
+ primary-for QMimeData (0x0x7f103ae15ea0)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f103a9b4480) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f103a9b4780) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f103a9b4840) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f103a9ff0d0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7f103a9b47e0) 0
+ primary-for QObjectCleanupHandler (0x0x7f103a9ff0d0)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f103a9b48a0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f103aa4a060) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f103a9ff820) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f103a9ff888) 0
+ primary-for QParallelAnimationGroup (0x0x7f103a9ff820)
+ QAbstractAnimation (0x0x7f103a9ff8f0) 0
+ primary-for QAnimationGroup (0x0x7f103a9ff888)
+ QObject (0x0x7f103aa4a000) 0
+ primary-for QAbstractAnimation (0x0x7f103a9ff8f0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f103aa4a120) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f103a9ff958) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7f103a9ff9c0) 0
+ primary-for QPauseAnimation (0x0x7f103a9ff958)
+ QObject (0x0x7f103aa4a0c0) 0
+ primary-for QAbstractAnimation (0x0x7f103a9ff9c0)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f103aa4a300) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f103aa4a600) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f103a9ffbc8) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7f103aa4a5a0) 0
+ primary-for QPluginLoader (0x0x7f103a9ffbc8)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f103aa4a660) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f103aa4ad20) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f103aab3208) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7f103aab3270) 0
+ primary-for QProcess (0x0x7f103aab3208)
+ QObject (0x0x7f103aa4acc0) 0
+ primary-for QIODevice (0x0x7f103aab3270)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f103aa4ade0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f103aab32d8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7f103aab3340) 0
+ primary-for QVariantAnimation (0x0x7f103aab32d8)
+ QObject (0x0x7f103aa4ad80) 0
+ primary-for QAbstractAnimation (0x0x7f103aab3340)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f103aa4aea0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f103aab3410) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7f103aab3478) 0
+ primary-for QPropertyAnimation (0x0x7f103aab3410)
+ QAbstractAnimation (0x0x7f103aab34e0) 0
+ primary-for QVariantAnimation (0x0x7f103aab3478)
+ QObject (0x0x7f103aa4ae40) 0
+ primary-for QAbstractAnimation (0x0x7f103aab34e0)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f103a732000) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f103aa4af60) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f103a7987b8) 0
+ QRandomGenerator (0x0x7f103a77df60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f103a7d8060) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f103a7d8300) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f103a7d83c0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f103a7d8480) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f103a7d8720) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f103a7d89c0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f103a7d8c60) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f103a7d8f00) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f103a61d0c0) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f103a908340) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7f103a9083a8) 0
+ primary-for QSaveFile (0x0x7f103a908340)
+ QIODevice (0x0x7f103a908410) 0
+ primary-for QFileDevice (0x0x7f103a9083a8)
+ QObject (0x0x7f103a61d060) 0
+ primary-for QIODevice (0x0x7f103a908410)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f103a61d1e0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f103a61d360) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f103a364960) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f103a360c98) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f103a360d00) 0
+ primary-for QSequentialAnimationGroup (0x0x7f103a360c98)
+ QAbstractAnimation (0x0x7f103a360d68) 0
+ primary-for QAnimationGroup (0x0x7f103a360d00)
+ QObject (0x0x7f103a364900) 0
+ primary-for QAbstractAnimation (0x0x7f103a360d68)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f103a364a20) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f103a360dd0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7f103a3649c0) 0
+ primary-for QSettings (0x0x7f103a360dd0)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f103a364ae0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f103a360e38) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7f103a364a80) 0
+ primary-for QSharedMemory (0x0x7f103a360e38)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f103a364ba0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f103a360ea0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7f103a364b40) 0
+ primary-for QSignalMapper (0x0x7f103a360ea0)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f103a364c60) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f103a360f08) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7f103a360f70) 0
+ primary-for QSignalTransition (0x0x7f103a360f08)
+ QObject (0x0x7f103a364c00) 0
+ primary-for QAbstractTransition (0x0x7f103a360f70)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f103a364d20) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f103a3df000) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7f103a364cc0) 0
+ primary-for QSocketNotifier (0x0x7f103a3df000)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f103a364de0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f103a3df068) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f103a3df0d0) 0
+ primary-for QSortFilterProxyModel (0x0x7f103a3df068)
+ QAbstractItemModel (0x0x7f103a3df138) 0
+ primary-for QAbstractProxyModel (0x0x7f103a3df0d0)
+ QObject (0x0x7f103a364d80) 0
+ primary-for QAbstractItemModel (0x0x7f103a3df138)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f103a364ea0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f103a42c120) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f103a3df2d8) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7f103a3df340) 0
+ primary-for QState (0x0x7f103a3df2d8)
+ QObject (0x0x7f103a42c0c0) 0
+ primary-for QAbstractState (0x0x7f103a3df340)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f103a42c240) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f103a3df4e0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7f103a42c2a0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f103a3df4e0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f103a3df548) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7f103a42c300) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f103a3df548)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f103a3df3a8) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7f103a3df410) 0
+ primary-for QStateMachine (0x0x7f103a3df3a8)
+ QAbstractState (0x0x7f103a3df478) 0
+ primary-for QState (0x0x7f103a3df410)
+ QObject (0x0x7f103a42c1e0) 0
+ primary-for QAbstractState (0x0x7f103a3df478)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f103a42c360) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f103a4db2a0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f103a168660) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f103a16e548) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7f103a16e5b0) 0
+ primary-for QStringListModel (0x0x7f103a16e548)
+ QAbstractItemModel (0x0x7f103a16e618) 0
+ primary-for QAbstractListModel (0x0x7f103a16e5b0)
+ QObject (0x0x7f103a168600) 0
+ primary-for QAbstractItemModel (0x0x7f103a16e618)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f103a1686c0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f103a168780) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f103a1688a0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f103a16e680) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7f103a16e6e8) 0
+ primary-for QTemporaryFile (0x0x7f103a16e680)
+ QFileDevice (0x0x7f103a16e750) 0
+ primary-for QFile (0x0x7f103a16e6e8)
+ QIODevice (0x0x7f103a16e7b8) 0
+ primary-for QFileDevice (0x0x7f103a16e750)
+ QObject (0x0x7f103a168840) 0
+ primary-for QIODevice (0x0x7f103a16e7b8)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f103a168900) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f103a168b40) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f103a168ae0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f103a168d20) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f103a168d80) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f103a168de0) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f103a168e40) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f103a16e9c0) 0
+ std::__mutex_base (0x0x7f103a168ea0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f103a16ea28) 0
+ std::__recursive_mutex_base (0x0x7f103a168f00) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f103a26f4d0) 0
+ std::__mutex_base (0x0x7f103a275060) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f103a2750c0) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f103a26fe70) 0
+ std::__recursive_mutex_base (0x0x7f103a275180) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f103a2751e0) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f103a275240) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f103a2752a0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f103a275300) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f103a275540) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f103a16eb60) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7f103a275600) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f103a16eb60)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f103a16ebc8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7f103a2756c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f103a16ebc8)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f103a16ec30) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7f103a275780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f103a16ec30)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f103a16ed00) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7f103a275840) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f103a16ed00)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f103a275900) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f103a275960) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f103a2759c0) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f103a275a20) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f103a16ee38) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7f103a275d80) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f103a16ee38)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f1039fcb600) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f1039fcbde0) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f1039d59000) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7f1039d59060) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f1039fcbf60) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f1039e91c60) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f1039e91d20) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f1039e91d80) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f1039b5d420) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f1039b62340) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7f1039b623a8) 0
+ primary-for std::future_error (0x0x7f1039b62340)
+ std::exception (0x0x7f1039b5d540) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f1039b623a8)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f1039b5d660) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f1039b5d600) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f1039cbaba0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f1039cbb958) 0
+ std::__at_thread_exit_elt (0x0x7f1039cbac60) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f1039b5d7e0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f1039b5d5a0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f103963a548) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7f103962fb40) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f103963a548)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f10396932a0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f10396c1000) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7f1039693240) 0
+ primary-for QThread (0x0x7f10396c1000)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f10396933c0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f10396c1068) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7f1039693360) 0
+ primary-for QThreadPool (0x0x7f10396c1068)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f1039693420) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f1039693540) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f10396c10d0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7f10396934e0) 0
+ primary-for QTimeLine (0x0x7f10396c10d0)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f1039693600) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f10396c1138) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7f10396935a0) 0
+ primary-for QTimer (0x0x7f10396c1138)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f1039693d20) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f1039693cc0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f103937e300) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f10396c1d00) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7f103937e2a0) 0
+ primary-for QTranslator (0x0x7f10396c1d00)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f103937e360) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f103937e9c0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f103937ea20) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f103937ecc0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f10393bd9c0) 0
+ QVector<QXmlStreamAttribute> (0x0x7f10394310c0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f1039431120) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f10394313c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f1039431660) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f1039431900) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f1039431960) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f10391343c0) 0
+
diff --git a/tests/auto/bic/data/QtDBus.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtDBus.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..6b0bf7c535
--- /dev/null
+++ b/tests/auto/bic/data/QtDBus.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,4946 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7fc8a01b1540) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7fc8a01ffcc0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7fc8a01fff00) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7fc89ddae180) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7fc89ddae3c0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7fc89ddae540) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7fc89ddae900) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7fc89de660c0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7fc89de66180) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7fc89de664e0) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7fc89de665a0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7fc89de66660) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7fc89de66720) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7fc89de669c0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7fc89de66ba0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7fc89deec060) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7fc89deec0c0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7fc89df21d20) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7fc89df21d80) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7fc89de12d68) 0 empty
+ std::input_iterator_tag (0x0x7fc89df21de0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7fc89de12dd0) 0 empty
+ std::forward_iterator_tag (0x0x7fc89de12e38) 0 empty
+ std::input_iterator_tag (0x0x7fc89df21e40) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7fc89de12ea0) 0 empty
+ std::bidirectional_iterator_tag (0x0x7fc89de12f08) 0 empty
+ std::forward_iterator_tag (0x0x7fc89de12f70) 0 empty
+ std::input_iterator_tag (0x0x7fc89df21ea0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7fc89df4fb40) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7fc89df4fba0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7fc89df4fc00) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7fc89df4fc60) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7fc89df4fcc0) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7fc89dc2d7e0) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7fc89dc2da20) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7fc89dc2dae0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7fc89dc2db40) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7fc89dc2dc00) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7fc89dc2dc60) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7fc89dcc5120) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7fc89dcc5180) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7fc89dcc51e0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7fc89df524e0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7fc89dcc5240) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7fc89df524e0)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7fc89dcc52a0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7fc89dcc5300) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7fc89df526e8) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7fc89dcc5720) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fc89df526e8)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7fc89df52750) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7fc89df527b8) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7fc89df52750)
+ std::exception (0x0x7fc89dcc5780) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fc89df527b8)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7fc89dcc57e0) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7fc89da41420) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7fc89d863120) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7fc89d863180) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7fc89d91e060) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7fc89d91e0c0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7fc89d91e180) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7fc89d91e1e0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7fc89d91e240) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7fc89d91e2a0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7fc89d91e3c0) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7fc89d91e420) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7fc89d91e840) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7fc89d91e8a0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7fc89d43a0c0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7fc89d43a120) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7fc89d5190c0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7fc89d519ea0) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7fc89d5173a8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fc89d519f60) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7fc89d517410) 0
+ std::_Bit_iterator_base (0x0x7fc89d517478) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fc89d350000) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7fc89d5174e0) 0
+ std::_Bit_iterator_base (0x0x7fc89d517548) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fc89d350060) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7fc89d350e40) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7fc89d112c00) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7fc89d112ba0) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7fc89ce64ba0) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7fc89bad76c0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7fc89bad7720) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7fc89b7b61e0) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7fc89b7b6240) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7fc89b7b62a0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7fc89b7b6300) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7fc89b7b65a0) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7fc89b7b6ae0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7fc89b7bd410) 0
+ std::__atomic_flag_base (0x0x7fc89b7b6b40) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7fc89b7bdb60) 0
+ QAtomicInteger<int> (0x0x7fc89b7bdbc8) 0
+ QBasicAtomicInteger<int> (0x0x7fc89b39e2a0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7fc89b2bd840) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7fc89b04fa20) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7fc89b04fb40) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7fc89b35b7b8) 0
+ QGenericArgument (0x0x7fc89b04fba0) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7fc89b04fd20) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7fc89b04fde0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7fc89b149e40) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7fc89b149ea0) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7fc89adf8180) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7fc89adf81e0) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7fc89adf8540) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7fc89adf85a0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7fc89adf8600) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7fc89adf8660) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7fc89adf86c0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7fc89adf8a80) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7fc89b16add0) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7fc89adf8b40) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fc89b16add0)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7fc89b16ae38) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7fc89b16aea0) 0
+ primary-for std::domain_error (0x0x7fc89b16ae38)
+ std::exception (0x0x7fc89adf8ba0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fc89b16aea0)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7fc89b16af08) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7fc89b16af70) 0
+ primary-for std::invalid_argument (0x0x7fc89b16af08)
+ std::exception (0x0x7fc89adf8c00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fc89b16af70)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7fc89b16aaf8) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7fc89b16abc8) 0
+ primary-for std::length_error (0x0x7fc89b16aaf8)
+ std::exception (0x0x7fc89adf8c60) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fc89b16abc8)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7fc89af23000) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7fc89af23068) 0
+ primary-for std::out_of_range (0x0x7fc89af23000)
+ std::exception (0x0x7fc89adf8cc0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fc89af23068)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7fc89af230d0) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7fc89adf8d20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fc89af230d0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7fc89af23138) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7fc89af231a0) 0
+ primary-for std::range_error (0x0x7fc89af23138)
+ std::exception (0x0x7fc89adf8d80) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fc89af231a0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7fc89af23208) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7fc89af23270) 0
+ primary-for std::overflow_error (0x0x7fc89af23208)
+ std::exception (0x0x7fc89adf8de0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fc89af23270)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7fc89af232d8) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7fc89af23340) 0
+ primary-for std::underflow_error (0x0x7fc89af232d8)
+ std::exception (0x0x7fc89adf8e40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fc89af23340)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7fc89af3b000) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7fc89af3b240) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7fc89af3b3c0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7fc89af23820) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7fc89af23888) 0
+ primary-for std::system_error (0x0x7fc89af23820)
+ std::exception (0x0x7fc89af3b600) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fc89af23888)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7fc89ab9c478) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7fc89ab9c4e0) 0
+ primary-for std::ios_base::failure (0x0x7fc89ab9c478)
+ std::runtime_error (0x0x7fc89ab9c548) 0
+ primary-for std::system_error (0x0x7fc89ab9c4e0)
+ std::exception (0x0x7fc89af3b900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fc89ab9c548)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7fc89af3b960) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7fc89af3b9c0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7fc89af3ba20) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7fc89af3b8a0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7fc89ac721e0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7fc89ac728a0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7fc89a7e4478 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7fc89a7e46e8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7fc89a89c270 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7fc89a89c340 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7fc89a8c3120) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7fc89a8c3180) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7fc89a5c34e0) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7fc89a5c3840) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7fc89a5c3cc0) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7fc89a6ebb40) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7fc89a77d1e0) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7fc89a77d180) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7fc89a5282a0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7fc89a528ea0) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7fc89a32cb40) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7fc89a32cba0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7fc89a32cc00) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7fc899d8d000) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7fc899d8d060) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7fc89a330dd0) 0 empty
+ QListData::NotIndirectLayout (0x0x7fc899d8d0c0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7fc89a184850) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fc899d8d120) 0 empty
+ QListData::NotIndirectLayout (0x0x7fc899d8d180) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7fc89a330e38) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fc899d8d1e0) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7fc899d8d240) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7fc89a32cf60) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7fc899d8d6c0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7fc899f39900) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7fc899f398a0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7fc899f3f888) 0
+ QList<QString> (0x0x7fc899f3f8f0) 0
+ QListSpecialMethods<QString> (0x0x7fc899f39ae0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7fc899f39f00) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7fc899be4ae0) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7fc8999cf180) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7fc8999cf300) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7fc8999cf3c0) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7fc899a000d0) 0
+ std::__uses_alloc_base (0x0x7fc8999cf360) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7fc899aeb420) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7fc899aeb660) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7fc899aeb720) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7fc899aeb840) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7fc899aeb9c0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7fc899aebde0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7fc899aebf00) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7fc8998448a0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7fc899844cc0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7fc899935000) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7fc8997569c0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7fc8994c4840) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7fc8994c48a0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7fc8994c4a80) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7fc8994c4a20) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7fc89957cd20) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7fc89957cd80) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7fc89957ce40) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7fc8991bc410) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7fc89957cde0) 0
+ primary-for QAbstractAnimation (0x0x7fc8991bc410)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7fc89957cf00) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7fc8991bc478) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7fc89957cea0) 0
+ primary-for QAnimationDriver (0x0x7fc8991bc478)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7fc89920f000) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7fc8991bc4e0) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7fc89957cf60) 0
+ primary-for QEventLoop (0x0x7fc8991bc4e0)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7fc89920f1e0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7fc89920f2a0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7fc89920f300) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7fc8991bc618) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7fc89920f240) 0
+ primary-for QAbstractEventDispatcher (0x0x7fc8991bc618)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7fc89920f5a0) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7fc8991bc820) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7fc89920f600) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7fc8991bc820)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7fc8991bc888) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7fc89920f660) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7fc8991bc888)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7fc899324af8) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7fc898fb7720) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7fc899324af8)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7fc898fb77e0) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7fc898fb7840) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7fc898fb7960) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7fc898fb7e40) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7fc8990913c0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7fc899091780) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7fc899091720) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7fc8990917e0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7fc898ea60c0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7fc898ea6180) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7fc898ea6120) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7fc898ea61e0) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7fc898ea6060) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7fc898f78cc0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7fc898c1e360) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7fc898c1e300) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7fc898c1e420) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7fc898c1e3c0) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7fc898d41720) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7fc898d41de0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7fc898b2e540) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7fc898b28888) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7fc898b2e4e0) 0
+ primary-for QAbstractItemModel (0x0x7fc898b28888)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7fc898b2ede0) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7fc898b28f70) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7fc898808000) 0
+ primary-for QAbstractTableModel (0x0x7fc898b28f70)
+ QObject (0x0x7fc898b2ed80) 0
+ primary-for QAbstractItemModel (0x0x7fc898808000)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7fc898b2eea0) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7fc898808068) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7fc8988080d0) 0
+ primary-for QAbstractListModel (0x0x7fc898808068)
+ QObject (0x0x7fc898b2ee40) 0
+ primary-for QAbstractItemModel (0x0x7fc8988080d0)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7fc89883d180) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7fc89883d240) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7fc898808208) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7fc898808270) 0
+ primary-for QAbstractProxyModel (0x0x7fc898808208)
+ QObject (0x0x7fc89883d1e0) 0
+ primary-for QAbstractItemModel (0x0x7fc898808270)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7fc89883d300) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7fc8988082d8) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7fc89883d2a0) 0
+ primary-for QAbstractState (0x0x7fc8988082d8)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7fc89883d3c0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7fc898808340) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7fc89883d360) 0
+ primary-for QAbstractTransition (0x0x7fc898808340)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7fc89883d480) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7fc8988083a8) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7fc898808410) 0
+ primary-for QAnimationGroup (0x0x7fc8988083a8)
+ QObject (0x0x7fc89883d420) 0
+ primary-for QAbstractAnimation (0x0x7fc898808410)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7fc8988fa1e0) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7fc8988fa480) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7fc8988fa540) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7fc8988fa840) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7fc898808a90) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7fc8988fa7e0) 0
+ primary-for QIODevice (0x0x7fc898808a90)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7fc8988faa80) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7fc898808bc8) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7fc898808c30) 0
+ primary-for QBuffer (0x0x7fc898808bc8)
+ QObject (0x0x7fc8988faa20) 0
+ primary-for QIODevice (0x0x7fc898808c30)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7fc8988fab40) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7fc8988faae0) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7fc8988fac60) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7fc8988fac00) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7fc8988fae40) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7fc898666060) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7fc898666300) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7fc898666a80) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7fc898666ae0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7fc898666a20) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7fc89874bc00) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7fc898414240) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7fc8984144e0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7fc898414720) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7fc898414de0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7fc898414f60) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7fc8981a44e0) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7fc8981a4480) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7fc897fa57e0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7fc897fa58a0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7fc898029c00) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7fc898029d80) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7fc89809c3c0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7fc89809c6c0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7fc89809ca80) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7fc897e27180) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7fc897e27780) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7fc897e277e0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7fc897cde7e0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7fc897cded80) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7fc897cdede0) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7fc897cded20) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7fc897a11e40) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7fc897a11ea0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7fc897a11de0) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7fc8977d8a20) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7fc8977d8de0) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7fc89792a7e0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7fc89792ae40) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7fc89792af00) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7fc897621f00) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7fc8976663c0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7fc89766c208) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7fc897666420) 0
+ primary-for QTimerEvent (0x0x7fc89766c208)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7fc89766c270) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7fc897666480) 0
+ primary-for QChildEvent (0x0x7fc89766c270)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7fc89766c7b8) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7fc897666960) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7fc89766c7b8)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7fc89766c820) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7fc8976669c0) 0
+ primary-for QDeferredDeleteEvent (0x0x7fc89766c820)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7fc897666a80) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7fc89766c888) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7fc897666a20) 0
+ primary-for QCoreApplication (0x0x7fc89766c888)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7fc897666ae0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7fc897666b40) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7fc897666ba0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7fc897666c60) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7fc897743180) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7fc897743660) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7fc8974ad4e0) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7fc8974a5d00) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7fc8974a5d68) 0
+ primary-for QFileDevice (0x0x7fc8974a5d00)
+ QObject (0x0x7fc8974ad480) 0
+ primary-for QIODevice (0x0x7fc8974a5d68)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7fc8974ad720) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7fc8974a5ea0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7fc8974a5f08) 0
+ primary-for QFile (0x0x7fc8974a5ea0)
+ QIODevice (0x0x7fc8974a5f70) 0
+ primary-for QFileDevice (0x0x7fc8974a5f08)
+ QObject (0x0x7fc8974ad6c0) 0
+ primary-for QIODevice (0x0x7fc8974a5f70)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7fc8974ad900) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7fc8974add20) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7fc8971b1360) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7fc8971b15a0) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7fc8972b79c0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7fc8972b0f70) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7fc897319000) 0
+ primary-for QEventTransition (0x0x7fc8972b0f70)
+ QObject (0x0x7fc8972b7960) 0
+ primary-for QAbstractTransition (0x0x7fc897319000)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7fc897319068) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7fc8972b7a20) 0 nearly-empty
+ primary-for QException (0x0x7fc897319068)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7fc8973190d0) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7fc897319138) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7fc8973190d0)
+ std::exception (0x0x7fc8972b7a80) 0 nearly-empty
+ primary-for QException (0x0x7fc897319138)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7fc8972b7ae0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7fc8972b7ba0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7fc8972b7c00) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7fc8972b7d20) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7fc8973191a0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7fc8972b7cc0) 0
+ primary-for QFileSelector (0x0x7fc8973191a0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7fc8972b7de0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7fc897319208) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7fc8972b7d80) 0
+ primary-for QFileSystemWatcher (0x0x7fc897319208)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7fc8972b7ea0) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7fc897319270) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7fc8973192d8) 0
+ primary-for QFinalState (0x0x7fc897319270)
+ QObject (0x0x7fc8972b7e40) 0
+ primary-for QAbstractState (0x0x7fc8973192d8)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7fc8972b7f00) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7fc8972b7f60) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7fc897319410) 0
+ QBasicMutex (0x0x7fc896f82180) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7fc896f821e0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7fc896f82240) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7fc896f822a0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7fc896f823c0) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7fc896f82c00) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7fc8970ea420) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7fc89709b548) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7fc8970ea3c0) 0
+ primary-for QFutureWatcherBase (0x0x7fc89709b548)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7fc8970eaa20) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7fc89709be38) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7fc89709bea0) 0
+ primary-for QHistoryState (0x0x7fc89709be38)
+ QObject (0x0x7fc8970ea9c0) 0
+ primary-for QAbstractState (0x0x7fc89709bea0)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7fc8970eaae0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7fc89709bf08) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7fc89709bf70) 0
+ primary-for QIdentityProxyModel (0x0x7fc89709bf08)
+ QAbstractItemModel (0x0x7fc897162000) 0
+ primary-for QAbstractProxyModel (0x0x7fc89709bf70)
+ QObject (0x0x7fc8970eaa80) 0
+ primary-for QAbstractItemModel (0x0x7fc897162000)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7fc8970eab40) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7fc896dc8240) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7fc897162820) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7fc896dc81e0) 0
+ primary-for QItemSelectionModel (0x0x7fc897162820)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7fc897162a28) 0
+ QList<QItemSelectionRange> (0x0x7fc897162a90) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7fc896dc8540) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7fc896dc8a20) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7fc896bcb180) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7fc896bcb6c0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7fc896bcb720) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7fc896bcb900) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7fc896bcb960) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7fc896bcb8a0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7fc896cdfba0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7fc896cdfc00) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7fc896d5c2a0) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7fc896d5c300) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7fc896d5c240) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7fc896a105a0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7fc896a08dd0) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7fc896a10540) 0
+ primary-for QLibrary (0x0x7fc896a08dd0)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7fc896a10c60) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7fc896a10780) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7fc896afe180) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7fc896afe1e0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7fc896afe480) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7fc896afea80) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7fc8967a6420) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7fc8967a6a20) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7fc8967a6d80) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7fc8967a6f00) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7fc8967a6ea0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7fc8968e40c0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7fc8968e4360) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7fc8968e49c0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7fc8968e4a20) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7fc896513060) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7fc896513360) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7fc8965133c0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7fc8965136c0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7fc89653a068) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7fc896513660) 0
+ primary-for QMimeData (0x0x7fc89653a068)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7fc896513720) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7fc896513a20) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7fc896513ae0) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7fc89653a270) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7fc896513a80) 0
+ primary-for QObjectCleanupHandler (0x0x7fc89653a270)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7fc896513b40) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7fc8965a1300) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7fc89653a9c0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7fc89653aa28) 0
+ primary-for QParallelAnimationGroup (0x0x7fc89653a9c0)
+ QAbstractAnimation (0x0x7fc89653aa90) 0
+ primary-for QAnimationGroup (0x0x7fc89653aa28)
+ QObject (0x0x7fc8965a12a0) 0
+ primary-for QAbstractAnimation (0x0x7fc89653aa90)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7fc8965a13c0) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7fc89653aaf8) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7fc89653ab60) 0
+ primary-for QPauseAnimation (0x0x7fc89653aaf8)
+ QObject (0x0x7fc8965a1360) 0
+ primary-for QAbstractAnimation (0x0x7fc89653ab60)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7fc8965a15a0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7fc8965a18a0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7fc89653ad68) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7fc8965a1840) 0
+ primary-for QPluginLoader (0x0x7fc89653ad68)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7fc8965a1900) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7fc89662c000) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7fc89661f3a8) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7fc89661f410) 0
+ primary-for QProcess (0x0x7fc89661f3a8)
+ QObject (0x0x7fc8965a1f60) 0
+ primary-for QIODevice (0x0x7fc89661f410)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7fc89662c0c0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7fc89661f478) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7fc89661f4e0) 0
+ primary-for QVariantAnimation (0x0x7fc89661f478)
+ QObject (0x0x7fc89662c060) 0
+ primary-for QAbstractAnimation (0x0x7fc89661f4e0)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7fc89662c180) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7fc89661f5b0) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7fc89661f618) 0
+ primary-for QPropertyAnimation (0x0x7fc89661f5b0)
+ QAbstractAnimation (0x0x7fc89661f680) 0
+ primary-for QVariantAnimation (0x0x7fc89661f618)
+ QObject (0x0x7fc89662c120) 0
+ primary-for QAbstractAnimation (0x0x7fc89661f680)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7fc89662c2a0) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7fc89662c240) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7fc896302958) 0
+ QRandomGenerator (0x0x7fc89631e240) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7fc89631e300) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7fc89631e5a0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7fc89631e660) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7fc89631e720) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7fc89631e9c0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7fc89631ec60) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7fc89631ef00) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7fc8961131e0) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7fc896113360) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7fc8964504e0) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7fc896450548) 0
+ primary-for QSaveFile (0x0x7fc8964504e0)
+ QIODevice (0x0x7fc8964505b0) 0
+ primary-for QFileDevice (0x0x7fc896450548)
+ QObject (0x0x7fc896113300) 0
+ primary-for QIODevice (0x0x7fc8964505b0)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7fc896113480) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7fc896113600) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7fc895ec3c00) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7fc895ec0e38) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7fc895ec0ea0) 0
+ primary-for QSequentialAnimationGroup (0x0x7fc895ec0e38)
+ QAbstractAnimation (0x0x7fc895ec0f08) 0
+ primary-for QAnimationGroup (0x0x7fc895ec0ea0)
+ QObject (0x0x7fc895ec3ba0) 0
+ primary-for QAbstractAnimation (0x0x7fc895ec0f08)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7fc895ec3cc0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7fc895ec0f70) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7fc895ec3c60) 0
+ primary-for QSettings (0x0x7fc895ec0f70)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7fc895ec3d80) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7fc895f18000) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7fc895ec3d20) 0
+ primary-for QSharedMemory (0x0x7fc895f18000)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7fc895ec3e40) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7fc895f18068) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7fc895ec3de0) 0
+ primary-for QSignalMapper (0x0x7fc895f18068)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7fc895ec3f00) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7fc895f180d0) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7fc895f18138) 0
+ primary-for QSignalTransition (0x0x7fc895f180d0)
+ QObject (0x0x7fc895ec3ea0) 0
+ primary-for QAbstractTransition (0x0x7fc895f18138)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7fc895f50000) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7fc895f181a0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7fc895ec3f60) 0
+ primary-for QSocketNotifier (0x0x7fc895f181a0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7fc895f500c0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7fc895f18208) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7fc895f18270) 0
+ primary-for QSortFilterProxyModel (0x0x7fc895f18208)
+ QAbstractItemModel (0x0x7fc895f182d8) 0
+ primary-for QAbstractProxyModel (0x0x7fc895f18270)
+ QObject (0x0x7fc895f50060) 0
+ primary-for QAbstractItemModel (0x0x7fc895f182d8)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7fc895f50180) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7fc895f503c0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7fc895f18478) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7fc895f184e0) 0
+ primary-for QState (0x0x7fc895f18478)
+ QObject (0x0x7fc895f50360) 0
+ primary-for QAbstractState (0x0x7fc895f184e0)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7fc895f504e0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7fc895f18680) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7fc895f50540) 0
+ primary-for QStateMachine::SignalEvent (0x0x7fc895f18680)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7fc895f186e8) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7fc895f505a0) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7fc895f186e8)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7fc895f18548) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7fc895f185b0) 0
+ primary-for QStateMachine (0x0x7fc895f18548)
+ QAbstractState (0x0x7fc895f18618) 0
+ primary-for QState (0x0x7fc895f185b0)
+ QObject (0x0x7fc895f50480) 0
+ primary-for QAbstractState (0x0x7fc895f18618)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7fc895f50600) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7fc896044540) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7fc895ccd900) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7fc895cda6e8) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7fc895cda750) 0
+ primary-for QStringListModel (0x0x7fc895cda6e8)
+ QAbstractItemModel (0x0x7fc895cda7b8) 0
+ primary-for QAbstractListModel (0x0x7fc895cda750)
+ QObject (0x0x7fc895ccd8a0) 0
+ primary-for QAbstractItemModel (0x0x7fc895cda7b8)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7fc895ccd960) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7fc895ccda20) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7fc895ccdb40) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7fc895cda820) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7fc895cda888) 0
+ primary-for QTemporaryFile (0x0x7fc895cda820)
+ QFileDevice (0x0x7fc895cda8f0) 0
+ primary-for QFile (0x0x7fc895cda888)
+ QIODevice (0x0x7fc895cda958) 0
+ primary-for QFileDevice (0x0x7fc895cda8f0)
+ QObject (0x0x7fc895ccdae0) 0
+ primary-for QIODevice (0x0x7fc895cda958)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7fc895ccdba0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7fc895ccdde0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7fc895ccdd80) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7fc895db2000) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7fc895db2060) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7fc895db20c0) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7fc895db2120) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7fc895cdab60) 0
+ std::__mutex_base (0x0x7fc895db2180) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7fc895cdabc8) 0
+ std::__recursive_mutex_base (0x0x7fc895db21e0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7fc895ddb930) 0
+ std::__mutex_base (0x0x7fc895db2300) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7fc895db2360) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7fc895df5310) 0
+ std::__recursive_mutex_base (0x0x7fc895db2420) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7fc895db2480) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7fc895db24e0) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7fc895db2540) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7fc895db25a0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7fc895db27e0) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7fc895cdad00) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7fc895db28a0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7fc895cdad00)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7fc895cdad68) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7fc895db2960) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7fc895cdad68)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7fc895cdadd0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7fc895db2a20) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7fc895cdadd0)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7fc895cdaea0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7fc895db2ae0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7fc895cdaea0)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7fc895db2ba0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7fc895db2c00) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7fc895db2c60) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7fc895db2cc0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7fc895ace1a0) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7fc895b08060) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7fc895ace1a0)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7fc895b088a0) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7fc8958840c0) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7fc8958842a0) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7fc895884300) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7fc895884240) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7fc8959fcf00) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7fc895a64000) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7fc895a64060) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7fc8956cb6c0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7fc8956cf4e0) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7fc8956cf548) 0
+ primary-for std::future_error (0x0x7fc8956cf4e0)
+ std::exception (0x0x7fc8956cb7e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fc8956cf548)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7fc8956cb900) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7fc8956cb8a0) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7fc8957a6e40) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7fc895826af8) 0
+ std::__at_thread_exit_elt (0x0x7fc8957a6f00) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7fc8956cba80) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7fc8956cb840) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7fc8951a76e8) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7fc895191de0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7fc8951a76e8)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7fc8951ff540) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7fc8952201a0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7fc8951ff4e0) 0
+ primary-for QThread (0x0x7fc8952201a0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7fc8951ff660) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7fc895220208) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7fc8951ff600) 0
+ primary-for QThreadPool (0x0x7fc895220208)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7fc8951ff6c0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7fc8951ff7e0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7fc895220270) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7fc8951ff780) 0
+ primary-for QTimeLine (0x0x7fc895220270)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7fc8951ff8a0) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7fc8952202d8) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7fc8951ff840) 0
+ primary-for QTimer (0x0x7fc8952202d8)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7fc894ecb000) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7fc8951fff60) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7fc894ecb5a0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7fc895220ea0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7fc894ecb540) 0
+ primary-for QTranslator (0x0x7fc895220ea0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7fc894ecb600) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7fc894ecbc60) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7fc894ecbcc0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7fc894ecbf60) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7fc894f2bb60) 0
+ QVector<QXmlStreamAttribute> (0x0x7fc894f77360) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7fc894f773c0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7fc894f77660) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7fc894f77900) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7fc894f77ba0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7fc894f77c00) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7fc894c78660) 0
+
+Class QDBusAbstractAdaptor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusAbstractAdaptor::QPrivateSignal (0x0x7fc894c787e0) 0 empty
+
+Vtable for QDBusAbstractAdaptor
+QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDBusAbstractAdaptor)
+16 (int (*)(...))QDBusAbstractAdaptor::metaObject
+24 (int (*)(...))QDBusAbstractAdaptor::qt_metacast
+32 (int (*)(...))QDBusAbstractAdaptor::qt_metacall
+40 (int (*)(...))QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+48 (int (*)(...))QDBusAbstractAdaptor::~QDBusAbstractAdaptor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusAbstractAdaptor
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractAdaptor (0x0x7fc895023d00) 0
+ vptr=((& QDBusAbstractAdaptor::_ZTV20QDBusAbstractAdaptor) + 16u)
+ QObject (0x0x7fc894c78780) 0
+ primary-for QDBusAbstractAdaptor (0x0x7fc895023d00)
+
+Class QDBusError
+ size=32 align=8
+ base size=32 base align=8
+QDBusError (0x0x7fc894c78840) 0
+
+Class QDBusMessage
+ size=8 align=8
+ base size=8 base align=8
+QDBusMessage (0x0x7fc894d4b900) 0
+
+Class QDBusObjectPath
+ size=8 align=8
+ base size=8 base align=8
+QDBusObjectPath (0x0x7fc894ddec00) 0
+
+Class QDBusSignature
+ size=8 align=8
+ base size=8 base align=8
+QDBusSignature (0x0x7fc894ddeea0) 0
+
+Class QDBusVariant
+ size=16 align=8
+ base size=16 base align=8
+QDBusVariant (0x0x7fc894e3a180) 0
+
+Class QDBusConnection
+ size=8 align=8
+ base size=8 base align=8
+QDBusConnection (0x0x7fc894e3a7e0) 0
+
+Vtable for QDBusAbstractInterfaceBase
+QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QDBusAbstractInterfaceBase)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QDBusAbstractInterfaceBase::qt_metacall
+40 (int (*)(...))QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase
+48 (int (*)(...))QDBusAbstractInterfaceBase::~QDBusAbstractInterfaceBase
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusAbstractInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractInterfaceBase (0x0x7fc894b40958) 0
+ vptr=((& QDBusAbstractInterfaceBase::_ZTV26QDBusAbstractInterfaceBase) + 16u)
+ QObject (0x0x7fc894b3da20) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7fc894b40958)
+
+Class QDBusAbstractInterface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusAbstractInterface::QPrivateSignal (0x0x7fc894b3dae0) 0 empty
+
+Vtable for QDBusAbstractInterface
+QDBusAbstractInterface::_ZTV22QDBusAbstractInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QDBusAbstractInterface)
+16 (int (*)(...))QDBusAbstractInterface::metaObject
+24 (int (*)(...))QDBusAbstractInterface::qt_metacast
+32 (int (*)(...))QDBusAbstractInterface::qt_metacall
+40 (int (*)(...))QDBusAbstractInterface::~QDBusAbstractInterface
+48 (int (*)(...))QDBusAbstractInterface::~QDBusAbstractInterface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QDBusAbstractInterface::connectNotify
+104 (int (*)(...))QDBusAbstractInterface::disconnectNotify
+
+Class QDBusAbstractInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusAbstractInterface (0x0x7fc894b409c0) 0
+ vptr=((& QDBusAbstractInterface::_ZTV22QDBusAbstractInterface) + 16u)
+ QDBusAbstractInterfaceBase (0x0x7fc894b40a28) 0
+ primary-for QDBusAbstractInterface (0x0x7fc894b409c0)
+ QObject (0x0x7fc894b3da80) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7fc894b40a28)
+
+Class QDBusArgument
+ size=8 align=8
+ base size=8 base align=8
+QDBusArgument (0x0x7fc894b3db40) 0
+
+Class QDBusPendingCall
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingCall (0x0x7fc8948b7d20) 0
+
+Class QDBusPendingCallWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusPendingCallWatcher::QPrivateSignal (0x0x7fc89492b120) 0 empty
+
+Vtable for QDBusPendingCallWatcher
+QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QDBusPendingCallWatcher)
+16 (int (*)(...))QDBusPendingCallWatcher::metaObject
+24 (int (*)(...))QDBusPendingCallWatcher::qt_metacast
+32 (int (*)(...))QDBusPendingCallWatcher::qt_metacall
+40 (int (*)(...))QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+48 (int (*)(...))QDBusPendingCallWatcher::~QDBusPendingCallWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusPendingCallWatcher
+ size=24 align=8
+ base size=24 base align=8
+QDBusPendingCallWatcher (0x0x7fc894904e00) 0
+ vptr=((& QDBusPendingCallWatcher::_ZTV23QDBusPendingCallWatcher) + 16u)
+ QObject (0x0x7fc89492b060) 0
+ primary-for QDBusPendingCallWatcher (0x0x7fc894904e00)
+ QDBusPendingCall (0x0x7fc89492b0c0) 16
+
+Class QDBusPendingReplyData
+ size=8 align=8
+ base size=8 base align=8
+QDBusPendingReplyData (0x0x7fc894902618) 0
+ QDBusPendingCall (0x0x7fc89492b180) 0
+
+Class QDBusPendingReplyTypes::TypeIsVoid
+ size=1 align=1
+ base size=0 base align=1
+QDBusPendingReplyTypes::TypeIsVoid (0x0x7fc89492b6c0) 0 empty
+
+Class QDBusConnectionInterface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusConnectionInterface::QPrivateSignal (0x0x7fc89492bae0) 0 empty
+
+Vtable for QDBusConnectionInterface
+QDBusConnectionInterface::_ZTV24QDBusConnectionInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QDBusConnectionInterface)
+16 (int (*)(...))QDBusConnectionInterface::metaObject
+24 (int (*)(...))QDBusConnectionInterface::qt_metacast
+32 (int (*)(...))QDBusConnectionInterface::qt_metacall
+40 (int (*)(...))QDBusConnectionInterface::~QDBusConnectionInterface
+48 (int (*)(...))QDBusConnectionInterface::~QDBusConnectionInterface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QDBusConnectionInterface::connectNotify
+104 (int (*)(...))QDBusConnectionInterface::disconnectNotify
+
+Class QDBusConnectionInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusConnectionInterface (0x0x7fc894902af8) 0
+ vptr=((& QDBusConnectionInterface::_ZTV24QDBusConnectionInterface) + 16u)
+ QDBusAbstractInterface (0x0x7fc894902b60) 0
+ primary-for QDBusConnectionInterface (0x0x7fc894902af8)
+ QDBusAbstractInterfaceBase (0x0x7fc894902bc8) 0
+ primary-for QDBusAbstractInterface (0x0x7fc894902b60)
+ QObject (0x0x7fc89492ba80) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7fc894902bc8)
+
+Class QDBusContext
+ size=8 align=8
+ base size=8 base align=8
+QDBusContext (0x0x7fc89492bba0) 0
+
+Vtable for QDBusInterface
+QDBusInterface::_ZTV14QDBusInterface: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDBusInterface)
+16 (int (*)(...))QDBusInterface::metaObject
+24 (int (*)(...))QDBusInterface::qt_metacast
+32 (int (*)(...))QDBusInterface::qt_metacall
+40 (int (*)(...))QDBusInterface::~QDBusInterface
+48 (int (*)(...))QDBusInterface::~QDBusInterface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QDBusAbstractInterface::connectNotify
+104 (int (*)(...))QDBusAbstractInterface::disconnectNotify
+
+Class QDBusInterface
+ size=16 align=8
+ base size=16 base align=8
+QDBusInterface (0x0x7fc894902c30) 0
+ vptr=((& QDBusInterface::_ZTV14QDBusInterface) + 16u)
+ QDBusAbstractInterface (0x0x7fc894902c98) 0
+ primary-for QDBusInterface (0x0x7fc894902c30)
+ QDBusAbstractInterfaceBase (0x0x7fc894902d00) 0
+ primary-for QDBusAbstractInterface (0x0x7fc894902c98)
+ QObject (0x0x7fc89492bc00) 0
+ primary-for QDBusAbstractInterfaceBase (0x0x7fc894902d00)
+
+Class QDBusMetaType
+ size=1 align=1
+ base size=0 base align=1
+QDBusMetaType (0x0x7fc89492bc60) 0 empty
+
+Class QDBusServer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusServer::QPrivateSignal (0x0x7fc89492bd20) 0 empty
+
+Vtable for QDBusServer
+QDBusServer::_ZTV11QDBusServer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDBusServer)
+16 (int (*)(...))QDBusServer::metaObject
+24 (int (*)(...))QDBusServer::qt_metacast
+32 (int (*)(...))QDBusServer::qt_metacall
+40 (int (*)(...))QDBusServer::~QDBusServer
+48 (int (*)(...))QDBusServer::~QDBusServer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusServer
+ size=24 align=8
+ base size=24 base align=8
+QDBusServer (0x0x7fc894902dd0) 0
+ vptr=((& QDBusServer::_ZTV11QDBusServer) + 16u)
+ QObject (0x0x7fc89492bcc0) 0
+ primary-for QDBusServer (0x0x7fc894902dd0)
+
+Class QDBusServiceWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusServiceWatcher::QPrivateSignal (0x0x7fc89492bde0) 0 empty
+
+Vtable for QDBusServiceWatcher
+QDBusServiceWatcher::_ZTV19QDBusServiceWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QDBusServiceWatcher)
+16 (int (*)(...))QDBusServiceWatcher::metaObject
+24 (int (*)(...))QDBusServiceWatcher::qt_metacast
+32 (int (*)(...))QDBusServiceWatcher::qt_metacall
+40 (int (*)(...))QDBusServiceWatcher::~QDBusServiceWatcher
+48 (int (*)(...))QDBusServiceWatcher::~QDBusServiceWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDBusServiceWatcher
+ size=16 align=8
+ base size=16 base align=8
+QDBusServiceWatcher (0x0x7fc894902e38) 0
+ vptr=((& QDBusServiceWatcher::_ZTV19QDBusServiceWatcher) + 16u)
+ QObject (0x0x7fc89492bd80) 0
+ primary-for QDBusServiceWatcher (0x0x7fc894902e38)
+
+Class QDBusUnixFileDescriptor
+ size=8 align=8
+ base size=8 base align=8
+QDBusUnixFileDescriptor (0x0x7fc894a02000) 0
+
+Class QDBusVirtualObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDBusVirtualObject::QPrivateSignal (0x0x7fc894a02480) 0 empty
+
+Vtable for QDBusVirtualObject
+QDBusVirtualObject::_ZTV18QDBusVirtualObject: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QDBusVirtualObject)
+16 (int (*)(...))QDBusVirtualObject::metaObject
+24 (int (*)(...))QDBusVirtualObject::qt_metacast
+32 (int (*)(...))QDBusVirtualObject::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QDBusVirtualObject
+ size=16 align=8
+ base size=16 base align=8
+QDBusVirtualObject (0x0x7fc894a24000) 0
+ vptr=((& QDBusVirtualObject::_ZTV18QDBusVirtualObject) + 16u)
+ QObject (0x0x7fc894a02420) 0
+ primary-for QDBusVirtualObject (0x0x7fc894a24000)
+
diff --git a/tests/auto/bic/data/QtGui.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtGui.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..5d8cea562b
--- /dev/null
+++ b/tests/auto/bic/data/QtGui.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,8422 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f97c7db9660) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f97c7e1fde0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f97c7e4a060) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f97c7e4a2a0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f97c7e4a4e0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f97c7e4a660) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f97c7e4aa20) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f97c7a9a1e0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f97c7a9a2a0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f97c7a9a600) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f97c7a9a6c0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f97c7a9a780) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f97c7a9a840) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f97c7a9aae0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f97c7a9acc0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f97c7b18180) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f97c7b181e0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f97c7b55e40) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f97c7b55ea0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f97c7a88750) 0 empty
+ std::input_iterator_tag (0x0x7f97c7b55f00) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f97c7a887b8) 0 empty
+ std::forward_iterator_tag (0x0x7f97c7a88820) 0 empty
+ std::input_iterator_tag (0x0x7f97c7b55f60) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f97c7a88888) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f97c7a888f0) 0 empty
+ std::forward_iterator_tag (0x0x7f97c7a88958) 0 empty
+ std::input_iterator_tag (0x0x7f97c7b7e000) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f97c7b7ec60) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f97c7b7ecc0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f97c7b7ed20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f97c7b7ed80) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f97c7b7ede0) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7f97c784e900) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f97c784eb40) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f97c784ec00) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f97c784ec60) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f97c784ed20) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f97c784ed80) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f97c78f1240) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f97c78f12a0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f97c78f1300) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f97c7a88ea0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7f97c78f1360) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f97c7a88ea0)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f97c78f13c0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f97c78f1420) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f97c79e00d0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7f97c78f1840) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f97c79e00d0)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f97c79e0138) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7f97c79e01a0) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f97c79e0138)
+ std::exception (0x0x7f97c78f18a0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f97c79e01a0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f97c78f1900) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7f97c7665540) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f97c7486240) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f97c74862a0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f97c752a180) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7f97c752a1e0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f97c752a2a0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f97c752a300) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f97c752a360) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f97c752a3c0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f97c752a4e0) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f97c752a540) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f97c752a960) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f97c752a9c0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f97c704c1e0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f97c704c240) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f97c71271e0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f97c6f3c000) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f97c7044f08) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f97c6f3c0c0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f97c7044f70) 0
+ std::_Bit_iterator_base (0x0x7f97c70446e8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f97c6f3c120) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f97c7044750) 0
+ std::_Bit_iterator_base (0x0x7f97c7044a28) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f97c6f3c180) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f97c6f3cf60) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f97c6d22d20) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f97c6d22cc0) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f97c6a56cc0) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f97c56b07e0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f97c56b0840) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f97c5797300) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f97c5797360) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f97c57973c0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f97c5797420) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f97c57976c0) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f97c5797c00) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f97c5778dd0) 0
+ std::__atomic_flag_base (0x0x7f97c5797c60) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f97c55cd548) 0
+ QAtomicInteger<int> (0x0x7f97c55cd5b0) 0
+ QBasicAtomicInteger<int> (0x0x7f97c534d3c0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f97c4e79960) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f97c4bdcb40) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f97c4bdcc60) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f97c4c321a0) 0
+ QGenericArgument (0x0x7f97c4bdccc0) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f97c4bdce40) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f97c4bdcf00) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f97c4cd7f60) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f97c4d05000) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f97c4d052a0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f97c4d05300) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f97c4d05660) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f97c4d056c0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f97c4d05720) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f97c4d05780) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f97c4d057e0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f97c4d05ba0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f97c4a0a7b8) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7f97c4d05c60) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f97c4a0a7b8)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f97c4a0a820) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7f97c4a0a888) 0
+ primary-for std::domain_error (0x0x7f97c4a0a820)
+ std::exception (0x0x7f97c4d05cc0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f97c4a0a888)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f97c4a0a8f0) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7f97c4a0a958) 0
+ primary-for std::invalid_argument (0x0x7f97c4a0a8f0)
+ std::exception (0x0x7f97c4d05d20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f97c4a0a958)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f97c4a0a9c0) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7f97c4a0aa28) 0
+ primary-for std::length_error (0x0x7f97c4a0a9c0)
+ std::exception (0x0x7f97c4d05d80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f97c4a0aa28)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f97c4a0aa90) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7f97c4a0aaf8) 0
+ primary-for std::out_of_range (0x0x7f97c4a0aa90)
+ std::exception (0x0x7f97c4d05de0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f97c4a0aaf8)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f97c4a0ab60) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7f97c4d05e40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f97c4a0ab60)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f97c4a0abc8) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7f97c4a0ac30) 0
+ primary-for std::range_error (0x0x7f97c4a0abc8)
+ std::exception (0x0x7f97c4d05ea0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f97c4a0ac30)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f97c4a0ac98) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7f97c4a0ad00) 0
+ primary-for std::overflow_error (0x0x7f97c4a0ac98)
+ std::exception (0x0x7f97c4d05f00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f97c4a0ad00)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f97c4a0ad68) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7f97c4a0add0) 0
+ primary-for std::underflow_error (0x0x7f97c4a0ad68)
+ std::exception (0x0x7f97c4d05f60) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f97c4a0add0)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f97c4ac5120) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f97c4ac5360) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f97c4ac54e0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f97c4b04208) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7f97c4b04270) 0
+ primary-for std::system_error (0x0x7f97c4b04208)
+ std::exception (0x0x7f97c4ac5720) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f97c4b04270)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f97c4b04e38) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7f97c4b04ea0) 0
+ primary-for std::ios_base::failure (0x0x7f97c4b04e38)
+ std::runtime_error (0x0x7f97c4b04f08) 0
+ primary-for std::system_error (0x0x7f97c4b04ea0)
+ std::exception (0x0x7f97c4ac5a20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f97c4b04f08)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f97c4ac5a80) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f97c4ac5ae0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f97c4ac5b40) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f97c4ac59c0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f97c4801300) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f97c48019c0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f97c43be820 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f97c43be8f0 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f97c43bec98 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f97c43bed68 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f97c4422240) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f97c44222a0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f97c4542600) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f97c4542960) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f97c4542de0) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f97c4275c60) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f97c4308300) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f97c43082a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f97c40b33c0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f97c3e7a000) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f97c3e7ac60) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f97c3e7acc0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f97c3e7ad20) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f97c3c91120) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f97c3c91180) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f97c3bbf7b8) 0 empty
+ QListData::NotIndirectLayout (0x0x7f97c3c911e0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f97c3d19230) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f97c3c91240) 0 empty
+ QListData::NotIndirectLayout (0x0x7f97c3c912a0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f97c3bbf820) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f97c3c91300) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f97c3c91360) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f97c3c910c0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f97c3c917e0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f97c3ac8a20) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f97c3ac89c0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f97c3ad5270) 0
+ QList<QString> (0x0x7f97c3ad52d8) 0
+ QListSpecialMethods<QString> (0x0x7f97c3ac8c00) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f97c3b6b060) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f97c3b6bc00) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f97c38f42a0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f97c38f4420) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f97c38f44e0) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f97c3ad5bc8) 0
+ std::__uses_alloc_base (0x0x7f97c38f4480) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f97c3675540) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f97c3675780) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f97c3675840) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f97c3675960) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f97c3675ae0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f97c3675f00) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f97c33d0060) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f97c33d09c0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f97c33d0de0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f97c34bf120) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f97c32cdae0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f97c302b960) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f97c302b9c0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f97c302bba0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f97c302bb40) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f97c30dce40) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f97c30dcea0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f97c30dcf60) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f97c30fef70) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7f97c30dcf00) 0
+ primary-for QAbstractAnimation (0x0x7f97c30fef70)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f97c3166060) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f97c30fe138) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7f97c3166000) 0
+ primary-for QAnimationDriver (0x0x7f97c30fe138)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f97c3166120) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f97c30fe2d8) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7f97c31660c0) 0
+ primary-for QEventLoop (0x0x7f97c30fe2d8)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f97c3166300) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f97c31663c0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f97c3166420) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f97c2daf000) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7f97c3166360) 0
+ primary-for QAbstractEventDispatcher (0x0x7f97c2daf000)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f97c31666c0) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f97c2daf208) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7f97c3166720) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f97c2daf208)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f97c2daf270) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7f97c3166780) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f97c2daf270)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f97c2f264e0) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7f97c2efe840) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f97c2f264e0)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f97c2efe900) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f97c2efe960) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f97c2efea80) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f97c2efef60) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f97c2bea4e0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f97c2bea8a0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f97c2bea840) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f97c2bea900) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f97c2a001e0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f97c2a002a0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f97c2a00240) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f97c2a00300) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f97c2a00180) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f97c2acdde0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f97c277a480) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f97c277a420) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f97c277a540) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f97c277a4e0) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f97c289c840) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f97c289cf00) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f97c2688660) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f97c268f270) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7f97c2688600) 0
+ primary-for QAbstractItemModel (0x0x7f97c268f270)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f97c2688f00) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f97c268f958) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7f97c268f9c0) 0
+ primary-for QAbstractTableModel (0x0x7f97c268f958)
+ QObject (0x0x7f97c2688ea0) 0
+ primary-for QAbstractItemModel (0x0x7f97c268f9c0)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f97c2378000) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f97c268fa28) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7f97c268fa90) 0
+ primary-for QAbstractListModel (0x0x7f97c268fa28)
+ QObject (0x0x7f97c2688f60) 0
+ primary-for QAbstractItemModel (0x0x7f97c268fa90)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f97c23782a0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f97c2378360) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f97c268fbc8) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7f97c268fc30) 0
+ primary-for QAbstractProxyModel (0x0x7f97c268fbc8)
+ QObject (0x0x7f97c2378300) 0
+ primary-for QAbstractItemModel (0x0x7f97c268fc30)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f97c2378420) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f97c268fc98) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7f97c23783c0) 0
+ primary-for QAbstractState (0x0x7f97c268fc98)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f97c23784e0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f97c268fd00) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7f97c2378480) 0
+ primary-for QAbstractTransition (0x0x7f97c268fd00)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f97c23785a0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f97c268fd68) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7f97c268fdd0) 0
+ primary-for QAnimationGroup (0x0x7f97c268fd68)
+ QObject (0x0x7f97c2378540) 0
+ primary-for QAbstractAnimation (0x0x7f97c268fdd0)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f97c2453300) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f97c24535a0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f97c2453660) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f97c2453960) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f97c2462478) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7f97c2453900) 0
+ primary-for QIODevice (0x0x7f97c2462478)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f97c2453ba0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f97c24625b0) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7f97c2462618) 0
+ primary-for QBuffer (0x0x7f97c24625b0)
+ QObject (0x0x7f97c2453b40) 0
+ primary-for QIODevice (0x0x7f97c2462618)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f97c2453c60) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f97c2453c00) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f97c2453d80) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f97c2453d20) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f97c2453f60) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f97c217e180) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f97c217e420) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f97c217eba0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f97c217ec00) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f97c217eb40) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f97c22a2d20) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f97c236e360) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f97c236e600) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f97c236e840) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f97c236ef00) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f97c20a00c0) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f97c20a0600) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f97c20a05a0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f97c1eb2900) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f97c1eb29c0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f97c1b30d20) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f97c1b30ea0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f97c1b974e0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f97c1b977e0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f97c1b97ba0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f97c19312a0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f97c19318a0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f97c1931900) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f97c17ea900) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f97c17eaea0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f97c17eaf00) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f97c17eae40) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f97c191cf60) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f97c15bd000) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f97c191cf00) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f97c16cfb40) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f97c16cff00) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f97c143a900) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f97c143af60) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f97c14de060) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f97c115d060) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f97c115d4e0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f97c1147bc8) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7f97c115d540) 0
+ primary-for QTimerEvent (0x0x7f97c1147bc8)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f97c1147c30) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7f97c115d5a0) 0
+ primary-for QChildEvent (0x0x7f97c1147c30)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f97c11cf1a0) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7f97c115da80) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f97c11cf1a0)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f97c11cf208) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7f97c115dae0) 0
+ primary-for QDeferredDeleteEvent (0x0x7f97c11cf208)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f97c115dba0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f97c11cf270) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7f97c115db40) 0
+ primary-for QCoreApplication (0x0x7f97c11cf270)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f97c115dc00) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f97c115dc60) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f97c115dcc0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f97c115dd80) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f97c12502a0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f97c1250780) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f97c0fb5600) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f97c0fb46e8) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7f97c0fb4750) 0
+ primary-for QFileDevice (0x0x7f97c0fb46e8)
+ QObject (0x0x7f97c0fb55a0) 0
+ primary-for QIODevice (0x0x7f97c0fb4750)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f97c0fb5840) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f97c0fb4888) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7f97c0fb48f0) 0
+ primary-for QFile (0x0x7f97c0fb4888)
+ QIODevice (0x0x7f97c0fb4958) 0
+ primary-for QFileDevice (0x0x7f97c0fb48f0)
+ QObject (0x0x7f97c0fb57e0) 0
+ primary-for QIODevice (0x0x7f97c0fb4958)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f97c0fb5a20) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f97c0fb5e40) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f97c10a2480) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f97c10a26c0) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f97c0dbeae0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f97c0dc1958) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7f97c0dc19c0) 0
+ primary-for QEventTransition (0x0x7f97c0dc1958)
+ QObject (0x0x7f97c0dbea80) 0
+ primary-for QAbstractTransition (0x0x7f97c0dc19c0)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f97c0dc1a28) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7f97c0dbeb40) 0 nearly-empty
+ primary-for QException (0x0x7f97c0dc1a28)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f97c0dc1a90) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7f97c0dc1af8) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f97c0dc1a90)
+ std::exception (0x0x7f97c0dbeba0) 0 nearly-empty
+ primary-for QException (0x0x7f97c0dc1af8)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f97c0dbec00) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f97c0dbecc0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f97c0dbed20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f97c0dbee40) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f97c0dc1b60) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7f97c0dbede0) 0
+ primary-for QFileSelector (0x0x7f97c0dc1b60)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f97c0dbef00) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f97c0dc1bc8) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7f97c0dbeea0) 0
+ primary-for QFileSystemWatcher (0x0x7f97c0dc1bc8)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f97c0e73000) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f97c0dc1c30) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7f97c0dc1c98) 0
+ primary-for QFinalState (0x0x7f97c0dc1c30)
+ QObject (0x0x7f97c0dbef60) 0
+ primary-for QAbstractState (0x0x7f97c0dc1c98)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f97c0e73060) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f97c0e730c0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f97c0dc1dd0) 0
+ QBasicMutex (0x0x7f97c0e732a0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f97c0e73300) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f97c0e73360) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f97c0e733c0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f97c0e734e0) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f97c0e73d20) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f97c0bef540) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f97c0b6af08) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7f97c0bef4e0) 0
+ primary-for QFutureWatcherBase (0x0x7f97c0b6af08)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f97c0befb40) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f97c0c2e820) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7f97c0c2e888) 0
+ primary-for QHistoryState (0x0x7f97c0c2e820)
+ QObject (0x0x7f97c0befae0) 0
+ primary-for QAbstractState (0x0x7f97c0c2e888)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f97c0befc00) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f97c0c2e8f0) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f97c0c2e958) 0
+ primary-for QIdentityProxyModel (0x0x7f97c0c2e8f0)
+ QAbstractItemModel (0x0x7f97c0c2e9c0) 0
+ primary-for QAbstractProxyModel (0x0x7f97c0c2e958)
+ QObject (0x0x7f97c0befba0) 0
+ primary-for QAbstractItemModel (0x0x7f97c0c2e9c0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f97c0befc60) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f97c0cc2360) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f97c0cc3208) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7f97c0cc2300) 0
+ primary-for QItemSelectionModel (0x0x7f97c0cc3208)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f97c0cc3410) 0
+ QList<QItemSelectionRange> (0x0x7f97c0cc3478) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f97c0cc2660) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f97c0cc2b40) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f97c0ad52a0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f97c0ad57e0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f97c0ad5840) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f97c0ad5a20) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f97c0ad5a80) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f97c0ad59c0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f97c07e4cc0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f97c07e4d20) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f97c085f3c0) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f97c085f420) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f97c085f360) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f97c05156c0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f97c05197b8) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7f97c0515660) 0
+ primary-for QLibrary (0x0x7f97c05197b8)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f97c0515d80) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f97c05158a0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f97c06062a0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f97c0606300) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f97c06065a0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f97c0606ba0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f97c06a6540) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f97c06a6b40) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f97c06a6ea0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f97c03e5060) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f97c03e5000) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f97c03e51e0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f97c03e5480) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f97c03e5ae0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f97c03e5b40) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f97c011d180) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f97c011d480) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f97c011d4e0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f97c011d7e0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f97c04a9a28) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7f97c011d780) 0
+ primary-for QMimeData (0x0x7f97c04a9a28)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f97c011d840) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f97c011db40) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f97c011dc00) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f97c04a9c30) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7f97c011dba0) 0
+ primary-for QObjectCleanupHandler (0x0x7f97c04a9c30)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f97c011dc60) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f97c01a7420) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f97c01a8340) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f97c01a83a8) 0
+ primary-for QParallelAnimationGroup (0x0x7f97c01a8340)
+ QAbstractAnimation (0x0x7f97c01a8410) 0
+ primary-for QAnimationGroup (0x0x7f97c01a83a8)
+ QObject (0x0x7f97c01a73c0) 0
+ primary-for QAbstractAnimation (0x0x7f97c01a8410)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f97c01a74e0) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f97c01a8478) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7f97c01a84e0) 0
+ primary-for QPauseAnimation (0x0x7f97c01a8478)
+ QObject (0x0x7f97c01a7480) 0
+ primary-for QAbstractAnimation (0x0x7f97c01a84e0)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f97c01a76c0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f97c01a79c0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f97c01a86e8) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7f97c01a7960) 0
+ primary-for QPluginLoader (0x0x7f97c01a86e8)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f97c01a7a20) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f97c0230120) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f97c01a8d68) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7f97c01a8dd0) 0
+ primary-for QProcess (0x0x7f97c01a8d68)
+ QObject (0x0x7f97c02300c0) 0
+ primary-for QIODevice (0x0x7f97c01a8dd0)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f97c02301e0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f97c01a8e38) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7f97c01a8ea0) 0
+ primary-for QVariantAnimation (0x0x7f97c01a8e38)
+ QObject (0x0x7f97c0230180) 0
+ primary-for QAbstractAnimation (0x0x7f97c01a8ea0)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f97c02302a0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f97c01a8f70) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7f97c0285000) 0
+ primary-for QPropertyAnimation (0x0x7f97c01a8f70)
+ QAbstractAnimation (0x0x7f97c0285068) 0
+ primary-for QVariantAnimation (0x0x7f97c0285000)
+ QObject (0x0x7f97c0230240) 0
+ primary-for QAbstractAnimation (0x0x7f97c0285068)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f97c02303c0) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f97c0230360) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f97bff26340) 0
+ QRandomGenerator (0x0x7f97bff24360) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f97bff24420) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f97bff246c0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f97bff24780) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f97bff24840) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f97bff24ae0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f97bff24d80) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f97c0083060) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f97c0083300) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f97c0083480) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f97bff26ea0) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7f97bff26f08) 0
+ primary-for QSaveFile (0x0x7f97bff26ea0)
+ QIODevice (0x0x7f97bff26f70) 0
+ primary-for QFileDevice (0x0x7f97bff26f08)
+ QObject (0x0x7f97c0083420) 0
+ primary-for QIODevice (0x0x7f97bff26f70)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f97c00835a0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f97c0083720) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f97bfec8d20) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f97bfedf820) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f97bfedf888) 0
+ primary-for QSequentialAnimationGroup (0x0x7f97bfedf820)
+ QAbstractAnimation (0x0x7f97bfedf8f0) 0
+ primary-for QAnimationGroup (0x0x7f97bfedf888)
+ QObject (0x0x7f97bfec8cc0) 0
+ primary-for QAbstractAnimation (0x0x7f97bfedf8f0)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f97bfec8de0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f97bfedf958) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7f97bfec8d80) 0
+ primary-for QSettings (0x0x7f97bfedf958)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f97bfec8ea0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f97bfedf9c0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7f97bfec8e40) 0
+ primary-for QSharedMemory (0x0x7f97bfedf9c0)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f97bfec8f60) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f97bfedfa28) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7f97bfec8f00) 0
+ primary-for QSignalMapper (0x0x7f97bfedfa28)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f97bfb45060) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f97bfedfa90) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7f97bfedfaf8) 0
+ primary-for QSignalTransition (0x0x7f97bfedfa90)
+ QObject (0x0x7f97bfb45000) 0
+ primary-for QAbstractTransition (0x0x7f97bfedfaf8)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f97bfb45120) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f97bfedfb60) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7f97bfb450c0) 0
+ primary-for QSocketNotifier (0x0x7f97bfedfb60)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f97bfb451e0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f97bfedfbc8) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f97bfedfc30) 0
+ primary-for QSortFilterProxyModel (0x0x7f97bfedfbc8)
+ QAbstractItemModel (0x0x7f97bfedfc98) 0
+ primary-for QAbstractProxyModel (0x0x7f97bfedfc30)
+ QObject (0x0x7f97bfb45180) 0
+ primary-for QAbstractItemModel (0x0x7f97bfedfc98)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f97bfb452a0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f97bfb454e0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f97bfedfe38) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7f97bfedfea0) 0
+ primary-for QState (0x0x7f97bfedfe38)
+ QObject (0x0x7f97bfb45480) 0
+ primary-for QAbstractState (0x0x7f97bfedfea0)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f97bfb45600) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f97bfbeb068) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7f97bfb45660) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f97bfbeb068)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f97bfbeb0d0) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7f97bfb456c0) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f97bfbeb0d0)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f97bfedff08) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7f97bfedff70) 0
+ primary-for QStateMachine (0x0x7f97bfedff08)
+ QAbstractState (0x0x7f97bfbeb000) 0
+ primary-for QState (0x0x7f97bfedff70)
+ QObject (0x0x7f97bfb455a0) 0
+ primary-for QAbstractState (0x0x7f97bfbeb000)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f97bfb45720) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f97bfc4c660) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f97bfcd2a20) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f97bfcef0d0) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7f97bfcef138) 0
+ primary-for QStringListModel (0x0x7f97bfcef0d0)
+ QAbstractItemModel (0x0x7f97bfcef1a0) 0
+ primary-for QAbstractListModel (0x0x7f97bfcef138)
+ QObject (0x0x7f97bfcd29c0) 0
+ primary-for QAbstractItemModel (0x0x7f97bfcef1a0)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f97bfcd2a80) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f97bfcd2b40) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f97bfcd2c60) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f97bfcef208) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7f97bfcef270) 0
+ primary-for QTemporaryFile (0x0x7f97bfcef208)
+ QFileDevice (0x0x7f97bfcef2d8) 0
+ primary-for QFile (0x0x7f97bfcef270)
+ QIODevice (0x0x7f97bfcef340) 0
+ primary-for QFileDevice (0x0x7f97bfcef2d8)
+ QObject (0x0x7f97bfcd2c00) 0
+ primary-for QIODevice (0x0x7f97bfcef340)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f97bfcd2cc0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f97bfcd2f00) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f97bfcd2ea0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f97bf984120) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f97bf984180) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f97bf9841e0) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f97bf984240) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f97bfcef548) 0
+ std::__mutex_base (0x0x7f97bf9842a0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f97bfcef5b0) 0
+ std::__recursive_mutex_base (0x0x7f97bf984300) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f97bf9eb310) 0
+ std::__mutex_base (0x0x7f97bf984420) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f97bf984480) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f97bf9ebcb0) 0
+ std::__recursive_mutex_base (0x0x7f97bf984540) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f97bf9845a0) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f97bf984600) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f97bf984660) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f97bf9846c0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f97bf984900) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f97bfcef6e8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7f97bf9849c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f97bfcef6e8)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f97bfcef750) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7f97bf984a80) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f97bfcef750)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f97bfcef7b8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7f97bf984b40) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f97bfcef7b8)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f97bfcef888) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7f97bf984c00) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f97bfcef888)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f97bf984cc0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f97bf984d20) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f97bf984d80) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f97bf984de0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f97bfcefb60) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7f97bfacf180) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f97bfcefb60)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f97bfacf9c0) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f97bf87d1e0) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f97bf87d3c0) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7f97bf87d420) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f97bf87d360) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f97bf61d060) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f97bf61d120) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f97bf61d180) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f97bf6d37e0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f97bf6c4ea0) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7f97bf6c4f08) 0
+ primary-for std::future_error (0x0x7f97bf6c4ea0)
+ std::exception (0x0x7f97bf6d3900) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f97bf6c4f08)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f97bf6d3a20) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f97bf6d39c0) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f97bf369f60) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f97bf4514e0) 0
+ std::__at_thread_exit_elt (0x0x7f97bf475060) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f97bf6d3ba0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f97bf6d3960) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f97bedf30d0) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7f97bed9af00) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f97bedf30d0)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f97bee01660) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f97bedf3b60) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7f97bee01600) 0
+ primary-for QThread (0x0x7f97bedf3b60)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f97bee01780) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f97bedf3bc8) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7f97bee01720) 0
+ primary-for QThreadPool (0x0x7f97bedf3bc8)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f97bee017e0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f97bee01900) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f97bedf3c30) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7f97bee018a0) 0
+ primary-for QTimeLine (0x0x7f97bedf3c30)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f97bee019c0) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f97bedf3c98) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7f97bee01960) 0
+ primary-for QTimer (0x0x7f97bedf3c98)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f97beec7120) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f97beec70c0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f97beec76c0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f97beebb820) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7f97beec7660) 0
+ primary-for QTranslator (0x0x7f97beebb820)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f97beec7720) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f97beec7d80) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f97beec7de0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f97beb720c0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f97beb73548) 0
+ QVector<QXmlStreamAttribute> (0x0x7f97beb72480) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f97beb724e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f97beb72780) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f97beb72a20) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f97beb72cc0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f97beb72d20) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f97bec7d780) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7f97bec7d8a0) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7f97bec7db40) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7f97be9a3540) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7f97be9a34e0) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7f97bea548a0) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7f97be705de0) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7f97be7500c0) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7f97be72d340) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x0x7f97be7502a0) 0
+ primary-for QInputEvent (0x0x7f97be72d340)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7f97be72d3a8) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16u)
+ QEvent (0x0x7f97be750300) 0
+ primary-for QEnterEvent (0x0x7f97be72d3a8)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7f97be72d410) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x0x7f97be72d478) 0
+ primary-for QMouseEvent (0x0x7f97be72d410)
+ QEvent (0x0x7f97be750360) 0
+ primary-for QInputEvent (0x0x7f97be72d478)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7f97be72d4e0) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QInputEvent (0x0x7f97be72d548) 0
+ primary-for QHoverEvent (0x0x7f97be72d4e0)
+ QEvent (0x0x7f97be7503c0) 0
+ primary-for QInputEvent (0x0x7f97be72d548)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7f97be72d5b0) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x0x7f97be72d618) 0
+ primary-for QWheelEvent (0x0x7f97be72d5b0)
+ QEvent (0x0x7f97be750420) 0
+ primary-for QInputEvent (0x0x7f97be72d618)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7f97be72d680) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x0x7f97be72d6e8) 0
+ primary-for QTabletEvent (0x0x7f97be72d680)
+ QEvent (0x0x7f97be750480) 0
+ primary-for QInputEvent (0x0x7f97be72d6e8)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7f97be72d750) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16u)
+ QInputEvent (0x0x7f97be72d7b8) 0
+ primary-for QNativeGestureEvent (0x0x7f97be72d750)
+ QEvent (0x0x7f97be7504e0) 0
+ primary-for QInputEvent (0x0x7f97be72d7b8)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7f97be72d820) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x0x7f97be72d888) 0
+ primary-for QKeyEvent (0x0x7f97be72d820)
+ QEvent (0x0x7f97be750540) 0
+ primary-for QInputEvent (0x0x7f97be72d888)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7f97be72d8f0) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x0x7f97be7505a0) 0
+ primary-for QFocusEvent (0x0x7f97be72d8f0)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7f97be72d958) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x0x7f97be750600) 0
+ primary-for QPaintEvent (0x0x7f97be72d958)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7f97be72d9c0) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x0x7f97be750660) 0
+ primary-for QMoveEvent (0x0x7f97be72d9c0)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7f97be72da28) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16u)
+ QEvent (0x0x7f97be7506c0) 0
+ primary-for QExposeEvent (0x0x7f97be72da28)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7f97be72da90) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16u)
+ QEvent (0x0x7f97be750720) 0
+ primary-for QPlatformSurfaceEvent (0x0x7f97be72da90)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7f97be72daf8) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x0x7f97be750780) 0
+ primary-for QResizeEvent (0x0x7f97be72daf8)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7f97be72db60) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x0x7f97be7507e0) 0
+ primary-for QCloseEvent (0x0x7f97be72db60)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7f97be72dbc8) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x0x7f97be750840) 0
+ primary-for QIconDragEvent (0x0x7f97be72dbc8)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7f97be72dc30) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x0x7f97be7508a0) 0
+ primary-for QShowEvent (0x0x7f97be72dc30)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7f97be72dc98) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x0x7f97be750900) 0
+ primary-for QHideEvent (0x0x7f97be72dc98)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7f97be72dd00) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x0x7f97be72dd68) 0
+ primary-for QContextMenuEvent (0x0x7f97be72dd00)
+ QEvent (0x0x7f97be750960) 0
+ primary-for QInputEvent (0x0x7f97be72dd68)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7f97be750a20) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7f97be72ddd0) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x0x7f97be7509c0) 0
+ primary-for QInputMethodEvent (0x0x7f97be72ddd0)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7f97be750ea0) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7f97be8c2138) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16u)
+ QEvent (0x0x7f97be750e40) 0
+ primary-for QInputMethodQueryEvent (0x0x7f97be8c2138)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7f97be8c2410) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x0x7f97be4fc240) 0
+ primary-for QDropEvent (0x0x7f97be8c2410)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7f97be8c2478) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x0x7f97be8c24e0) 0
+ primary-for QDragMoveEvent (0x0x7f97be8c2478)
+ QEvent (0x0x7f97be4fc2a0) 0
+ primary-for QDropEvent (0x0x7f97be8c24e0)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7f97be8c2548) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x0x7f97be8c25b0) 0
+ primary-for QDragEnterEvent (0x0x7f97be8c2548)
+ QDropEvent (0x0x7f97be8c2618) 0
+ primary-for QDragMoveEvent (0x0x7f97be8c25b0)
+ QEvent (0x0x7f97be4fc300) 0
+ primary-for QDropEvent (0x0x7f97be8c2618)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7f97be8c2680) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x0x7f97be4fc360) 0
+ primary-for QDragLeaveEvent (0x0x7f97be8c2680)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7f97be8c26e8) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x0x7f97be4fc3c0) 0
+ primary-for QHelpEvent (0x0x7f97be8c26e8)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7f97be8c2750) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x0x7f97be4fc420) 0
+ primary-for QStatusTipEvent (0x0x7f97be8c2750)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7f97be8c27b8) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x0x7f97be4fc480) 0
+ primary-for QWhatsThisClickedEvent (0x0x7f97be8c27b8)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7f97be8c2820) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x0x7f97be4fc4e0) 0
+ primary-for QActionEvent (0x0x7f97be8c2820)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7f97be8c2888) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x0x7f97be4fc540) 0
+ primary-for QFileOpenEvent (0x0x7f97be8c2888)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7f97be8c28f0) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x0x7f97be4fc5a0) 0
+ primary-for QToolBarChangeEvent (0x0x7f97be8c28f0)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7f97be8c2958) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x0x7f97be4fc600) 0
+ primary-for QShortcutEvent (0x0x7f97be8c2958)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7f97be8c29c0) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x0x7f97be4fc660) 0
+ primary-for QWindowStateChangeEvent (0x0x7f97be8c29c0)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7f97be4fc6c0) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7f97be4fcd80) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7f97be563068) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x0x7f97be5630d0) 0
+ primary-for QTouchEvent (0x0x7f97be563068)
+ QEvent (0x0x7f97be4fcd20) 0
+ primary-for QInputEvent (0x0x7f97be5630d0)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7f97be6238f0) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16u)
+ QEvent (0x0x7f97be62a420) 0
+ primary-for QScrollPrepareEvent (0x0x7f97be6238f0)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7f97be623958) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16u)
+ QEvent (0x0x7f97be62a480) 0
+ primary-for QScrollEvent (0x0x7f97be623958)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7f97be6239c0) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16u)
+ QEvent (0x0x7f97be62a4e0) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7f97be6239c0)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7f97be623a28) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16u)
+ QEvent (0x0x7f97be62a540) 0
+ primary-for QApplicationStateChangeEvent (0x0x7f97be623a28)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7f97be62a5a0) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7f97be2df7b8) 0
+ QVector<QPoint> (0x0x7f97be2eb2a0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7f97be2dfb60) 0
+ QVector<QPointF> (0x0x7f97be2eb720) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7f97be2ebae0) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7f97be2ebde0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7f97be2ebd80) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7f97be4337e0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7f97be433900) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7f97be4cf060) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7f97be4cf0c0) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7f97be181a28) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x0x7f97be4cfb40) 0
+ primary-for QImage (0x0x7f97be181a28)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7f97be2675b0) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x0x7f97be25aae0) 0
+ primary-for QPixmap (0x0x7f97be2675b0)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7f97be25ade0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7f97bdef35a0) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7f97bdef3600) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7f97be267f08) 0
+ QGradient (0x0x7f97bdef38a0) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7f97be267f70) 0
+ QGradient (0x0x7f97bdef3900) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7f97bdf6f000) 0
+ QGradient (0x0x7f97bdef3960) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7f97bdef39c0) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7f97bdfedc00) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7f97bdfedba0) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7f97be0253c0) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7f97be025ae0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7f97be08faf8) 0
+ QTextFormat (0x0x7f97be0d6960) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7f97bddc1138) 0
+ QTextFormat (0x0x7f97be0d6c00) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7f97bddc13a8) 0
+ QTextFormat (0x0x7f97be0d6ea0) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7f97bddc15b0) 0
+ QTextCharFormat (0x0x7f97bddc1618) 0
+ QTextFormat (0x0x7f97bddfe180) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7f97bddc1820) 0
+ QTextFormat (0x0x7f97bddfe420) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7f97bddc1a28) 0
+ QTextFrameFormat (0x0x7f97bddc1a90) 0
+ QTextFormat (0x0x7f97bddfe6c0) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7f97bddc1c98) 0
+ QTextCharFormat (0x0x7f97bddc1d00) 0
+ QTextFormat (0x0x7f97bddfe9c0) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7f97bddfec60) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7f97bddfecc0) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7f97bdebe1e0) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7f97bdebe4e0) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7f97bdebe7e0) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7f97bdebe8a0) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7f97bdebe840) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7f97bdbab300) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7f97bdbab360) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7f97bdbab420) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7f97bdbb8068) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x0x7f97bdbab3c0) 0
+ primary-for QTextDocument (0x0x7f97bdbb8068)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7f97bdbab660) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7f97bdbab600) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7f97bdccc720) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7f97bdccc780) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7f97bdccc7e0) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7f97bdcc8d68) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x0x7f97bdccc6c0) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7f97bdcc8d68)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7f97bdcccd80) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7f97bdcccea0) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7f97bdcccf00) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7f97bdccce40) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7f97bd97f120) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7f97bd97f180) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7f97bd97f1e0) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7f97bd97f240) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7f97bd97f2a0) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16u)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7f97bd97f300) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7f97bd97f360) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7f97bd97f3c0) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7f97bd97f420) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7f97bd9467b8) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f97bd97f960) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7f97bd9467b8)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7f97bd946820) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16u)
+ QAccessibleEvent (0x0x7f97bd97f9c0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f97bd946820)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7f97bd946888) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f97bd9468f0) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7f97bd946888)
+ QAccessibleEvent (0x0x7f97bd97fa20) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f97bd9468f0)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7f97bd946958) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f97bd9469c0) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7f97bd946958)
+ QAccessibleEvent (0x0x7f97bd97fa80) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f97bd9469c0)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7f97bd946a28) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f97bd946a90) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7f97bd946a28)
+ QAccessibleEvent (0x0x7f97bd97fae0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f97bd946a90)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7f97bd946af8) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f97bd946b60) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7f97bd946af8)
+ QAccessibleEvent (0x0x7f97bd97fb40) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f97bd946b60)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7f97bd946bc8) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f97bd97fba0) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7f97bd946bc8)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7f97bd946c30) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f97bd97fc00) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7f97bd946c30)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7f97bd97fcc0) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7f97bd97fd80) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7f97bd946c98) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x0x7f97bd97fd20) 0
+ primary-for QAccessibleBridgePlugin (0x0x7f97bd946c98)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0u
+24 0u
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7f97bd946d00) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x0x7f97bd97fde0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f97bd946d00)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7f97bd946d68) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x0x7f97bd946dd0) 0
+ primary-for QAccessibleApplication (0x0x7f97bd946d68)
+ QAccessibleInterface (0x0x7f97bd97fe40) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f97bd946dd0)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7f97bd97ff00) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7f97bd946e38) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x0x7f97bd97fea0) 0
+ primary-for QAccessiblePlugin (0x0x7f97bd946e38)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7f97bd97ff60) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7f97bd707180) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7f97bd707300) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7f97bd7cf6c0) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7f97bd85bcc0) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7f97bd86d620) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16u)
+ QObject (0x0x7f97bd85bc00) 0
+ primary-for QWindow (0x0x7f97bd86d620)
+ QSurface (0x0x7f97bd85bc60) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312u)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7f97bd85bde0) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7f97bd85dea0) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x0x7f97bd85df08) 0
+ primary-for QBitmap (0x0x7f97bd85dea0)
+ QPaintDevice (0x0x7f97bd85bea0) 0
+ primary-for QPixmap (0x0x7f97bd85df08)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7f97bd4ee240) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7f97bd4ef1a0) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x0x7f97bd4ee1e0) 0
+ primary-for QClipboard (0x0x7f97bd4ef1a0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7f97bd4ee2a0) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7f97bd4ee360) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7f97bd4ef208) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x0x7f97bd4ee300) 0
+ primary-for QDrag (0x0x7f97bd4ef208)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7f97bd4ee3c0) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7f97bd4ee660) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7f97bd4ee960) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7f97bd5c1e40) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7f97bd4efa90) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16u)
+ QObject (0x0x7f97bd5c1de0) 0
+ primary-for QGenericPlugin (0x0x7f97bd4efa90)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7f97bd5c1ea0) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7f97bd5c1f60) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7f97bd4efaf8) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16u)
+ QObject (0x0x7f97bd5c1f00) 0
+ primary-for QInputMethod (0x0x7f97bd4efaf8)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7f97bd6d3060) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7f97bd4efb60) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16u)
+ QCoreApplication (0x0x7f97bd4efbc8) 0
+ primary-for QGuiApplication (0x0x7f97bd4efb60)
+ QObject (0x0x7f97bd6d3000) 0
+ primary-for QCoreApplication (0x0x7f97bd4efbc8)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7f97bd6d35a0) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7f97bd6d3720) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7f97bd6d3540) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7f97bd6d37e0) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7f97bd2f4138) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x0x7f97bd6d3780) 0
+ primary-for QIconEnginePlugin (0x0x7f97bd2f4138)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0u
+24 0u
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7f97bd6d3840) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7f97bd6d39c0) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7f97bd2f41a0) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x0x7f97bd6d3960) 0
+ primary-for QImageIOPlugin (0x0x7f97bd2f41a0)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7f97bd6d3ba0) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7f97bd6d3c00) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7f97bd6d3c60) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7f97bd6d3f00) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7f97bd4231e0) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7f97bd4237e0) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7f97bd423f60) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7f97bd1283a8) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x0x7f97bd423f00) 0
+ primary-for QMovie (0x0x7f97bd1283a8)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7f97bd22a0c0) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7f97bd1d2e00) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16u)
+ QObject (0x0x7f97bd22a000) 0
+ primary-for QOffscreenSurface (0x0x7f97bd1d2e00)
+ QSurface (0x0x7f97bd22a060) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160u)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7f97bd22a180) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7f97bd22a360) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7f97bcb8fe40) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7f97bcb8fea0) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7f97bcb8ff00) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7f97bcb8ff60) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16u)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7f97bcbdb060) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7f97bcbb3618) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb000) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7f97bcbdb180) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7f97bcbb3680) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb120) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7f97bcbdb2a0) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7f97bcbb36e8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb240) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7f97bcbdb3c0) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7f97bcbb3750) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb360) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7f97bcbdb540) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7f97bcbb37b8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb4e0) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7f97bcbdb660) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7f97bcbb3820) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb600) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7f97bcbdb780) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7f97bcbb3888) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb720) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7f97bcbdb8a0) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7f97bcbb38f0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb840) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7f97bcbdb9c0) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7f97bcbb3958) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdb960) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7f97bcbdbae0) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7f97bcbb39c0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdba80) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7f97bcbdbc00) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7f97bcbb3a28) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdbba0) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7f97bcbdbd20) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7f97bcbb3a90) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdbcc0) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7f97bcbdbe40) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7f97bcbb3af8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdbde0) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7f97bcbdbf60) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7f97bcbb3b60) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bcbdbf00) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7f97bccd20c0) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7f97bcbb3bc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2060) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7f97bccd21e0) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7f97bcbb3c30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2180) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7f97bccd2300) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7f97bcbb3c98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd22a0) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7f97bccd2480) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7f97bcbb3d00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2420) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7f97bccd25a0) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7f97bcbb3d68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2540) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7f97bccd26c0) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7f97bcbb3dd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2660) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7f97bccd27e0) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7f97bcbb3e38) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2780) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7f97bccd2900) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7f97bcbb3ea0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd28a0) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7f97bccd2a20) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7f97bcbb3f08) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd29c0) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7f97bccd2b40) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7f97bcbb3f70) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2ae0) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7f97bccd2c60) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7f97bc9cf000) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2c00) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7f97bccd2d80) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7f97bc9cf068) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2d20) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7f97bccd2ea0) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7f97bc9cf0d0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f97bccd2e40) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7f97bccd2f60) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7f97bca00960) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7f97bc9cfaf8) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16u)
+ QObject (0x0x7f97bca00900) 0
+ primary-for QOpenGLContextGroup (0x0x7f97bc9cfaf8)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7f97bca00a20) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7f97bc9cfb60) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16u)
+ QObject (0x0x7f97bca009c0) 0
+ primary-for QOpenGLContext (0x0x7f97bc9cfb60)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7f97bca00a80) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7f97bca902a0) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7f97bc6e3000) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16u)
+ QObject (0x0x7f97bca90240) 0
+ primary-for QOpenGLDebugLogger (0x0x7f97bc6e3000)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7f97bca90420) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7f97bca90660) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7f97bca90600) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7f97bc6e3270) 0
+ QOpenGLFunctions (0x0x7f97bc864d80) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7f97bc864e40) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7f97bc6e32d8) 0
+ QOpenGLFunctionsPrivate (0x0x7f97bc864de0) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7f97bc6cb540) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16u)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7f97bc6cb660) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7f97bc6e35b0) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16u)
+ QPaintDevice (0x0x7f97bc6cb6c0) 0
+ primary-for QOpenGLPaintDevice (0x0x7f97bc6e35b0)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7f97bc6cb7e0) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7f97bc6cbb40) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7f97bc6e37b8) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16u)
+ QObject (0x0x7f97bc6cbae0) 0
+ primary-for QOpenGLShader (0x0x7f97bc6e37b8)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7f97bc6cbd80) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7f97bc6e38f0) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16u)
+ QObject (0x0x7f97bc6cbd20) 0
+ primary-for QOpenGLShaderProgram (0x0x7f97bc6e38f0)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7f97bc6cbde0) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7f97bc4430c0) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7f97bc443240) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7f97bc6e3a28) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16u)
+ QObject (0x0x7f97bc4431e0) 0
+ primary-for QOpenGLTimerQuery (0x0x7f97bc6e3a28)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7f97bc443300) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7f97bc6e3a90) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16u)
+ QObject (0x0x7f97bc4432a0) 0
+ primary-for QOpenGLTimeMonitor (0x0x7f97bc6e3a90)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7f97bc4433c0) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7f97bc443420) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7f97bc6e3af8) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16u)
+ QObject (0x0x7f97bc443360) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7f97bc6e3af8)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7f97bc4435a0) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7f97bc498d20) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16u)
+ QWindow (0x0x7f97bc498d90) 0
+ primary-for QPaintDeviceWindow (0x0x7f97bc498d20)
+ QObject (0x0x7f97bc443480) 0
+ primary-for QWindow (0x0x7f97bc498d90)
+ QSurface (0x0x7f97bc4434e0) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336u)
+ QPaintDevice (0x0x7f97bc443540) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400u)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7f97bc443720) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7f97bc6e3bc8) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16u)
+ QPaintDeviceWindow (0x0x7f97bc4c5150) 0
+ primary-for QOpenGLWindow (0x0x7f97bc6e3bc8)
+ QWindow (0x0x7f97bc4c51c0) 0
+ primary-for QPaintDeviceWindow (0x0x7f97bc4c5150)
+ QObject (0x0x7f97bc443600) 0
+ primary-for QWindow (0x0x7f97bc4c51c0)
+ QSurface (0x0x7f97bc443660) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384u)
+ QPaintDevice (0x0x7f97bc4436c0) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448u)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7f97bc443780) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7f97bc0f5180) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7f97bc0f5ba0) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7f97bc0e28f0) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16u)
+ QPaintDevice (0x0x7f97bc0f5b40) 0
+ primary-for QPagedPaintDevice (0x0x7f97bc0e28f0)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7f97bc0f5c60) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7f97bc0f5c00) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7f97bc1eaa80) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7f97bc1ead20) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7f97bbfb5000) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7f97bbfb5420) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7f97bc02b0e0) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16u)
+ QObject (0x0x7f97bbfb5360) 0
+ primary-for QPdfWriter (0x0x7f97bc02b0e0)
+ QPagedPaintDevice (0x0x7f97bbed5958) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176u)
+ QPaintDevice (0x0x7f97bbfb53c0) 16
+ primary-for QPagedPaintDevice (0x0x7f97bbed5958)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7f97bbed59c0) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x0x7f97bbfb55a0) 0
+ primary-for QPicture (0x0x7f97bbed59c0)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7f97bbfb58a0) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7f97bbfb5960) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7f97bbed5bc8) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x0x7f97bbfb5900) 0
+ primary-for QPictureFormatPlugin (0x0x7f97bbed5bc8)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7f97bbfb5a20) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7f97bbfb59c0) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7f97bbcf6ba0) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7f97bbd032d8) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16u)
+ QPaintDeviceWindow (0x0x7f97bbcfce70) 0
+ primary-for QRasterWindow (0x0x7f97bbd032d8)
+ QWindow (0x0x7f97bbcfcee0) 0
+ primary-for QPaintDeviceWindow (0x0x7f97bbcfce70)
+ QObject (0x0x7f97bbcf6a80) 0
+ primary-for QWindow (0x0x7f97bbcfcee0)
+ QSurface (0x0x7f97bbcf6ae0) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344u)
+ QPaintDevice (0x0x7f97bbcf6b40) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408u)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7f97bbcf6c60) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7f97bbd033a8) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16u)
+ QObject (0x0x7f97bbcf6c00) 0
+ primary-for QScreen (0x0x7f97bbd033a8)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7f97bbcf6d20) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7f97bbd03410) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x0x7f97bbcf6cc0) 0
+ primary-for QSessionManager (0x0x7f97bbd03410)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7f97bbcf6d80) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7f97bbd944e0) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7f97bbd03a90) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x0x7f97bbd03af8) 0
+ primary-for QStandardItemModel (0x0x7f97bbd03a90)
+ QObject (0x0x7f97bbd94480) 0
+ primary-for QAbstractItemModel (0x0x7f97bbd03af8)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7f97bbd94540) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7f97bbd949c0) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7f97bbd03d00) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16u)
+ QObject (0x0x7f97bbd94960) 0
+ primary-for QStyleHints (0x0x7f97bbd03d00)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7f97bbd94a80) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7f97bbd03d68) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x0x7f97bbd94a20) 0
+ primary-for QTextObject (0x0x7f97bbd03d68)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7f97bbd94b40) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7f97bbd03dd0) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x0x7f97bbd03e38) 0
+ primary-for QTextBlockGroup (0x0x7f97bbd03dd0)
+ QObject (0x0x7f97bbd94ae0) 0
+ primary-for QTextObject (0x0x7f97bbd03e38)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7f97bbd94ba0) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7f97bbd94c60) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7f97bbd94cc0) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7f97bbd03ea0) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x0x7f97bbd03f08) 0
+ primary-for QTextFrame (0x0x7f97bbd03ea0)
+ QObject (0x0x7f97bbd94c00) 0
+ primary-for QTextObject (0x0x7f97bbd03f08)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7f97bbd94f60) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7f97bbadf060) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7f97bbadf000) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7f97bbadf540) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7f97bbadf840) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7f97bbad9618) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x0x7f97bbadf7e0) 0
+ primary-for QSyntaxHighlighter (0x0x7f97bbad9618)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7f97bbadf8a0) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7f97bbadf900) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7f97bbadf9c0) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7f97bbad9680) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x0x7f97bbad96e8) 0
+ primary-for QTextList (0x0x7f97bbad9680)
+ QTextObject (0x0x7f97bbad9750) 0
+ primary-for QTextBlockGroup (0x0x7f97bbad96e8)
+ QObject (0x0x7f97bbadf960) 0
+ primary-for QTextObject (0x0x7f97bbad9750)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7f97bbadfa20) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7f97bbadfae0) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7f97bbad97b8) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x0x7f97bbad9820) 0
+ primary-for QTextTable (0x0x7f97bbad97b8)
+ QTextObject (0x0x7f97bbad9888) 0
+ primary-for QTextFrame (0x0x7f97bbad9820)
+ QObject (0x0x7f97bbadfa80) 0
+ primary-for QTextObject (0x0x7f97bbad9888)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7f97bbadfba0) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7f97bbad98f0) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x0x7f97bbadfb40) 0
+ primary-for QValidator (0x0x7f97bbad98f0)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7f97bbadfc60) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7f97bbad9958) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x0x7f97bbad99c0) 0
+ primary-for QIntValidator (0x0x7f97bbad9958)
+ QObject (0x0x7f97bbadfc00) 0
+ primary-for QValidator (0x0x7f97bbad99c0)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7f97bbadfd20) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7f97bbad9a28) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x0x7f97bbad9a90) 0
+ primary-for QDoubleValidator (0x0x7f97bbad9a28)
+ QObject (0x0x7f97bbadfcc0) 0
+ primary-for QValidator (0x0x7f97bbad9a90)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7f97bbadfe40) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7f97bbad9af8) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x0x7f97bbad9b60) 0
+ primary-for QRegExpValidator (0x0x7f97bbad9af8)
+ QObject (0x0x7f97bbadfde0) 0
+ primary-for QValidator (0x0x7f97bbad9b60)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7f97bbadff00) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7f97bbad9bc8) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16u)
+ QValidator (0x0x7f97bbad9c30) 0
+ primary-for QRegularExpressionValidator (0x0x7f97bbad9bc8)
+ QObject (0x0x7f97bbadfea0) 0
+ primary-for QValidator (0x0x7f97bbad9c30)
+
diff --git a/tests/auto/bic/data/QtNetwork.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtNetwork.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..d8afba6062
--- /dev/null
+++ b/tests/auto/bic/data/QtNetwork.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,5509 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f30cfb60960) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f30cd790120) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f30cd790360) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f30cd7905a0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f30cd7907e0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f30cd790960) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f30cd790d20) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f30cd84d4e0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f30cd84d5a0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f30cd84d900) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f30cd84d9c0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f30cd84da80) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f30cd84db40) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f30cd84dde0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f30cd89c000) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f30cd89c480) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f30cd89c4e0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f30cd936180) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f30cd9361e0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f30cd8437b8) 0 empty
+ std::input_iterator_tag (0x0x7f30cd936240) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f30cd843820) 0 empty
+ std::forward_iterator_tag (0x0x7f30cd843888) 0 empty
+ std::input_iterator_tag (0x0x7f30cd9362a0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f30cd8438f0) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f30cd843958) 0 empty
+ std::forward_iterator_tag (0x0x7f30cd8439c0) 0 empty
+ std::input_iterator_tag (0x0x7f30cd936300) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f30cd936f60) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f30cd5ec000) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f30cd5ec060) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f30cd5ec0c0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f30cd5ec120) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7f30cd5ecc00) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f30cd5ece40) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f30cd5ecf00) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f30cd5ecf60) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f30cd6b0060) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f30cd6b00c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f30cd6b0540) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f30cd6b05a0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f30cd6b0600) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f30cd843f08) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7f30cd6b0660) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f30cd843f08)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f30cd6b06c0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f30cd6b0720) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f30cd3a6138) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7f30cd6b0b40) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f30cd3a6138)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f30cd3a61a0) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7f30cd3a6208) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f30cd3a61a0)
+ std::exception (0x0x7f30cd6b0ba0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f30cd3a6208)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f30cd6b0c00) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7f30cd419840) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f30cd22e540) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f30cd22e5a0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f30cd2da480) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7f30cd2da4e0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f30cd2da5a0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f30cd2da600) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f30cd2da660) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f30cd2da6c0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f30cd2da7e0) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f30cd2da840) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f30cd2dac60) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f30cd2dacc0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f30cce234e0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f30cce23540) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f30ccede4e0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f30ccc92300) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f30cce22f70) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f30ccc923c0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f30cce22750) 0
+ std::_Bit_iterator_base (0x0x7f30cce227b8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f30ccc92420) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f30cce22a90) 0
+ std::_Bit_iterator_base (0x0x7f30cce22af8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f30ccc92480) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f30cca9f2a0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f30cc7ff060) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f30cc7ff000) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f30cc5d6000) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f30cb455ae0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f30cb455b40) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f30cb19f600) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f30cb19f660) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f30cb19f6c0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f30cb19f720) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f30cb19f9c0) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f30cb19ff00) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f30cb188e38) 0
+ std::__atomic_flag_base (0x0x7f30cb19ff60) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f30cafbc5b0) 0
+ QAtomicInteger<int> (0x0x7f30cafbc618) 0
+ QBasicAtomicInteger<int> (0x0x7f30cb0f96c0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f30cac3fc60) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f30caa2fe40) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f30caa2ff60) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f30caa93208) 0
+ QGenericArgument (0x0x7f30caaa4000) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f30caaa4180) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f30caaa4240) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f30ca75d2a0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f30ca75d300) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f30ca75d5a0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f30ca75d600) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f30ca75d960) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f30ca75d9c0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f30ca75da20) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f30ca75da80) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f30ca75dae0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f30ca75dea0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f30ca871820) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7f30ca75df60) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f30ca871820)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f30ca871888) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7f30ca8718f0) 0
+ primary-for std::domain_error (0x0x7f30ca871888)
+ std::exception (0x0x7f30ca90d000) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f30ca8718f0)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f30ca871958) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7f30ca8719c0) 0
+ primary-for std::invalid_argument (0x0x7f30ca871958)
+ std::exception (0x0x7f30ca90d060) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f30ca8719c0)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f30ca871a28) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7f30ca871a90) 0
+ primary-for std::length_error (0x0x7f30ca871a28)
+ std::exception (0x0x7f30ca90d0c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f30ca871a90)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f30ca871af8) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7f30ca871b60) 0
+ primary-for std::out_of_range (0x0x7f30ca871af8)
+ std::exception (0x0x7f30ca90d120) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f30ca871b60)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f30ca871bc8) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7f30ca90d180) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f30ca871bc8)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f30ca871c30) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7f30ca871c98) 0
+ primary-for std::range_error (0x0x7f30ca871c30)
+ std::exception (0x0x7f30ca90d1e0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f30ca871c98)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f30ca871d00) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7f30ca871d68) 0
+ primary-for std::overflow_error (0x0x7f30ca871d00)
+ std::exception (0x0x7f30ca90d240) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f30ca871d68)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f30ca871dd0) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7f30ca871e38) 0
+ primary-for std::underflow_error (0x0x7f30ca871dd0)
+ std::exception (0x0x7f30ca90d2a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f30ca871e38)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f30ca90d420) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f30ca90d660) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f30ca90d7e0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f30ca555270) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7f30ca5552d8) 0
+ primary-for std::system_error (0x0x7f30ca555270)
+ std::exception (0x0x7f30ca90da20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f30ca5552d8)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f30ca555ea0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7f30ca555f08) 0
+ primary-for std::ios_base::failure (0x0x7f30ca555ea0)
+ std::runtime_error (0x0x7f30ca555f70) 0
+ primary-for std::system_error (0x0x7f30ca555f08)
+ std::exception (0x0x7f30ca90dd20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f30ca555f70)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f30ca90dd80) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f30ca90dde0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f30ca90de40) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f30ca90dcc0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f30ca666600) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f30ca666cc0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f30ca226888 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f30ca226958 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f30ca226d00 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f30ca226dd0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f30ca207540) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f30ca2075a0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f30c9fa2900) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f30c9fa2c60) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f30ca09a120) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f30ca09af60) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f30c9d69600) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f30c9d695a0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f30c9f086c0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f30c9ca8300) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f30c9ca8f60) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f30c9ab9000) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f30c9ab9060) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f30c9ab9420) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f30c9ab9480) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f30c9d46820) 0 empty
+ QListData::NotIndirectLayout (0x0x7f30c9ab94e0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f30c977f000) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f30c9ab9540) 0 empty
+ QListData::NotIndirectLayout (0x0x7f30c9ab95a0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f30c9d46888) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f30c9ab9600) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f30c9ab9660) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f30c9ab93c0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f30c9ab9ae0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f30c9928d20) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f30c9928cc0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f30c993a2d8) 0
+ QList<QString> (0x0x7f30c993a340) 0
+ QListSpecialMethods<QString> (0x0x7f30c9928f00) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f30c9594360) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f30c9594f00) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f30c96895a0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f30c9689720) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f30c96897e0) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f30c993ac30) 0
+ std::__uses_alloc_base (0x0x7f30c9689780) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f30c94bc840) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f30c94bca80) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f30c94bcb40) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f30c94bcc60) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f30c94bcde0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f30c91fe240) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f30c91fe360) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f30c91fecc0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f30c92f9120) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f30c92f9420) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f30c9136de0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f30c8ea5c60) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f30c8ea5cc0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f30c8ea5ea0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f30c8ea5e40) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f30c8bb1180) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f30c8bb11e0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f30c8bb12a0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f30c8b7f208) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7f30c8bb1240) 0
+ primary-for QAbstractAnimation (0x0x7f30c8b7f208)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f30c8bb1360) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f30c8b7f3a8) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7f30c8bb1300) 0
+ primary-for QAnimationDriver (0x0x7f30c8b7f3a8)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f30c8bb1420) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f30c8b7f478) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7f30c8bb13c0) 0
+ primary-for QEventLoop (0x0x7f30c8b7f478)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f30c8bb1600) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f30c8bb16c0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f30c8bb1720) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f30c8c10068) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7f30c8bb1660) 0
+ primary-for QAbstractEventDispatcher (0x0x7f30c8c10068)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f30c8bb19c0) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f30c8c10270) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7f30c8bb1a20) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f30c8c10270)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f30c8c102d8) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7f30c8bb1a80) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f30c8c102d8)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f30c89ab548) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7f30c896db40) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f30c89ab548)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f30c896dc00) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f30c896dc60) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f30c896dd80) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f30c8a372a0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f30c8a377e0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f30c8a37ba0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f30c8a37b40) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f30c8a37c00) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f30c87b34e0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f30c87b35a0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f30c87b3540) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f30c87b3600) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f30c87b3480) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f30c8601120) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f30c8601780) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f30c8601720) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f30c8601840) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f30c86017e0) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f30c8730b40) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f30c8475240) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f30c8512960) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f30c85262d8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7f30c8512900) 0
+ primary-for QAbstractItemModel (0x0x7f30c85262d8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f30c81b7240) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f30c85269c0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7f30c8526a28) 0
+ primary-for QAbstractTableModel (0x0x7f30c85269c0)
+ QObject (0x0x7f30c81b71e0) 0
+ primary-for QAbstractItemModel (0x0x7f30c8526a28)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f30c81b7300) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f30c8526a90) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7f30c8526af8) 0
+ primary-for QAbstractListModel (0x0x7f30c8526a90)
+ QObject (0x0x7f30c81b72a0) 0
+ primary-for QAbstractItemModel (0x0x7f30c8526af8)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f30c81b75a0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f30c81b7660) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f30c8526c30) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7f30c8526c98) 0
+ primary-for QAbstractProxyModel (0x0x7f30c8526c30)
+ QObject (0x0x7f30c81b7600) 0
+ primary-for QAbstractItemModel (0x0x7f30c8526c98)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f30c81b7720) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f30c8526d00) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7f30c81b76c0) 0
+ primary-for QAbstractState (0x0x7f30c8526d00)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f30c81b77e0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f30c8526d68) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7f30c81b7780) 0
+ primary-for QAbstractTransition (0x0x7f30c8526d68)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f30c81b78a0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f30c8526dd0) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7f30c8526e38) 0
+ primary-for QAnimationGroup (0x0x7f30c8526dd0)
+ QObject (0x0x7f30c81b7840) 0
+ primary-for QAbstractAnimation (0x0x7f30c8526e38)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f30c82e1600) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f30c82e18a0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f30c82e1960) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f30c82e1c60) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f30c82f04e0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7f30c82e1c00) 0
+ primary-for QIODevice (0x0x7f30c82f04e0)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f30c82e1ea0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f30c82f0618) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7f30c82f0680) 0
+ primary-for QBuffer (0x0x7f30c82f0618)
+ QObject (0x0x7f30c82e1e40) 0
+ primary-for QIODevice (0x0x7f30c82f0680)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f30c82e1f60) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f30c82e1f00) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f30c7fd30c0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f30c7fd3060) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f30c7fd32a0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f30c7fd3480) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f30c7fd3720) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f30c7fd3ea0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f30c7fd3f00) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f30c7fd3e40) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f30c7d64060) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f30c7d64660) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f30c7d64900) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f30c7d64b40) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f30c7b44240) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f30c7b443c0) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f30c7b44900) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f30c7b448a0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f30c797ac00) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f30c797acc0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f30c7a20060) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f30c7a201e0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f30c7a207e0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f30c7a20ae0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f30c7a20ea0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f30c77f65a0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f30c77f6ba0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f30c77f6c00) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f30c76b2c00) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f30c73921e0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f30c7392240) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f30c7392180) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f30c74572a0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f30c7457300) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f30c7457240) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f30c717ce40) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f30c727d240) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f30c727dc00) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f30c6f4e2a0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f30c6f4e360) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f30c7041360) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f30c70417e0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f30c7036c30) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7f30c7041840) 0
+ primary-for QTimerEvent (0x0x7f30c7036c30)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f30c7036c98) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7f30c70418a0) 0
+ primary-for QChildEvent (0x0x7f30c7036c98)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f30c70bc208) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7f30c7041d80) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f30c70bc208)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f30c70bc270) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7f30c7041de0) 0
+ primary-for QDeferredDeleteEvent (0x0x7f30c70bc270)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f30c7041ea0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f30c70bc2d8) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7f30c7041e40) 0
+ primary-for QCoreApplication (0x0x7f30c70bc2d8)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f30c7041f00) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f30c7041f60) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f30c7109000) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f30c71090c0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f30c71095a0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f30c7109a80) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f30c6e80900) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f30c6e85750) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7f30c6e857b8) 0
+ primary-for QFileDevice (0x0x7f30c6e85750)
+ QObject (0x0x7f30c6e808a0) 0
+ primary-for QIODevice (0x0x7f30c6e857b8)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f30c6e80b40) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f30c6e858f0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7f30c6e85958) 0
+ primary-for QFile (0x0x7f30c6e858f0)
+ QIODevice (0x0x7f30c6e859c0) 0
+ primary-for QFileDevice (0x0x7f30c6e85958)
+ QObject (0x0x7f30c6e80ae0) 0
+ primary-for QIODevice (0x0x7f30c6e859c0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f30c6e80d20) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f30c6b3c180) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f30c6b3c780) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f30c6b3c9c0) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f30c6c8ade0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f30c6c909c0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7f30c6c90a28) 0
+ primary-for QEventTransition (0x0x7f30c6c909c0)
+ QObject (0x0x7f30c6c8ad80) 0
+ primary-for QAbstractTransition (0x0x7f30c6c90a28)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f30c6c90a90) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7f30c6c8ae40) 0 nearly-empty
+ primary-for QException (0x0x7f30c6c90a90)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f30c6c90af8) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7f30c6c90b60) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f30c6c90af8)
+ std::exception (0x0x7f30c6c8aea0) 0 nearly-empty
+ primary-for QException (0x0x7f30c6c90b60)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f30c6c8af00) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f30c691a000) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f30c691a060) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f30c691a180) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f30c6c90bc8) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7f30c691a120) 0
+ primary-for QFileSelector (0x0x7f30c6c90bc8)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f30c691a240) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f30c6c90c30) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7f30c691a1e0) 0
+ primary-for QFileSystemWatcher (0x0x7f30c6c90c30)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f30c691a300) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f30c6c90c98) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7f30c6c90d00) 0
+ primary-for QFinalState (0x0x7f30c6c90c98)
+ QObject (0x0x7f30c691a2a0) 0
+ primary-for QAbstractState (0x0x7f30c6c90d00)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f30c691a360) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f30c691a3c0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f30c6c90e38) 0
+ QBasicMutex (0x0x7f30c691a5a0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f30c691a600) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f30c691a660) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f30c691a6c0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f30c691a7e0) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f30c6a43060) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f30c6a43840) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f30c6a38f70) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7f30c6a437e0) 0
+ primary-for QFutureWatcherBase (0x0x7f30c6a38f70)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f30c6a43e40) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f30c6afd888) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7f30c6afd8f0) 0
+ primary-for QHistoryState (0x0x7f30c6afd888)
+ QObject (0x0x7f30c6a43de0) 0
+ primary-for QAbstractState (0x0x7f30c6afd8f0)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f30c6a43f00) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f30c6afd958) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f30c6afd9c0) 0
+ primary-for QIdentityProxyModel (0x0x7f30c6afd958)
+ QAbstractItemModel (0x0x7f30c6afda28) 0
+ primary-for QAbstractProxyModel (0x0x7f30c6afd9c0)
+ QObject (0x0x7f30c6a43ea0) 0
+ primary-for QAbstractItemModel (0x0x7f30c6afda28)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f30c6a43f60) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f30c6768660) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f30c6793270) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7f30c6768600) 0
+ primary-for QItemSelectionModel (0x0x7f30c6793270)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f30c6793478) 0
+ QList<QItemSelectionRange> (0x0x7f30c67934e0) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f30c6768960) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f30c6768e40) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f30c65985a0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f30c6598ae0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f30c6598b40) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f30c6598d20) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f30c6598d80) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f30c6598cc0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f30c6313000) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f30c6313060) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f30c63136c0) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f30c6313720) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f30c6313660) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f30c63e29c0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f30c63e7820) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7f30c63e2960) 0
+ primary-for QLibrary (0x0x7f30c63e7820)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f30c64710c0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f30c63e2ba0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f30c64715a0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f30c6471600) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f30c64718a0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f30c6471ea0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f30c6171840) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f30c6171e40) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f30c62131e0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f30c6213360) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f30c6213300) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f30c62134e0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f30c6213780) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f30c6213de0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f30c6213e40) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f30c5ee0480) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f30c5ee0780) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f30c5ee07e0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f30c5ee0ae0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f30c5e78a90) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7f30c5ee0a80) 0
+ primary-for QMimeData (0x0x7f30c5e78a90)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f30c5ee0b40) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f30c5ee0e40) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f30c5ee0f00) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f30c5e78c98) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7f30c5ee0ea0) 0
+ primary-for QObjectCleanupHandler (0x0x7f30c5e78c98)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f30c5ee0f60) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f30c5f6d720) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f30c5f733a8) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f30c5f73410) 0
+ primary-for QParallelAnimationGroup (0x0x7f30c5f733a8)
+ QAbstractAnimation (0x0x7f30c5f73478) 0
+ primary-for QAnimationGroup (0x0x7f30c5f73410)
+ QObject (0x0x7f30c5f6d6c0) 0
+ primary-for QAbstractAnimation (0x0x7f30c5f73478)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f30c5f6d7e0) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f30c5f734e0) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7f30c5f73548) 0
+ primary-for QPauseAnimation (0x0x7f30c5f734e0)
+ QObject (0x0x7f30c5f6d780) 0
+ primary-for QAbstractAnimation (0x0x7f30c5f73548)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f30c5f6d9c0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f30c5f6dcc0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f30c5f73750) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7f30c5f6dc60) 0
+ primary-for QPluginLoader (0x0x7f30c5f73750)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f30c5f6dd20) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f30c5ff7420) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f30c5f73dd0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7f30c5f73e38) 0
+ primary-for QProcess (0x0x7f30c5f73dd0)
+ QObject (0x0x7f30c5ff73c0) 0
+ primary-for QIODevice (0x0x7f30c5f73e38)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f30c5ff74e0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f30c5f73ea0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7f30c5f73f08) 0
+ primary-for QVariantAnimation (0x0x7f30c5f73ea0)
+ QObject (0x0x7f30c5ff7480) 0
+ primary-for QAbstractAnimation (0x0x7f30c5f73f08)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f30c5ff75a0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f30c5c4f000) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7f30c5c4f068) 0
+ primary-for QPropertyAnimation (0x0x7f30c5c4f000)
+ QAbstractAnimation (0x0x7f30c5c4f0d0) 0
+ primary-for QVariantAnimation (0x0x7f30c5c4f068)
+ QObject (0x0x7f30c5ff7540) 0
+ primary-for QAbstractAnimation (0x0x7f30c5c4f0d0)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f30c5ff76c0) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f30c5ff7660) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f30c5cf23a8) 0
+ QRandomGenerator (0x0x7f30c5ce1660) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f30c5ce1720) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f30c5ce19c0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f30c5ce1a80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f30c5ce1b40) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f30c5ce1de0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f30c5dfe0c0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f30c5dfe360) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f30c5dfe600) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f30c5dfe780) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f30c5cf2f08) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7f30c5cf2f70) 0
+ primary-for QSaveFile (0x0x7f30c5cf2f08)
+ QIODevice (0x0x7f30c5b67000) 0
+ primary-for QFileDevice (0x0x7f30c5cf2f70)
+ QObject (0x0x7f30c5dfe720) 0
+ primary-for QIODevice (0x0x7f30c5b67000)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f30c5dfe8a0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f30c5dfea20) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f30c58b7060) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f30c58ab888) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f30c58ab8f0) 0
+ primary-for QSequentialAnimationGroup (0x0x7f30c58ab888)
+ QAbstractAnimation (0x0x7f30c58ab958) 0
+ primary-for QAnimationGroup (0x0x7f30c58ab8f0)
+ QObject (0x0x7f30c58b7000) 0
+ primary-for QAbstractAnimation (0x0x7f30c58ab958)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f30c58b7120) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f30c58ab9c0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7f30c58b70c0) 0
+ primary-for QSettings (0x0x7f30c58ab9c0)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f30c58b71e0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f30c58aba28) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7f30c58b7180) 0
+ primary-for QSharedMemory (0x0x7f30c58aba28)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f30c58b72a0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f30c58aba90) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7f30c58b7240) 0
+ primary-for QSignalMapper (0x0x7f30c58aba90)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f30c58b7360) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f30c58abaf8) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7f30c58abb60) 0
+ primary-for QSignalTransition (0x0x7f30c58abaf8)
+ QObject (0x0x7f30c58b7300) 0
+ primary-for QAbstractTransition (0x0x7f30c58abb60)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f30c58b7420) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f30c58abbc8) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7f30c58b73c0) 0
+ primary-for QSocketNotifier (0x0x7f30c58abbc8)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f30c58b74e0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f30c58abc30) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f30c58abc98) 0
+ primary-for QSortFilterProxyModel (0x0x7f30c58abc30)
+ QAbstractItemModel (0x0x7f30c58abd00) 0
+ primary-for QAbstractProxyModel (0x0x7f30c58abc98)
+ QObject (0x0x7f30c58b7480) 0
+ primary-for QAbstractItemModel (0x0x7f30c58abd00)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f30c58b75a0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f30c58b77e0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f30c58abea0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7f30c58abf08) 0
+ primary-for QState (0x0x7f30c58abea0)
+ QObject (0x0x7f30c58b7780) 0
+ primary-for QAbstractState (0x0x7f30c58abf08)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f30c58b7900) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f30c59b50d0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7f30c58b7960) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f30c59b50d0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f30c59b5138) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7f30c58b79c0) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f30c59b5138)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f30c58abf70) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7f30c59b5000) 0
+ primary-for QStateMachine (0x0x7f30c58abf70)
+ QAbstractState (0x0x7f30c59b5068) 0
+ primary-for QState (0x0x7f30c59b5000)
+ QObject (0x0x7f30c58b78a0) 0
+ primary-for QAbstractState (0x0x7f30c59b5068)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f30c58b7a20) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f30c5a00960) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f30c567fd20) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f30c56bd138) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7f30c56bd1a0) 0
+ primary-for QStringListModel (0x0x7f30c56bd138)
+ QAbstractItemModel (0x0x7f30c56bd208) 0
+ primary-for QAbstractListModel (0x0x7f30c56bd1a0)
+ QObject (0x0x7f30c567fcc0) 0
+ primary-for QAbstractItemModel (0x0x7f30c56bd208)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f30c567fd80) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f30c567fe40) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f30c567ff60) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f30c56bd270) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7f30c56bd2d8) 0
+ primary-for QTemporaryFile (0x0x7f30c56bd270)
+ QFileDevice (0x0x7f30c56bd340) 0
+ primary-for QFile (0x0x7f30c56bd2d8)
+ QIODevice (0x0x7f30c56bd3a8) 0
+ primary-for QFileDevice (0x0x7f30c56bd340)
+ QObject (0x0x7f30c567ff00) 0
+ primary-for QIODevice (0x0x7f30c56bd3a8)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f30c5714000) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f30c5714240) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f30c57141e0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f30c5714420) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f30c5714480) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f30c57144e0) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f30c5714540) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f30c56bd5b0) 0
+ std::__mutex_base (0x0x7f30c57145a0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f30c56bd618) 0
+ std::__recursive_mutex_base (0x0x7f30c5714600) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f30c57ba0e0) 0
+ std::__mutex_base (0x0x7f30c5714720) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f30c5714780) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f30c57baa80) 0
+ std::__recursive_mutex_base (0x0x7f30c5714840) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f30c57148a0) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f30c5714900) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f30c5714960) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f30c57149c0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f30c5714c00) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f30c56bd750) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7f30c5714cc0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f30c56bd750)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f30c56bd7b8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7f30c5714d80) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f30c56bd7b8)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f30c56bd820) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7f30c5714e40) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f30c56bd820)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f30c56bd8f0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7f30c5714f00) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f30c56bd8f0)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f30c5450000) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f30c5450060) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f30c54500c0) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f30c5450120) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f30c56bdbc8) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7f30c5450480) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f30c56bdbc8)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f30c5450cc0) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f30c55e64e0) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f30c55e66c0) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7f30c55e6720) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f30c55e6660) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f30c53ef360) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f30c53ef420) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f30c53ef480) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f30c508fae0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f30c5091f08) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7f30c5091f70) 0
+ primary-for std::future_error (0x0x7f30c5091f08)
+ std::exception (0x0x7f30c508fc00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f30c5091f70)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f30c508fd20) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f30c508fcc0) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f30c4e252a0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f30c4e21548) 0
+ std::__at_thread_exit_elt (0x0x7f30c4e25360) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f30c508fea0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f30c508fc60) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f30c4bc0138) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7f30c4b9d240) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f30c4bc0138)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f30c4b9d960) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f30c4bc0bc8) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7f30c4b9d900) 0
+ primary-for QThread (0x0x7f30c4bc0bc8)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f30c4b9da80) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f30c4bc0c30) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7f30c4b9da20) 0
+ primary-for QThreadPool (0x0x7f30c4bc0c30)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f30c4b9dae0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f30c4b9dc00) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f30c4bc0c98) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7f30c4b9dba0) 0
+ primary-for QTimeLine (0x0x7f30c4bc0c98)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f30c4b9dcc0) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f30c4bc0d00) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7f30c4b9dc60) 0
+ primary-for QTimer (0x0x7f30c4bc0d00)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f30c488b420) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f30c488b3c0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f30c488b9c0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f30c4887888) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7f30c488b960) 0
+ primary-for QTranslator (0x0x7f30c4887888)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f30c488ba20) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f30c490e0c0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f30c490e120) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f30c490e3c0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f30c49435b0) 0
+ QVector<QXmlStreamAttribute> (0x0x7f30c490e780) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f30c490e7e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f30c490ea80) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f30c490ed20) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f30c4622000) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f30c4622060) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f30c4622a80) 0
+
+Class QNetworkRequest
+ size=8 align=8
+ base size=8 base align=8
+QNetworkRequest (0x0x7f30c4622ba0) 0
+
+Class QNetworkCacheMetaData
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCacheMetaData (0x0x7f30c46cf120) 0
+
+Class QAbstractNetworkCache::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractNetworkCache::QPrivateSignal (0x0x7f30c46cf7e0) 0 empty
+
+Vtable for QAbstractNetworkCache
+QAbstractNetworkCache::_ZTV21QAbstractNetworkCache: 22u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractNetworkCache)
+16 (int (*)(...))QAbstractNetworkCache::metaObject
+24 (int (*)(...))QAbstractNetworkCache::qt_metacast
+32 (int (*)(...))QAbstractNetworkCache::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNetworkCache
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNetworkCache (0x0x7f30c464ee38) 0
+ vptr=((& QAbstractNetworkCache::_ZTV21QAbstractNetworkCache) + 16u)
+ QObject (0x0x7f30c46cf780) 0
+ primary-for QAbstractNetworkCache (0x0x7f30c464ee38)
+
+Class QAbstractSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSocket::QPrivateSignal (0x0x7f30c46cf8a0) 0 empty
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSocket)
+16 (int (*)(...))QAbstractSocket::metaObject
+24 (int (*)(...))QAbstractSocket::qt_metacast
+32 (int (*)(...))QAbstractSocket::qt_metacall
+40 (int (*)(...))QAbstractSocket::~QAbstractSocket
+48 (int (*)(...))QAbstractSocket::~QAbstractSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QAbstractSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QAbstractSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QAbstractSocket::bytesAvailable
+184 (int (*)(...))QAbstractSocket::bytesToWrite
+192 (int (*)(...))QAbstractSocket::canReadLine
+200 (int (*)(...))QAbstractSocket::waitForReadyRead
+208 (int (*)(...))QAbstractSocket::waitForBytesWritten
+216 (int (*)(...))QAbstractSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QAbstractSocket::writeData
+240 (int (*)(...))QAbstractSocket::resume
+248 (int (*)(...))QAbstractSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QAbstractSocket::disconnectFromHost
+272 (int (*)(...))QAbstractSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QAbstractSocket::setSocketDescriptor
+296 (int (*)(...))QAbstractSocket::setSocketOption
+304 (int (*)(...))QAbstractSocket::socketOption
+312 (int (*)(...))QAbstractSocket::waitForConnected
+320 (int (*)(...))QAbstractSocket::waitForDisconnected
+
+Class QAbstractSocket
+ size=16 align=8
+ base size=16 base align=8
+QAbstractSocket (0x0x7f30c464eea0) 0
+ vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+ QIODevice (0x0x7f30c464ef08) 0
+ primary-for QAbstractSocket (0x0x7f30c464eea0)
+ QObject (0x0x7f30c46cf840) 0
+ primary-for QIODevice (0x0x7f30c464ef08)
+
+Class QAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QAuthenticator (0x0x7f30c46cfe40) 0
+
+Class QDnsDomainNameRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsDomainNameRecord (0x0x7f30c46cfea0) 0
+
+Class QDnsHostAddressRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsHostAddressRecord (0x0x7f30c47c71e0) 0
+
+Class QDnsMailExchangeRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsMailExchangeRecord (0x0x7f30c47c74e0) 0
+
+Class QDnsServiceRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsServiceRecord (0x0x7f30c47c77e0) 0
+
+Class QDnsTextRecord
+ size=8 align=8
+ base size=8 base align=8
+QDnsTextRecord (0x0x7f30c47c7ae0) 0
+
+Class QDnsLookup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDnsLookup::QPrivateSignal (0x0x7f30c47c7e40) 0 empty
+
+Vtable for QDnsLookup
+QDnsLookup::_ZTV10QDnsLookup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDnsLookup)
+16 (int (*)(...))QDnsLookup::metaObject
+24 (int (*)(...))QDnsLookup::qt_metacast
+32 (int (*)(...))QDnsLookup::qt_metacall
+40 (int (*)(...))QDnsLookup::~QDnsLookup
+48 (int (*)(...))QDnsLookup::~QDnsLookup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDnsLookup
+ size=16 align=8
+ base size=16 base align=8
+QDnsLookup (0x0x7f30c4745958) 0
+ vptr=((& QDnsLookup::_ZTV10QDnsLookup) + 16u)
+ QObject (0x0x7f30c47c7de0) 0
+ primary-for QDnsLookup (0x0x7f30c4745958)
+
+Class QTcpSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTcpSocket::QPrivateSignal (0x0x7f30c47c7f00) 0 empty
+
+Vtable for QTcpSocket
+QTcpSocket::_ZTV10QTcpSocket: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpSocket)
+16 (int (*)(...))QTcpSocket::metaObject
+24 (int (*)(...))QTcpSocket::qt_metacast
+32 (int (*)(...))QTcpSocket::qt_metacall
+40 (int (*)(...))QTcpSocket::~QTcpSocket
+48 (int (*)(...))QTcpSocket::~QTcpSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QAbstractSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QAbstractSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QAbstractSocket::bytesAvailable
+184 (int (*)(...))QAbstractSocket::bytesToWrite
+192 (int (*)(...))QAbstractSocket::canReadLine
+200 (int (*)(...))QAbstractSocket::waitForReadyRead
+208 (int (*)(...))QAbstractSocket::waitForBytesWritten
+216 (int (*)(...))QAbstractSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QAbstractSocket::writeData
+240 (int (*)(...))QAbstractSocket::resume
+248 (int (*)(...))QAbstractSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QAbstractSocket::disconnectFromHost
+272 (int (*)(...))QAbstractSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QAbstractSocket::setSocketDescriptor
+296 (int (*)(...))QAbstractSocket::setSocketOption
+304 (int (*)(...))QAbstractSocket::socketOption
+312 (int (*)(...))QAbstractSocket::waitForConnected
+320 (int (*)(...))QAbstractSocket::waitForDisconnected
+
+Class QTcpSocket
+ size=16 align=8
+ base size=16 base align=8
+QTcpSocket (0x0x7f30c47459c0) 0
+ vptr=((& QTcpSocket::_ZTV10QTcpSocket) + 16u)
+ QAbstractSocket (0x0x7f30c4745a28) 0
+ primary-for QTcpSocket (0x0x7f30c47459c0)
+ QIODevice (0x0x7f30c4745a90) 0
+ primary-for QAbstractSocket (0x0x7f30c4745a28)
+ QObject (0x0x7f30c47c7ea0) 0
+ primary-for QIODevice (0x0x7f30c4745a90)
+
+Class QSslCertificate
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificate (0x0x7f30c4464120) 0
+
+Class QSslError
+ size=8 align=8
+ base size=8 base align=8
+QSslError (0x0x7f30c4464540) 0
+
+Class QSslSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSslSocket::QPrivateSignal (0x0x7f30c4464ea0) 0 empty
+
+Vtable for QSslSocket
+QSslSocket::_ZTV10QSslSocket: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSslSocket)
+16 (int (*)(...))QSslSocket::metaObject
+24 (int (*)(...))QSslSocket::qt_metacast
+32 (int (*)(...))QSslSocket::qt_metacall
+40 (int (*)(...))QSslSocket::~QSslSocket
+48 (int (*)(...))QSslSocket::~QSslSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QSslSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QSslSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QSslSocket::bytesAvailable
+184 (int (*)(...))QSslSocket::bytesToWrite
+192 (int (*)(...))QSslSocket::canReadLine
+200 (int (*)(...))QSslSocket::waitForReadyRead
+208 (int (*)(...))QSslSocket::waitForBytesWritten
+216 (int (*)(...))QSslSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QSslSocket::writeData
+240 (int (*)(...))QSslSocket::resume
+248 (int (*)(...))QSslSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QSslSocket::disconnectFromHost
+272 (int (*)(...))QSslSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QSslSocket::setSocketDescriptor
+296 (int (*)(...))QSslSocket::setSocketOption
+304 (int (*)(...))QSslSocket::socketOption
+312 (int (*)(...))QSslSocket::waitForConnected
+320 (int (*)(...))QSslSocket::waitForDisconnected
+
+Class QSslSocket
+ size=16 align=8
+ base size=16 base align=8
+QSslSocket (0x0x7f30c44e0478) 0
+ vptr=((& QSslSocket::_ZTV10QSslSocket) + 16u)
+ QTcpSocket (0x0x7f30c44e04e0) 0
+ primary-for QSslSocket (0x0x7f30c44e0478)
+ QAbstractSocket (0x0x7f30c44e0548) 0
+ primary-for QTcpSocket (0x0x7f30c44e04e0)
+ QIODevice (0x0x7f30c44e05b0) 0
+ primary-for QAbstractSocket (0x0x7f30c44e0548)
+ QObject (0x0x7f30c4464e40) 0
+ primary-for QIODevice (0x0x7f30c44e05b0)
+
+Class QDtlsClientVerifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDtlsClientVerifier::QPrivateSignal (0x0x7f30c4464f60) 0 empty
+
+Class QDtlsClientVerifier::GeneratorParameters
+ size=16 align=8
+ base size=16 base align=8
+QDtlsClientVerifier::GeneratorParameters (0x0x7f30c454b000) 0
+
+Vtable for QDtlsClientVerifier
+QDtlsClientVerifier::_ZTV19QDtlsClientVerifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QDtlsClientVerifier)
+16 (int (*)(...))QDtlsClientVerifier::metaObject
+24 (int (*)(...))QDtlsClientVerifier::qt_metacast
+32 (int (*)(...))QDtlsClientVerifier::qt_metacall
+40 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier
+48 (int (*)(...))QDtlsClientVerifier::~QDtlsClientVerifier
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDtlsClientVerifier
+ size=16 align=8
+ base size=16 base align=8
+QDtlsClientVerifier (0x0x7f30c44e0618) 0
+ vptr=((& QDtlsClientVerifier::_ZTV19QDtlsClientVerifier) + 16u)
+ QObject (0x0x7f30c4464f00) 0
+ primary-for QDtlsClientVerifier (0x0x7f30c44e0618)
+
+Class QDtls::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDtls::QPrivateSignal (0x0x7f30c454b0c0) 0 empty
+
+Vtable for QDtls
+QDtls::_ZTV5QDtls: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDtls)
+16 (int (*)(...))QDtls::metaObject
+24 (int (*)(...))QDtls::qt_metacast
+32 (int (*)(...))QDtls::qt_metacall
+40 (int (*)(...))QDtls::~QDtls
+48 (int (*)(...))QDtls::~QDtls
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDtls
+ size=16 align=8
+ base size=16 base align=8
+QDtls (0x0x7f30c44e0680) 0
+ vptr=((& QDtls::_ZTV5QDtls) + 16u)
+ QObject (0x0x7f30c454b060) 0
+ primary-for QDtls (0x0x7f30c44e0680)
+
+Class QIPv6Address
+ size=16 align=1
+ base size=16 base align=1
+QIPv6Address (0x0x7f30c454b180) 0
+
+Class QHostAddress
+ size=8 align=8
+ base size=8 base align=8
+QHostAddress (0x0x7f30c454b1e0) 0
+
+Class QHostInfo
+ size=8 align=8
+ base size=8 base align=8
+QHostInfo (0x0x7f30c454b9c0) 0
+
+Class QHstsPolicy
+ size=8 align=8
+ base size=8 base align=8
+QHstsPolicy (0x0x7f30c454bea0) 0
+
+Class QHttpPart
+ size=8 align=8
+ base size=8 base align=8
+QHttpPart (0x0x7f30c42266c0) 0
+
+Class QHttpMultiPart::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHttpMultiPart::QPrivateSignal (0x0x7f30c4226a20) 0 empty
+
+Vtable for QHttpMultiPart
+QHttpMultiPart::_ZTV14QHttpMultiPart: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QHttpMultiPart)
+16 (int (*)(...))QHttpMultiPart::metaObject
+24 (int (*)(...))QHttpMultiPart::qt_metacast
+32 (int (*)(...))QHttpMultiPart::qt_metacall
+40 (int (*)(...))QHttpMultiPart::~QHttpMultiPart
+48 (int (*)(...))QHttpMultiPart::~QHttpMultiPart
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QHttpMultiPart
+ size=16 align=8
+ base size=16 base align=8
+QHttpMultiPart (0x0x7f30c42028f0) 0
+ vptr=((& QHttpMultiPart::_ZTV14QHttpMultiPart) + 16u)
+ QObject (0x0x7f30c42269c0) 0
+ primary-for QHttpMultiPart (0x0x7f30c42028f0)
+
+Class QLocalServer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLocalServer::QPrivateSignal (0x0x7f30c4226ae0) 0 empty
+
+Vtable for QLocalServer
+QLocalServer::_ZTV12QLocalServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalServer)
+16 (int (*)(...))QLocalServer::metaObject
+24 (int (*)(...))QLocalServer::qt_metacast
+32 (int (*)(...))QLocalServer::qt_metacall
+40 (int (*)(...))QLocalServer::~QLocalServer
+48 (int (*)(...))QLocalServer::~QLocalServer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLocalServer::hasPendingConnections
+120 (int (*)(...))QLocalServer::nextPendingConnection
+128 (int (*)(...))QLocalServer::incomingConnection
+
+Class QLocalServer
+ size=16 align=8
+ base size=16 base align=8
+QLocalServer (0x0x7f30c4202958) 0
+ vptr=((& QLocalServer::_ZTV12QLocalServer) + 16u)
+ QObject (0x0x7f30c4226a80) 0
+ primary-for QLocalServer (0x0x7f30c4202958)
+
+Class QLocalSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLocalSocket::QPrivateSignal (0x0x7f30c4226d20) 0 empty
+
+Vtable for QLocalSocket
+QLocalSocket::_ZTV12QLocalSocket: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLocalSocket)
+16 (int (*)(...))QLocalSocket::metaObject
+24 (int (*)(...))QLocalSocket::qt_metacast
+32 (int (*)(...))QLocalSocket::qt_metacall
+40 (int (*)(...))QLocalSocket::~QLocalSocket
+48 (int (*)(...))QLocalSocket::~QLocalSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLocalSocket::isSequential
+120 (int (*)(...))QLocalSocket::open
+128 (int (*)(...))QLocalSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QLocalSocket::bytesAvailable
+184 (int (*)(...))QLocalSocket::bytesToWrite
+192 (int (*)(...))QLocalSocket::canReadLine
+200 (int (*)(...))QLocalSocket::waitForReadyRead
+208 (int (*)(...))QLocalSocket::waitForBytesWritten
+216 (int (*)(...))QLocalSocket::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QLocalSocket::writeData
+
+Class QLocalSocket
+ size=16 align=8
+ base size=16 base align=8
+QLocalSocket (0x0x7f30c4202af8) 0
+ vptr=((& QLocalSocket::_ZTV12QLocalSocket) + 16u)
+ QIODevice (0x0x7f30c4202b60) 0
+ primary-for QLocalSocket (0x0x7f30c4202af8)
+ QObject (0x0x7f30c4226cc0) 0
+ primary-for QIODevice (0x0x7f30c4202b60)
+
+Class QSslConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QSslConfiguration (0x0x7f30c4226d80) 0
+
+Class QSslPreSharedKeyAuthenticator
+ size=8 align=8
+ base size=8 base align=8
+QSslPreSharedKeyAuthenticator (0x0x7f30c432c5a0) 0
+
+Class QNetworkAccessManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkAccessManager::QPrivateSignal (0x0x7f30c432cea0) 0 empty
+
+Vtable for QNetworkAccessManager
+QNetworkAccessManager::_ZTV21QNetworkAccessManager: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QNetworkAccessManager)
+16 (int (*)(...))QNetworkAccessManager::metaObject
+24 (int (*)(...))QNetworkAccessManager::qt_metacast
+32 (int (*)(...))QNetworkAccessManager::qt_metacall
+40 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager
+48 (int (*)(...))QNetworkAccessManager::~QNetworkAccessManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkAccessManager::createRequest
+
+Class QNetworkAccessManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkAccessManager (0x0x7f30c4332820) 0
+ vptr=((& QNetworkAccessManager::_ZTV21QNetworkAccessManager) + 16u)
+ QObject (0x0x7f30c432ce40) 0
+ primary-for QNetworkAccessManager (0x0x7f30c4332820)
+
+Class QNetworkConfiguration
+ size=8 align=8
+ base size=8 base align=8
+QNetworkConfiguration (0x0x7f30c432cf00) 0
+
+Class QNetworkConfigurationManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkConfigurationManager::QPrivateSignal (0x0x7f30c43b33c0) 0 empty
+
+Vtable for QNetworkConfigurationManager
+QNetworkConfigurationManager::_ZTV28QNetworkConfigurationManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QNetworkConfigurationManager)
+16 (int (*)(...))QNetworkConfigurationManager::metaObject
+24 (int (*)(...))QNetworkConfigurationManager::qt_metacast
+32 (int (*)(...))QNetworkConfigurationManager::qt_metacall
+40 (int (*)(...))QNetworkConfigurationManager::~QNetworkConfigurationManager
+48 (int (*)(...))QNetworkConfigurationManager::~QNetworkConfigurationManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QNetworkConfigurationManager
+ size=16 align=8
+ base size=16 base align=8
+QNetworkConfigurationManager (0x0x7f30c4332a28) 0
+ vptr=((& QNetworkConfigurationManager::_ZTV28QNetworkConfigurationManager) + 16u)
+ QObject (0x0x7f30c43b3360) 0
+ primary-for QNetworkConfigurationManager (0x0x7f30c4332a28)
+
+Class QNetworkCookie
+ size=8 align=8
+ base size=8 base align=8
+QNetworkCookie (0x0x7f30c43b3720) 0
+
+Class QNetworkCookieJar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkCookieJar::QPrivateSignal (0x0x7f30c43b3f00) 0 empty
+
+Vtable for QNetworkCookieJar
+QNetworkCookieJar::_ZTV17QNetworkCookieJar: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkCookieJar)
+16 (int (*)(...))QNetworkCookieJar::metaObject
+24 (int (*)(...))QNetworkCookieJar::qt_metacast
+32 (int (*)(...))QNetworkCookieJar::qt_metacall
+40 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar
+48 (int (*)(...))QNetworkCookieJar::~QNetworkCookieJar
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkCookieJar::cookiesForUrl
+120 (int (*)(...))QNetworkCookieJar::setCookiesFromUrl
+128 (int (*)(...))QNetworkCookieJar::insertCookie
+136 (int (*)(...))QNetworkCookieJar::updateCookie
+144 (int (*)(...))QNetworkCookieJar::deleteCookie
+152 (int (*)(...))QNetworkCookieJar::validateCookie
+
+Class QNetworkCookieJar
+ size=16 align=8
+ base size=16 base align=8
+QNetworkCookieJar (0x0x7f30c4037270) 0
+ vptr=((& QNetworkCookieJar::_ZTV17QNetworkCookieJar) + 16u)
+ QObject (0x0x7f30c43b3ea0) 0
+ primary-for QNetworkCookieJar (0x0x7f30c4037270)
+
+Class QNetworkDatagram
+ size=8 align=8
+ base size=8 base align=8
+QNetworkDatagram (0x0x7f30c43b3f60) 0
+
+Class QNetworkDiskCache::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkDiskCache::QPrivateSignal (0x0x7f30c40bff60) 0 empty
+
+Vtable for QNetworkDiskCache
+QNetworkDiskCache::_ZTV17QNetworkDiskCache: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QNetworkDiskCache)
+16 (int (*)(...))QNetworkDiskCache::metaObject
+24 (int (*)(...))QNetworkDiskCache::qt_metacast
+32 (int (*)(...))QNetworkDiskCache::qt_metacall
+40 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache
+48 (int (*)(...))QNetworkDiskCache::~QNetworkDiskCache
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkDiskCache::metaData
+120 (int (*)(...))QNetworkDiskCache::updateMetaData
+128 (int (*)(...))QNetworkDiskCache::data
+136 (int (*)(...))QNetworkDiskCache::remove
+144 (int (*)(...))QNetworkDiskCache::cacheSize
+152 (int (*)(...))QNetworkDiskCache::prepare
+160 (int (*)(...))QNetworkDiskCache::insert
+168 (int (*)(...))QNetworkDiskCache::clear
+176 (int (*)(...))QNetworkDiskCache::expire
+
+Class QNetworkDiskCache
+ size=16 align=8
+ base size=16 base align=8
+QNetworkDiskCache (0x0x7f30c40d5c98) 0
+ vptr=((& QNetworkDiskCache::_ZTV17QNetworkDiskCache) + 16u)
+ QAbstractNetworkCache (0x0x7f30c40d5d00) 0
+ primary-for QNetworkDiskCache (0x0x7f30c40d5c98)
+ QObject (0x0x7f30c40bff00) 0
+ primary-for QAbstractNetworkCache (0x0x7f30c40d5d00)
+
+Class QNetworkAddressEntry
+ size=8 align=8
+ base size=8 base align=8
+QNetworkAddressEntry (0x0x7f30c4103000) 0
+
+Class QNetworkInterface
+ size=8 align=8
+ base size=8 base align=8
+QNetworkInterface (0x0x7f30c41036c0) 0
+
+Class QNetworkProxyQuery
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyQuery (0x0x7f30c4103d80) 0
+
+Class QNetworkProxy
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxy (0x0x7f30c41b6420) 0
+
+Vtable for QNetworkProxyFactory
+QNetworkProxyFactory::_ZTV20QNetworkProxyFactory: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QNetworkProxyFactory)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QNetworkProxyFactory
+ size=8 align=8
+ base size=8 base align=8
+QNetworkProxyFactory (0x0x7f30c41b6c00) 0 nearly-empty
+ vptr=((& QNetworkProxyFactory::_ZTV20QNetworkProxyFactory) + 16u)
+
+Class QNetworkReply::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkReply::QPrivateSignal (0x0x7f30c41b6de0) 0 empty
+
+Vtable for QNetworkReply
+QNetworkReply::_ZTV13QNetworkReply: 36u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QNetworkReply)
+16 (int (*)(...))QNetworkReply::metaObject
+24 (int (*)(...))QNetworkReply::qt_metacast
+32 (int (*)(...))QNetworkReply::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QNetworkReply::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QNetworkReply::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QNetworkReply::writeData
+240 (int (*)(...))QNetworkReply::setReadBufferSize
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))QNetworkReply::ignoreSslErrors
+264 (int (*)(...))QNetworkReply::sslConfigurationImplementation
+272 (int (*)(...))QNetworkReply::setSslConfigurationImplementation
+280 (int (*)(...))QNetworkReply::ignoreSslErrorsImplementation
+
+Class QNetworkReply
+ size=16 align=8
+ base size=16 base align=8
+QNetworkReply (0x0x7f30c3de83a8) 0
+ vptr=((& QNetworkReply::_ZTV13QNetworkReply) + 16u)
+ QIODevice (0x0x7f30c3de8410) 0
+ primary-for QNetworkReply (0x0x7f30c3de83a8)
+ QObject (0x0x7f30c41b6d80) 0
+ primary-for QIODevice (0x0x7f30c3de8410)
+
+Class QNetworkSession::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QNetworkSession::QPrivateSignal (0x0x7f30c3e52000) 0 empty
+
+Vtable for QNetworkSession
+QNetworkSession::_ZTV15QNetworkSession: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QNetworkSession)
+16 (int (*)(...))QNetworkSession::metaObject
+24 (int (*)(...))QNetworkSession::qt_metacast
+32 (int (*)(...))QNetworkSession::qt_metacall
+40 (int (*)(...))QNetworkSession::~QNetworkSession
+48 (int (*)(...))QNetworkSession::~QNetworkSession
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QNetworkSession::connectNotify
+104 (int (*)(...))QNetworkSession::disconnectNotify
+
+Class QNetworkSession
+ size=24 align=8
+ base size=24 base align=8
+QNetworkSession (0x0x7f30c3de8478) 0
+ vptr=((& QNetworkSession::_ZTV15QNetworkSession) + 16u)
+ QObject (0x0x7f30c41b6f60) 0
+ primary-for QNetworkSession (0x0x7f30c3de8478)
+
+Class QTcpServer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTcpServer::QPrivateSignal (0x0x7f30c3e525a0) 0 empty
+
+Vtable for QTcpServer
+QTcpServer::_ZTV10QTcpServer: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTcpServer)
+16 (int (*)(...))QTcpServer::metaObject
+24 (int (*)(...))QTcpServer::qt_metacast
+32 (int (*)(...))QTcpServer::qt_metacall
+40 (int (*)(...))QTcpServer::~QTcpServer
+48 (int (*)(...))QTcpServer::~QTcpServer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTcpServer::hasPendingConnections
+120 (int (*)(...))QTcpServer::nextPendingConnection
+128 (int (*)(...))QTcpServer::incomingConnection
+
+Class QTcpServer
+ size=16 align=8
+ base size=16 base align=8
+QTcpServer (0x0x7f30c3de85b0) 0
+ vptr=((& QTcpServer::_ZTV10QTcpServer) + 16u)
+ QObject (0x0x7f30c3e52540) 0
+ primary-for QTcpServer (0x0x7f30c3de85b0)
+
+Class QSslCertificateExtension
+ size=8 align=8
+ base size=8 base align=8
+QSslCertificateExtension (0x0x7f30c3e52600) 0
+
+Class QSslCipher
+ size=8 align=8
+ base size=8 base align=8
+QSslCipher (0x0x7f30c3e52900) 0
+
+Class QSslDiffieHellmanParameters
+ size=8 align=8
+ base size=8 base align=8
+QSslDiffieHellmanParameters (0x0x7f30c3eef120) 0
+
+Class QSslEllipticCurve
+ size=4 align=4
+ base size=4 base align=4
+QSslEllipticCurve (0x0x7f30c3f5cc00) 0
+
+Class QSslKey
+ size=8 align=8
+ base size=8 base align=8
+QSslKey (0x0x7f30c3f95360) 0
+
+Class QUdpSocket::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUdpSocket::QPrivateSignal (0x0x7f30c3f956c0) 0 empty
+
+Vtable for QUdpSocket
+QUdpSocket::_ZTV10QUdpSocket: 41u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUdpSocket)
+16 (int (*)(...))QUdpSocket::metaObject
+24 (int (*)(...))QUdpSocket::qt_metacast
+32 (int (*)(...))QUdpSocket::qt_metacall
+40 (int (*)(...))QUdpSocket::~QUdpSocket
+48 (int (*)(...))QUdpSocket::~QUdpSocket
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractSocket::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QAbstractSocket::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QAbstractSocket::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QAbstractSocket::bytesAvailable
+184 (int (*)(...))QAbstractSocket::bytesToWrite
+192 (int (*)(...))QAbstractSocket::canReadLine
+200 (int (*)(...))QAbstractSocket::waitForReadyRead
+208 (int (*)(...))QAbstractSocket::waitForBytesWritten
+216 (int (*)(...))QAbstractSocket::readData
+224 (int (*)(...))QAbstractSocket::readLineData
+232 (int (*)(...))QAbstractSocket::writeData
+240 (int (*)(...))QAbstractSocket::resume
+248 (int (*)(...))QAbstractSocket::connectToHost
+256 (int (*)(...))QAbstractSocket::connectToHost
+264 (int (*)(...))QAbstractSocket::disconnectFromHost
+272 (int (*)(...))QAbstractSocket::setReadBufferSize
+280 (int (*)(...))QAbstractSocket::socketDescriptor
+288 (int (*)(...))QAbstractSocket::setSocketDescriptor
+296 (int (*)(...))QAbstractSocket::setSocketOption
+304 (int (*)(...))QAbstractSocket::socketOption
+312 (int (*)(...))QAbstractSocket::waitForConnected
+320 (int (*)(...))QAbstractSocket::waitForDisconnected
+
+Class QUdpSocket
+ size=16 align=8
+ base size=16 base align=8
+QUdpSocket (0x0x7f30c3f78b60) 0
+ vptr=((& QUdpSocket::_ZTV10QUdpSocket) + 16u)
+ QAbstractSocket (0x0x7f30c3f78bc8) 0
+ primary-for QUdpSocket (0x0x7f30c3f78b60)
+ QIODevice (0x0x7f30c3f78c30) 0
+ primary-for QAbstractSocket (0x0x7f30c3f78bc8)
+ QObject (0x0x7f30c3f95660) 0
+ primary-for QIODevice (0x0x7f30c3f78c30)
+
diff --git a/tests/auto/bic/data/QtOpenGL.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtOpenGL.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..8f5c846b41
--- /dev/null
+++ b/tests/auto/bic/data/QtOpenGL.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,19441 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7ff86ee43600) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7ff86ee92d80) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7ff86eebc000) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7ff86eebc240) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7ff86eebc480) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7ff86eebc600) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7ff86eebc9c0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7ff86ef77180) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7ff86ef77240) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7ff86ef775a0) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7ff86ef77660) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7ff86ef77720) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7ff86ef777e0) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7ff86ef77a80) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7ff86ef77c60) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7ff86eafa120) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7ff86eafa180) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7ff86eb2ede0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7ff86eb2ee40) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7ff86ef2ba90) 0 empty
+ std::input_iterator_tag (0x0x7ff86eb2eea0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7ff86ef2baf8) 0 empty
+ std::forward_iterator_tag (0x0x7ff86ef2bb60) 0 empty
+ std::input_iterator_tag (0x0x7ff86eb2ef00) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7ff86ef2bbc8) 0 empty
+ std::bidirectional_iterator_tag (0x0x7ff86ef2bc30) 0 empty
+ std::forward_iterator_tag (0x0x7ff86ef2bc98) 0 empty
+ std::input_iterator_tag (0x0x7ff86eb2ef60) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7ff86eb5ac00) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7ff86eb5ac60) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7ff86eb5acc0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7ff86eb5ad20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7ff86eb5ad80) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7ff86ec358a0) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7ff86ec35ae0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7ff86ec35ba0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7ff86ec35c00) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7ff86ec35cc0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7ff86ec35d20) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7ff86e8d41e0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7ff86e8d4240) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7ff86e8d42a0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7ff86ebad208) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7ff86e8d4300) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7ff86ebad208)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7ff86e8d4360) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7ff86e8d43c0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7ff86ebad410) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7ff86e8d47e0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7ff86ebad410)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7ff86ebad478) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7ff86ebad4e0) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7ff86ebad478)
+ std::exception (0x0x7ff86e8d4840) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7ff86ebad4e0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7ff86e8d48a0) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7ff86ea504e0) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7ff86e86d1e0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7ff86e86d240) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7ff86e517120) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7ff86e517180) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7ff86e517240) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7ff86e5172a0) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7ff86e517300) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7ff86e517360) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7ff86e517480) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7ff86e5174e0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7ff86e517900) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7ff86e517960) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7ff86e448180) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7ff86e4481e0) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7ff86e127180) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7ff86e127f60) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7ff86dec70d0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7ff86df4c060) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7ff86dec7138) 0
+ std::_Bit_iterator_base (0x0x7ff86dec71a0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7ff86df4c0c0) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7ff86dec7208) 0
+ std::_Bit_iterator_base (0x0x7ff86dec7270) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7ff86df4c120) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7ff86df4cf00) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7ff86dd1dcc0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7ff86dd1dc60) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7ff86de62c60) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7ff86c6e5780) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7ff86c6e57e0) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7ff86c7c72a0) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7ff86c7c7300) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7ff86c7c7360) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7ff86c7c73c0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7ff86c7c7660) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7ff86c7c7ba0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7ff86c81d138) 0
+ std::__atomic_flag_base (0x0x7ff86c7c7c00) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7ff86c81d888) 0
+ QAtomicInteger<int> (0x0x7ff86c81d8f0) 0
+ QBasicAtomicInteger<int> (0x0x7ff86c37d360) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7ff86becb900) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7ff86c05dae0) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7ff86c05dc00) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7ff86c05f4e0) 0
+ QGenericArgument (0x0x7ff86c05dc60) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7ff86c05dde0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7ff86c05dea0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7ff86bd18f00) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7ff86bd18f60) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7ff86bdc4240) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7ff86bdc42a0) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7ff86bdc4600) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7ff86bdc4660) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7ff86bdc46c0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7ff86bdc4720) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7ff86bdc4780) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7ff86bdc4b40) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7ff86be0daf8) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7ff86bdc4c00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7ff86be0daf8)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7ff86be0db60) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7ff86be0dbc8) 0
+ primary-for std::domain_error (0x0x7ff86be0db60)
+ std::exception (0x0x7ff86bdc4c60) 0 nearly-empty
+ primary-for std::logic_error (0x0x7ff86be0dbc8)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7ff86be0dc30) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7ff86be0dc98) 0
+ primary-for std::invalid_argument (0x0x7ff86be0dc30)
+ std::exception (0x0x7ff86bdc4cc0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7ff86be0dc98)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7ff86be0dd00) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7ff86be0dd68) 0
+ primary-for std::length_error (0x0x7ff86be0dd00)
+ std::exception (0x0x7ff86bdc4d20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7ff86be0dd68)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7ff86be0ddd0) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7ff86be0de38) 0
+ primary-for std::out_of_range (0x0x7ff86be0ddd0)
+ std::exception (0x0x7ff86bdc4d80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7ff86be0de38)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7ff86be0dea0) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7ff86bdc4de0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7ff86be0dea0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7ff86be0df08) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7ff86be0df70) 0
+ primary-for std::range_error (0x0x7ff86be0df08)
+ std::exception (0x0x7ff86bdc4e40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7ff86be0df70)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7ff86be0d820) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7ff86be0d8f0) 0
+ primary-for std::overflow_error (0x0x7ff86be0d820)
+ std::exception (0x0x7ff86bdc4ea0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7ff86be0d8f0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7ff86bb04000) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7ff86bb04068) 0
+ primary-for std::underflow_error (0x0x7ff86bb04000)
+ std::exception (0x0x7ff86bdc4f00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7ff86bb04068)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7ff86bb0b0c0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7ff86bb0b300) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7ff86bb0b480) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7ff86bb04548) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7ff86bb045b0) 0
+ primary-for std::system_error (0x0x7ff86bb04548)
+ std::exception (0x0x7ff86bb0b6c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7ff86bb045b0)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7ff86bb7f1a0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7ff86bb7f208) 0
+ primary-for std::ios_base::failure (0x0x7ff86bb7f1a0)
+ std::runtime_error (0x0x7ff86bb7f270) 0
+ primary-for std::system_error (0x0x7ff86bb7f208)
+ std::exception (0x0x7ff86bb0b9c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7ff86bb7f270)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7ff86bb0ba20) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7ff86bb0ba80) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7ff86bb0bae0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7ff86bb0b960) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7ff86bc402a0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7ff86bc40960) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7ff86b7ebd68 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7ff86b7ebe38 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7ff86b7eb3a8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7ff86b7eb9c0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7ff86b86f1e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7ff86b86f240) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7ff86b5875a0) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7ff86b587900) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7ff86b587d80) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7ff86b2bac00) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7ff86b34b2a0) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7ff86b34b240) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7ff86b0f5360) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7ff86b0f5f60) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7ff86aee8c00) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7ff86aee8c60) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7ff86aee8cc0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7ff86ad560c0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7ff86ad56120) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7ff86af03af8) 0 empty
+ QListData::NotIndirectLayout (0x0x7ff86ad56180) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7ff86ad58310) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7ff86ad561e0) 0 empty
+ QListData::NotIndirectLayout (0x0x7ff86ad56240) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7ff86af03b60) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7ff86ad562a0) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7ff86ad56300) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7ff86ad56060) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7ff86ad56780) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7ff86ab089c0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7ff86ab08960) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7ff86ab135b0) 0
+ QList<QString> (0x0x7ff86ab13618) 0
+ QListSpecialMethods<QString> (0x0x7ff86ab08ba0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7ff86abae000) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7ff86abaeba0) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7ff86a99e240) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7ff86a99e3c0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7ff86a99e480) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7ff86ab13f08) 0
+ std::__uses_alloc_base (0x0x7ff86a99e420) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7ff86a6ba4e0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7ff86a6ba720) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7ff86a6ba7e0) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7ff86a6ba900) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7ff86a6baa80) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7ff86a6baea0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7ff86a812000) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7ff86a812960) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7ff86a812d80) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7ff86a5000c0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7ff86a326a80) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7ff86a081900) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7ff86a081960) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7ff86a081b40) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7ff86a081ae0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7ff86a132de0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7ff86a132e40) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7ff86a132f00) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7ff86a17c138) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7ff86a132ea0) 0
+ primary-for QAbstractAnimation (0x0x7ff86a17c138)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7ff86a1bc000) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7ff86a17c1a0) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7ff86a132f60) 0
+ primary-for QAnimationDriver (0x0x7ff86a17c1a0)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7ff86a1bc0c0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7ff86a17c208) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7ff86a1bc060) 0
+ primary-for QEventLoop (0x0x7ff86a17c208)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7ff86a1bc2a0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7ff86a1bc360) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7ff86a1bc3c0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7ff86a17c340) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7ff86a1bc300) 0
+ primary-for QAbstractEventDispatcher (0x0x7ff86a17c340)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7ff86a1bc660) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7ff86a17c548) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7ff86a1bc6c0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7ff86a17c548)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7ff86a17c5b0) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7ff86a1bc720) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7ff86a17c5b0)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7ff869f1a820) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7ff869f487e0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7ff869f1a820)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7ff869f488a0) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7ff869f48900) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7ff869f48a20) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7ff869f48f00) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7ff86a041480) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7ff86a041840) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7ff86a0417e0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7ff86a0418a0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7ff869e52180) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7ff869e52240) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7ff869e521e0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7ff869e522a0) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7ff869e52120) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7ff869b1fd80) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7ff869bca420) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7ff869bca3c0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7ff869bca4e0) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7ff869bca480) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7ff8698ef7e0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7ff8698efea0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7ff8696d8600) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7ff8696e05b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7ff8696d85a0) 0
+ primary-for QAbstractItemModel (0x0x7ff8696e05b0)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7ff8696d8ea0) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7ff8696e0c98) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7ff8696e0d00) 0
+ primary-for QAbstractTableModel (0x0x7ff8696e0c98)
+ QObject (0x0x7ff8696d8e40) 0
+ primary-for QAbstractItemModel (0x0x7ff8696e0d00)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7ff8696d8f60) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7ff8696e0d68) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7ff8696e0dd0) 0
+ primary-for QAbstractListModel (0x0x7ff8696e0d68)
+ QObject (0x0x7ff8696d8f00) 0
+ primary-for QAbstractItemModel (0x0x7ff8696e0dd0)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7ff8697e8240) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7ff8697e8300) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7ff8696e0f08) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7ff8696e0f70) 0
+ primary-for QAbstractProxyModel (0x0x7ff8696e0f08)
+ QObject (0x0x7ff8697e82a0) 0
+ primary-for QAbstractItemModel (0x0x7ff8696e0f70)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7ff8697e83c0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7ff86983a000) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7ff8697e8360) 0
+ primary-for QAbstractState (0x0x7ff86983a000)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7ff8697e8480) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7ff86983a068) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7ff8697e8420) 0
+ primary-for QAbstractTransition (0x0x7ff86983a068)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7ff8697e8540) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7ff86983a0d0) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7ff86983a138) 0
+ primary-for QAnimationGroup (0x0x7ff86983a0d0)
+ QObject (0x0x7ff8697e84e0) 0
+ primary-for QAbstractAnimation (0x0x7ff86983a138)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7ff8694aa2a0) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7ff8694aa540) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7ff8694aa600) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7ff8694aa900) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7ff86983a7b8) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7ff8694aa8a0) 0
+ primary-for QIODevice (0x0x7ff86983a7b8)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7ff8694aab40) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7ff86983a8f0) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7ff86983a958) 0
+ primary-for QBuffer (0x0x7ff86983a8f0)
+ QObject (0x0x7ff8694aaae0) 0
+ primary-for QIODevice (0x0x7ff86983a958)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7ff8694aac00) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7ff8694aaba0) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7ff8694aad20) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7ff8694aacc0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7ff8694aaf00) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7ff8695ec120) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7ff8695ec3c0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7ff8695ecb40) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7ff8695ecba0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7ff8695ecae0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7ff8692fdcc0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7ff8693c4300) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7ff8693c45a0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7ff8693c47e0) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7ff8693c4ea0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7ff8690fc060) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7ff8690fc5a0) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7ff8690fc540) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7ff868f0c8a0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7ff868f0c960) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7ff868f88cc0) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7ff868f88e40) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7ff868ff1480) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7ff868ff1780) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7ff868ff1b40) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7ff868d8d240) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7ff868d8d840) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7ff868d8d8a0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7ff8688488a0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7ff868848e40) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7ff868848ea0) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7ff868848de0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7ff868978f00) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7ff868978f60) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7ff868978ea0) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7ff86873dae0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7ff86873dea0) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7ff8684918a0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7ff868491f00) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7ff86854a000) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7ff8685d9000) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7ff8685d9480) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7ff8685c0f08) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7ff8685d94e0) 0
+ primary-for QTimerEvent (0x0x7ff8685c0f08)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7ff8685c0f70) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7ff8685d9540) 0
+ primary-for QChildEvent (0x0x7ff8685c0f70)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7ff8682244e0) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7ff8685d9a20) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7ff8682244e0)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7ff868224548) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7ff8685d9a80) 0
+ primary-for QDeferredDeleteEvent (0x0x7ff868224548)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7ff8685d9b40) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7ff8682245b0) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7ff8685d9ae0) 0
+ primary-for QCoreApplication (0x0x7ff8682245b0)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7ff8685d9ba0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7ff8685d9c00) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7ff8685d9c60) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7ff8685d9d20) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7ff8682aa240) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7ff8682aa720) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7ff8680115a0) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7ff86800ca28) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7ff86800ca90) 0
+ primary-for QFileDevice (0x0x7ff86800ca28)
+ QObject (0x0x7ff868011540) 0
+ primary-for QIODevice (0x0x7ff86800ca90)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7ff8680117e0) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7ff86800cbc8) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7ff86800cc30) 0
+ primary-for QFile (0x0x7ff86800cbc8)
+ QIODevice (0x0x7ff86800cc98) 0
+ primary-for QFileDevice (0x0x7ff86800cc30)
+ QObject (0x0x7ff868011780) 0
+ primary-for QIODevice (0x0x7ff86800cc98)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7ff8680119c0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7ff868011de0) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7ff868109420) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7ff868109660) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7ff867e1ba80) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7ff867e17c98) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7ff867e17d00) 0
+ primary-for QEventTransition (0x0x7ff867e17c98)
+ QObject (0x0x7ff867e1ba20) 0
+ primary-for QAbstractTransition (0x0x7ff867e17d00)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7ff867e17d68) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7ff867e1bae0) 0 nearly-empty
+ primary-for QException (0x0x7ff867e17d68)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7ff867e17dd0) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7ff867e17e38) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7ff867e17dd0)
+ std::exception (0x0x7ff867e1bb40) 0 nearly-empty
+ primary-for QException (0x0x7ff867e17e38)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7ff867e1bba0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7ff867e1bc60) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7ff867e1bcc0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7ff867e1bde0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7ff867e17ea0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7ff867e1bd80) 0
+ primary-for QFileSelector (0x0x7ff867e17ea0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7ff867e1bea0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7ff867e17f08) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7ff867e1be40) 0
+ primary-for QFileSystemWatcher (0x0x7ff867e17f08)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7ff867e1bf60) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7ff867e17f70) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7ff867ecc000) 0
+ primary-for QFinalState (0x0x7ff867e17f70)
+ QObject (0x0x7ff867e1bf00) 0
+ primary-for QAbstractState (0x0x7ff867ecc000)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7ff867eda000) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7ff867eda060) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7ff867ecc138) 0
+ QBasicMutex (0x0x7ff867eda240) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7ff867eda2a0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7ff867eda300) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7ff867eda360) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7ff867eda480) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7ff867edacc0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7ff867c4b4e0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7ff867c4e270) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7ff867c4b480) 0
+ primary-for QFutureWatcherBase (0x0x7ff867c4e270)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7ff867c4bae0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7ff867c4eb60) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7ff867c4ebc8) 0
+ primary-for QHistoryState (0x0x7ff867c4eb60)
+ QObject (0x0x7ff867c4ba80) 0
+ primary-for QAbstractState (0x0x7ff867c4ebc8)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7ff867c4bba0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7ff867c4ec30) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7ff867c4ec98) 0
+ primary-for QIdentityProxyModel (0x0x7ff867c4ec30)
+ QAbstractItemModel (0x0x7ff867c4ed00) 0
+ primary-for QAbstractProxyModel (0x0x7ff867c4ec98)
+ QObject (0x0x7ff867c4bb40) 0
+ primary-for QAbstractItemModel (0x0x7ff867c4ed00)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7ff867c4bc00) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7ff867d1f300) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7ff867d19548) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7ff867d1f2a0) 0
+ primary-for QItemSelectionModel (0x0x7ff867d19548)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7ff867d19750) 0
+ QList<QItemSelectionRange> (0x0x7ff867d197b8) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7ff867d1f600) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7ff867d1fae0) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7ff867b2d240) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7ff867b2d780) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7ff867b2d7e0) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7ff867b2d9c0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7ff867b2da20) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7ff867b2d960) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7ff867841c60) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7ff867841cc0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7ff8678bb360) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7ff8678bb3c0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7ff8678bb300) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7ff867971660) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7ff86796caf8) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7ff867971600) 0
+ primary-for QLibrary (0x0x7ff86796caf8)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7ff867971d20) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7ff867971840) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7ff867661240) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7ff8676612a0) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7ff867661540) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7ff867661b40) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7ff8677034e0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7ff867703ae0) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7ff867703e40) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7ff867447000) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7ff867703f60) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7ff867447180) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7ff867447420) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7ff867447a80) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7ff867447ae0) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7ff867578120) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7ff867578420) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7ff867578480) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7ff867578780) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7ff867500d68) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7ff867578720) 0
+ primary-for QMimeData (0x0x7ff867500d68)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7ff8675787e0) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7ff867578ae0) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7ff867578ba0) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7ff867500f70) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7ff867578b40) 0
+ primary-for QObjectCleanupHandler (0x0x7ff867500f70)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7ff867578c00) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7ff8672023c0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7ff8671f16e8) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7ff8671f1750) 0
+ primary-for QParallelAnimationGroup (0x0x7ff8671f16e8)
+ QAbstractAnimation (0x0x7ff8671f17b8) 0
+ primary-for QAnimationGroup (0x0x7ff8671f1750)
+ QObject (0x0x7ff867202360) 0
+ primary-for QAbstractAnimation (0x0x7ff8671f17b8)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7ff867202480) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7ff8671f1820) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7ff8671f1888) 0
+ primary-for QPauseAnimation (0x0x7ff8671f1820)
+ QObject (0x0x7ff867202420) 0
+ primary-for QAbstractAnimation (0x0x7ff8671f1888)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7ff867202660) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7ff867202960) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7ff8671f1a90) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7ff867202900) 0
+ primary-for QPluginLoader (0x0x7ff8671f1a90)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7ff8672029c0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7ff86728c0c0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7ff86728b0d0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7ff86728b138) 0
+ primary-for QProcess (0x0x7ff86728b0d0)
+ QObject (0x0x7ff86728c060) 0
+ primary-for QIODevice (0x0x7ff86728b138)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7ff86728c180) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7ff86728b1a0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7ff86728b208) 0
+ primary-for QVariantAnimation (0x0x7ff86728b1a0)
+ QObject (0x0x7ff86728c120) 0
+ primary-for QAbstractAnimation (0x0x7ff86728b208)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7ff86728c240) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7ff86728b2d8) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7ff86728b340) 0
+ primary-for QPropertyAnimation (0x0x7ff86728b2d8)
+ QAbstractAnimation (0x0x7ff86728b3a8) 0
+ primary-for QVariantAnimation (0x0x7ff86728b340)
+ QObject (0x0x7ff86728c1e0) 0
+ primary-for QAbstractAnimation (0x0x7ff86728b3a8)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7ff86728c360) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7ff86728c300) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7ff86736d680) 0
+ QRandomGenerator (0x0x7ff86737f300) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7ff86737f3c0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7ff86737f660) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7ff86737f720) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7ff86737f7e0) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7ff86737fa80) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7ff86737fd20) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7ff867149000) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7ff8671492a0) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7ff867149420) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7ff8670de208) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7ff8670de270) 0
+ primary-for QSaveFile (0x0x7ff8670de208)
+ QIODevice (0x0x7ff8670de2d8) 0
+ primary-for QFileDevice (0x0x7ff8670de270)
+ QObject (0x0x7ff8671493c0) 0
+ primary-for QIODevice (0x0x7ff8670de2d8)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7ff867149540) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7ff8671496c0) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7ff866f23cc0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7ff866f36b60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7ff866f36bc8) 0
+ primary-for QSequentialAnimationGroup (0x0x7ff866f36b60)
+ QAbstractAnimation (0x0x7ff866f36c30) 0
+ primary-for QAnimationGroup (0x0x7ff866f36bc8)
+ QObject (0x0x7ff866f23c60) 0
+ primary-for QAbstractAnimation (0x0x7ff866f36c30)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7ff866f23d80) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7ff866f36c98) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7ff866f23d20) 0
+ primary-for QSettings (0x0x7ff866f36c98)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7ff866f23e40) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7ff866f36d00) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7ff866f23de0) 0
+ primary-for QSharedMemory (0x0x7ff866f36d00)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7ff866f23f00) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7ff866f36d68) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7ff866f23ea0) 0
+ primary-for QSignalMapper (0x0x7ff866f36d68)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7ff866fa5000) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7ff866f36dd0) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7ff866f36e38) 0
+ primary-for QSignalTransition (0x0x7ff866f36dd0)
+ QObject (0x0x7ff866f23f60) 0
+ primary-for QAbstractTransition (0x0x7ff866f36e38)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7ff866fa50c0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7ff866f36ea0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7ff866fa5060) 0
+ primary-for QSocketNotifier (0x0x7ff866f36ea0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7ff866fa5180) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7ff866f36f08) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7ff866f36f70) 0
+ primary-for QSortFilterProxyModel (0x0x7ff866f36f08)
+ QAbstractItemModel (0x0x7ff866fc1000) 0
+ primary-for QAbstractProxyModel (0x0x7ff866f36f70)
+ QObject (0x0x7ff866fa5120) 0
+ primary-for QAbstractItemModel (0x0x7ff866fc1000)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7ff866fa5240) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7ff866fa5480) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7ff866fc11a0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7ff866fc1208) 0
+ primary-for QState (0x0x7ff866fc11a0)
+ QObject (0x0x7ff866fa5420) 0
+ primary-for QAbstractState (0x0x7ff866fc1208)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7ff866fa55a0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7ff866fc13a8) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7ff866fa5600) 0
+ primary-for QStateMachine::SignalEvent (0x0x7ff866fc13a8)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7ff866fc1410) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7ff866fa5660) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7ff866fc1410)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7ff866fc1270) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7ff866fc12d8) 0
+ primary-for QStateMachine (0x0x7ff866fc1270)
+ QAbstractState (0x0x7ff866fc1340) 0
+ primary-for QState (0x0x7ff866fc12d8)
+ QObject (0x0x7ff866fa5540) 0
+ primary-for QAbstractState (0x0x7ff866fc1340)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7ff866fa56c0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7ff866ca7600) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7ff866d2a9c0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7ff866d40410) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7ff866d40478) 0
+ primary-for QStringListModel (0x0x7ff866d40410)
+ QAbstractItemModel (0x0x7ff866d404e0) 0
+ primary-for QAbstractListModel (0x0x7ff866d40478)
+ QObject (0x0x7ff866d2a960) 0
+ primary-for QAbstractItemModel (0x0x7ff866d404e0)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7ff866d2aa20) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7ff866d2aae0) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7ff866d2ac00) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7ff866d40548) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7ff866d405b0) 0
+ primary-for QTemporaryFile (0x0x7ff866d40548)
+ QFileDevice (0x0x7ff866d40618) 0
+ primary-for QFile (0x0x7ff866d405b0)
+ QIODevice (0x0x7ff866d40680) 0
+ primary-for QFileDevice (0x0x7ff866d40618)
+ QObject (0x0x7ff866d2aba0) 0
+ primary-for QIODevice (0x0x7ff866d40680)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7ff866d2ac60) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7ff866d2aea0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7ff866d2ae40) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7ff866de00c0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7ff866de0120) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7ff866de0180) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7ff866de01e0) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7ff866d40888) 0
+ std::__mutex_base (0x0x7ff866de0240) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7ff866d408f0) 0
+ std::__recursive_mutex_base (0x0x7ff866de02a0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7ff866a453f0) 0
+ std::__mutex_base (0x0x7ff866de03c0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7ff866de0420) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7ff866a45d90) 0
+ std::__recursive_mutex_base (0x0x7ff866de04e0) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7ff866de0540) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7ff866de05a0) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7ff866de0600) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7ff866de0660) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7ff866de08a0) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7ff866d40a28) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7ff866de0960) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7ff866d40a28)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7ff866d40a90) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7ff866de0a20) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7ff866d40a90)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7ff866d40af8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7ff866de0ae0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7ff866d40af8)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7ff866d40bc8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7ff866de0ba0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7ff866d40bc8)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7ff866de0c60) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7ff866de0cc0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7ff866de0d20) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7ff866de0d80) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7ff866d40ea0) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7ff866b2a120) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7ff866d40ea0)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7ff866b2a960) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7ff8668e6180) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7ff8668e6360) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7ff8668e63c0) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7ff8668e6300) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7ff866684000) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7ff8666840c0) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7ff866684120) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7ff86672c780) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7ff86676c208) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7ff86676c270) 0
+ primary-for std::future_error (0x0x7ff86676c208)
+ std::exception (0x0x7ff86672c8a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7ff86676c270)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7ff86672c9c0) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7ff86672c960) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7ff8663f5f00) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7ff8664a7820) 0
+ std::__at_thread_exit_elt (0x0x7ff8664d3000) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7ff86672cb40) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7ff86672c900) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7ff865e11410) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7ff865df6ea0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7ff865e11410)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7ff865e5e600) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7ff865e11ea0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7ff865e5e5a0) 0
+ primary-for QThread (0x0x7ff865e11ea0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7ff865e5e720) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7ff865e11f08) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7ff865e5e6c0) 0
+ primary-for QThreadPool (0x0x7ff865e11f08)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7ff865e5e780) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7ff865e5e8a0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7ff865e11f70) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7ff865e5e840) 0
+ primary-for QTimeLine (0x0x7ff865e11f70)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7ff865e5e960) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7ff865ee5000) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7ff865e5e900) 0
+ primary-for QTimer (0x0x7ff865ee5000)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7ff865f280c0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7ff865f28060) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7ff865f28660) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7ff865ee5bc8) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7ff865f28600) 0
+ primary-for QTranslator (0x0x7ff865ee5bc8)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7ff865f286c0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7ff865f28d20) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7ff865f28d80) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7ff865bce060) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7ff865f91888) 0
+ QVector<QXmlStreamAttribute> (0x0x7ff865bce420) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7ff865bce480) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7ff865bce720) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7ff865bce9c0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7ff865bcec60) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7ff865bcecc0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7ff865cda720) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7ff865cda840) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7ff865cdaae0) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7ff865a114e0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7ff865a11480) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7ff865aac840) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7ff865b60d80) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7ff865ba7060) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7ff865b73680) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x0x7ff865ba7240) 0
+ primary-for QInputEvent (0x0x7ff865b73680)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7ff865b736e8) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16u)
+ QEvent (0x0x7ff865ba72a0) 0
+ primary-for QEnterEvent (0x0x7ff865b736e8)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7ff865b73750) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x0x7ff865b737b8) 0
+ primary-for QMouseEvent (0x0x7ff865b73750)
+ QEvent (0x0x7ff865ba7300) 0
+ primary-for QInputEvent (0x0x7ff865b737b8)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7ff865b73820) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QInputEvent (0x0x7ff865b73888) 0
+ primary-for QHoverEvent (0x0x7ff865b73820)
+ QEvent (0x0x7ff865ba7360) 0
+ primary-for QInputEvent (0x0x7ff865b73888)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7ff865b738f0) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x0x7ff865b73958) 0
+ primary-for QWheelEvent (0x0x7ff865b738f0)
+ QEvent (0x0x7ff865ba73c0) 0
+ primary-for QInputEvent (0x0x7ff865b73958)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7ff865b739c0) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x0x7ff865b73a28) 0
+ primary-for QTabletEvent (0x0x7ff865b739c0)
+ QEvent (0x0x7ff865ba7420) 0
+ primary-for QInputEvent (0x0x7ff865b73a28)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7ff865b73a90) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16u)
+ QInputEvent (0x0x7ff865b73af8) 0
+ primary-for QNativeGestureEvent (0x0x7ff865b73a90)
+ QEvent (0x0x7ff865ba7480) 0
+ primary-for QInputEvent (0x0x7ff865b73af8)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7ff865b73b60) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x0x7ff865b73bc8) 0
+ primary-for QKeyEvent (0x0x7ff865b73b60)
+ QEvent (0x0x7ff865ba74e0) 0
+ primary-for QInputEvent (0x0x7ff865b73bc8)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7ff865b73c30) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x0x7ff865ba7540) 0
+ primary-for QFocusEvent (0x0x7ff865b73c30)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7ff865b73c98) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x0x7ff865ba75a0) 0
+ primary-for QPaintEvent (0x0x7ff865b73c98)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7ff865b73d00) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x0x7ff865ba7600) 0
+ primary-for QMoveEvent (0x0x7ff865b73d00)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7ff865b73d68) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16u)
+ QEvent (0x0x7ff865ba7660) 0
+ primary-for QExposeEvent (0x0x7ff865b73d68)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7ff865b73dd0) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16u)
+ QEvent (0x0x7ff865ba76c0) 0
+ primary-for QPlatformSurfaceEvent (0x0x7ff865b73dd0)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7ff865b73e38) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x0x7ff865ba7720) 0
+ primary-for QResizeEvent (0x0x7ff865b73e38)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7ff865b73ea0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x0x7ff865ba7780) 0
+ primary-for QCloseEvent (0x0x7ff865b73ea0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7ff865b73f08) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x0x7ff865ba77e0) 0
+ primary-for QIconDragEvent (0x0x7ff865b73f08)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7ff865b73f70) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x0x7ff865ba7840) 0
+ primary-for QShowEvent (0x0x7ff865b73f70)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7ff8658c9000) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x0x7ff865ba78a0) 0
+ primary-for QHideEvent (0x0x7ff8658c9000)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7ff8658c9068) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x0x7ff8658c90d0) 0
+ primary-for QContextMenuEvent (0x0x7ff8658c9068)
+ QEvent (0x0x7ff865ba7900) 0
+ primary-for QInputEvent (0x0x7ff8658c90d0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7ff865ba79c0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7ff8658c9138) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x0x7ff865ba7960) 0
+ primary-for QInputMethodEvent (0x0x7ff8658c9138)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7ff865ba7e40) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7ff8658c9478) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16u)
+ QEvent (0x0x7ff865ba7de0) 0
+ primary-for QInputMethodQueryEvent (0x0x7ff8658c9478)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7ff8658c9750) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x0x7ff86595a1e0) 0
+ primary-for QDropEvent (0x0x7ff8658c9750)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7ff8658c97b8) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x0x7ff8658c9820) 0
+ primary-for QDragMoveEvent (0x0x7ff8658c97b8)
+ QEvent (0x0x7ff86595a240) 0
+ primary-for QDropEvent (0x0x7ff8658c9820)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7ff8658c9888) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x0x7ff8658c98f0) 0
+ primary-for QDragEnterEvent (0x0x7ff8658c9888)
+ QDropEvent (0x0x7ff8658c9958) 0
+ primary-for QDragMoveEvent (0x0x7ff8658c98f0)
+ QEvent (0x0x7ff86595a2a0) 0
+ primary-for QDropEvent (0x0x7ff8658c9958)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7ff8658c99c0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x0x7ff86595a300) 0
+ primary-for QDragLeaveEvent (0x0x7ff8658c99c0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7ff8658c9a28) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x0x7ff86595a360) 0
+ primary-for QHelpEvent (0x0x7ff8658c9a28)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7ff8658c9a90) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x0x7ff86595a3c0) 0
+ primary-for QStatusTipEvent (0x0x7ff8658c9a90)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7ff8658c9af8) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x0x7ff86595a420) 0
+ primary-for QWhatsThisClickedEvent (0x0x7ff8658c9af8)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7ff8658c9b60) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x0x7ff86595a480) 0
+ primary-for QActionEvent (0x0x7ff8658c9b60)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7ff8658c9bc8) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x0x7ff86595a4e0) 0
+ primary-for QFileOpenEvent (0x0x7ff8658c9bc8)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7ff8658c9c30) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x0x7ff86595a540) 0
+ primary-for QToolBarChangeEvent (0x0x7ff8658c9c30)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7ff8658c9c98) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x0x7ff86595a5a0) 0
+ primary-for QShortcutEvent (0x0x7ff8658c9c98)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7ff8658c9d00) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x0x7ff86595a600) 0
+ primary-for QWindowStateChangeEvent (0x0x7ff8658c9d00)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7ff86595a660) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7ff86595ad20) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7ff8659ba3a8) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x0x7ff8659ba410) 0
+ primary-for QTouchEvent (0x0x7ff8659ba3a8)
+ QEvent (0x0x7ff86595acc0) 0
+ primary-for QInputEvent (0x0x7ff8659ba410)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7ff86567ac30) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16u)
+ QEvent (0x0x7ff8656923c0) 0
+ primary-for QScrollPrepareEvent (0x0x7ff86567ac30)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7ff86567ac98) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16u)
+ QEvent (0x0x7ff865692420) 0
+ primary-for QScrollEvent (0x0x7ff86567ac98)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7ff86567ad00) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16u)
+ QEvent (0x0x7ff865692480) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7ff86567ad00)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7ff86567ad68) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16u)
+ QEvent (0x0x7ff8656924e0) 0
+ primary-for QApplicationStateChangeEvent (0x0x7ff86567ad68)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7ff865692540) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7ff86572faf8) 0
+ QVector<QPoint> (0x0x7ff865746240) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7ff86572fea0) 0
+ QVector<QPointF> (0x0x7ff8657466c0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7ff865746a80) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7ff865746d80) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7ff865746d20) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7ff86548d780) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7ff86548d8a0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7ff865576000) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7ff865576060) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7ff865527d68) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x0x7ff865576ae0) 0
+ primary-for QImage (0x0x7ff865527d68)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7ff8652c48f0) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x0x7ff8652b7a80) 0
+ primary-for QPixmap (0x0x7ff8652c48f0)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7ff8652b7d80) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7ff86534f540) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7ff86534f5a0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7ff865358270) 0
+ QGradient (0x0x7ff86534f840) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7ff8653582d8) 0
+ QGradient (0x0x7ff86534f8a0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7ff865358340) 0
+ QGradient (0x0x7ff86534f900) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7ff86534f960) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7ff865040ba0) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7ff865040b40) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7ff86507b360) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7ff86507ba80) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7ff8651ab270) 0
+ QTextFormat (0x0x7ff865149900) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7ff8651ab478) 0
+ QTextFormat (0x0x7ff865149ba0) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7ff8651ab6e8) 0
+ QTextFormat (0x0x7ff865149e40) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7ff8651ab8f0) 0
+ QTextCharFormat (0x0x7ff8651ab958) 0
+ QTextFormat (0x0x7ff864e59120) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7ff8651abb60) 0
+ QTextFormat (0x0x7ff864e593c0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7ff8651abd68) 0
+ QTextFrameFormat (0x0x7ff8651abdd0) 0
+ QTextFormat (0x0x7ff864e59660) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7ff864ec1000) 0
+ QTextCharFormat (0x0x7ff864ec1068) 0
+ QTextFormat (0x0x7ff864e59960) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7ff864e59c00) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7ff864e59c60) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7ff864f1c180) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7ff864f1c480) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7ff864f1c780) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7ff864f1c840) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7ff864f1c7e0) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7ff864c082a0) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7ff864c08300) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7ff864c083c0) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7ff864c073a8) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x0x7ff864c08360) 0
+ primary-for QTextDocument (0x0x7ff864c073a8)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7ff864c08600) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7ff864c085a0) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7ff864d286c0) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7ff864d28720) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7ff864d28780) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7ff864d4a0d0) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x0x7ff864d28660) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7ff864d4a0d0)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7ff864d28d20) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7ff864d28e40) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7ff864d28ea0) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7ff864d28de0) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7ff8649df0c0) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7ff8649df120) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7ff8649df180) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7ff8649df1e0) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7ff8649df240) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16u)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7ff8649df2a0) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7ff8649df300) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7ff8649df360) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7ff8649df3c0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7ff864d4aaf8) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7ff8649df900) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7ff864d4aaf8)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7ff864d4ab60) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16u)
+ QAccessibleEvent (0x0x7ff8649df960) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7ff864d4ab60)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7ff864d4abc8) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7ff864d4ac30) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7ff864d4abc8)
+ QAccessibleEvent (0x0x7ff8649df9c0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7ff864d4ac30)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7ff864d4ac98) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7ff864d4ad00) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7ff864d4ac98)
+ QAccessibleEvent (0x0x7ff8649dfa20) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7ff864d4ad00)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7ff864d4ad68) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7ff864d4add0) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7ff864d4ad68)
+ QAccessibleEvent (0x0x7ff8649dfa80) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7ff864d4add0)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7ff864d4ae38) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7ff864d4aea0) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7ff864d4ae38)
+ QAccessibleEvent (0x0x7ff8649dfae0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7ff864d4aea0)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7ff864d4af08) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7ff8649dfb40) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7ff864d4af08)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7ff864d4af70) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7ff8649dfba0) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7ff864d4af70)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7ff8649dfc60) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7ff8649dfd20) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7ff864b1c000) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x0x7ff8649dfcc0) 0
+ primary-for QAccessibleBridgePlugin (0x0x7ff864b1c000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0u
+24 0u
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7ff864b1c068) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x0x7ff8649dfd80) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7ff864b1c068)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7ff864b1c0d0) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x0x7ff864b1c138) 0
+ primary-for QAccessibleApplication (0x0x7ff864b1c0d0)
+ QAccessibleInterface (0x0x7ff8649dfde0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7ff864b1c138)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7ff8649dfea0) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7ff864b1c1a0) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x0x7ff8649dfe40) 0
+ primary-for QAccessiblePlugin (0x0x7ff864b1c1a0)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7ff8649dff00) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7ff864b68120) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7ff864b682a0) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7ff86482b660) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7ff8648bac60) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7ff8648c7700) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16u)
+ QObject (0x0x7ff8648baba0) 0
+ primary-for QWindow (0x0x7ff8648c7700)
+ QSurface (0x0x7ff8648bac00) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312u)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7ff8648bad80) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7ff8648d1208) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x0x7ff8648d1270) 0
+ primary-for QBitmap (0x0x7ff8648d1208)
+ QPaintDevice (0x0x7ff8648bae40) 0
+ primary-for QPixmap (0x0x7ff8648d1270)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7ff86494e1e0) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7ff8648d14e0) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x0x7ff86494e180) 0
+ primary-for QClipboard (0x0x7ff8648d14e0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7ff86494e240) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7ff86494e300) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7ff8648d1548) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x0x7ff86494e2a0) 0
+ primary-for QDrag (0x0x7ff8648d1548)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7ff86494e360) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7ff86494e600) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7ff86494e900) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7ff864623de0) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7ff8648d1dd0) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16u)
+ QObject (0x0x7ff864623d80) 0
+ primary-for QGenericPlugin (0x0x7ff8648d1dd0)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7ff864623e40) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7ff864623f00) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7ff8648d1e38) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16u)
+ QObject (0x0x7ff864623ea0) 0
+ primary-for QInputMethod (0x0x7ff8648d1e38)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7ff864730000) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7ff8648d1ea0) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16u)
+ QCoreApplication (0x0x7ff8648d1f08) 0
+ primary-for QGuiApplication (0x0x7ff8648d1ea0)
+ QObject (0x0x7ff864623f60) 0
+ primary-for QCoreApplication (0x0x7ff8648d1f08)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7ff864730540) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7ff8647306c0) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7ff8647304e0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7ff864730780) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7ff864750478) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x0x7ff864730720) 0
+ primary-for QIconEnginePlugin (0x0x7ff864750478)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0u
+24 0u
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7ff8647307e0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7ff864730960) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7ff8647504e0) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x0x7ff864730900) 0
+ primary-for QImageIOPlugin (0x0x7ff8647504e0)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7ff864730b40) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7ff864730ba0) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7ff864730c00) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7ff864730ea0) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7ff86447e180) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7ff86447e780) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7ff86447ef00) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7ff86455e6e8) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x0x7ff86447eea0) 0
+ primary-for QMovie (0x0x7ff86455e6e8)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7ff864285060) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7ff86422fee0) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16u)
+ QObject (0x0x7ff86447ef60) 0
+ primary-for QOffscreenSurface (0x0x7ff86422fee0)
+ QSurface (0x0x7ff864285000) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160u)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7ff864285120) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7ff864285300) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7ff863bebde0) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7ff863bebe40) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7ff863bebea0) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7ff863bebf00) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16u)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7ff863c37000) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7ff863c0c958) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863bebf60) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7ff863c37120) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7ff863c0c9c0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c370c0) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7ff863c37240) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7ff863c0ca28) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c371e0) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7ff863c37360) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7ff863c0ca90) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37300) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7ff863c374e0) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7ff863c0caf8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37480) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7ff863c37600) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7ff863c0cb60) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c375a0) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7ff863c37720) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7ff863c0cbc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c376c0) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7ff863c37840) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7ff863c0cc30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c377e0) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7ff863c37960) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7ff863c0cc98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37900) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7ff863c37a80) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7ff863c0cd00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37a20) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7ff863c37ba0) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7ff863c0cd68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37b40) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7ff863c37cc0) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7ff863c0cdd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37c60) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7ff863c37de0) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7ff863c0ce38) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37d80) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7ff863c37f00) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7ff863c0cea0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863c37ea0) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7ff863d30060) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7ff863c0cf08) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30000) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7ff863d30180) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7ff863c0cf70) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30120) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7ff863d302a0) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7ff863d54000) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30240) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7ff863d30420) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7ff863d54068) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d303c0) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7ff863d30540) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7ff863d540d0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d304e0) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7ff863d30660) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7ff863d54138) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30600) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7ff863d30780) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7ff863d541a0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30720) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7ff863d308a0) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7ff863d54208) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30840) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7ff863d309c0) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7ff863d54270) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30960) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7ff863d30ae0) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7ff863d542d8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30a80) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7ff863d30c00) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7ff863d54340) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30ba0) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7ff863d30d20) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7ff863d543a8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30cc0) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7ff863d30e40) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7ff863d54410) 0
+ QOpenGLVersionFunctionsBackend (0x0x7ff863d30de0) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7ff863d30f00) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7ff863a5e900) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7ff863d54e38) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16u)
+ QObject (0x0x7ff863a5e8a0) 0
+ primary-for QOpenGLContextGroup (0x0x7ff863d54e38)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7ff863a5e9c0) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7ff863d54ea0) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16u)
+ QObject (0x0x7ff863a5e960) 0
+ primary-for QOpenGLContext (0x0x7ff863d54ea0)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7ff863a5ea20) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7ff863af8240) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7ff863abb340) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16u)
+ QObject (0x0x7ff863af81e0) 0
+ primary-for QOpenGLDebugLogger (0x0x7ff863abb340)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7ff863af83c0) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7ff863af8600) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7ff863af85a0) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7ff863abb5b0) 0
+ QOpenGLFunctions (0x0x7ff8638bfd20) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7ff8638bfde0) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7ff863abb618) 0
+ QOpenGLFunctionsPrivate (0x0x7ff8638bfd80) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7ff8637284e0) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16u)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7ff863728600) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7ff863abb8f0) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16u)
+ QPaintDevice (0x0x7ff863728660) 0
+ primary-for QOpenGLPaintDevice (0x0x7ff863abb8f0)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7ff863728780) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7ff863728ae0) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7ff863abbaf8) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16u)
+ QObject (0x0x7ff863728a80) 0
+ primary-for QOpenGLShader (0x0x7ff863abbaf8)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7ff863728d20) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7ff863abbc30) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16u)
+ QObject (0x0x7ff863728cc0) 0
+ primary-for QOpenGLShaderProgram (0x0x7ff863abbc30)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7ff863728d80) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7ff8634a7060) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7ff8634a71e0) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7ff863abbd68) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16u)
+ QObject (0x0x7ff8634a7180) 0
+ primary-for QOpenGLTimerQuery (0x0x7ff863abbd68)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7ff8634a72a0) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7ff863abbdd0) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16u)
+ QObject (0x0x7ff8634a7240) 0
+ primary-for QOpenGLTimeMonitor (0x0x7ff863abbdd0)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7ff8634a7360) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7ff8634a73c0) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7ff863abbe38) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16u)
+ QObject (0x0x7ff8634a7300) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7ff863abbe38)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7ff8634a7540) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7ff8634e8e00) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16u)
+ QWindow (0x0x7ff8634e8e70) 0
+ primary-for QPaintDeviceWindow (0x0x7ff8634e8e00)
+ QObject (0x0x7ff8634a7420) 0
+ primary-for QWindow (0x0x7ff8634e8e70)
+ QSurface (0x0x7ff8634a7480) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336u)
+ QPaintDevice (0x0x7ff8634a74e0) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400u)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7ff8634a76c0) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7ff863abbf08) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16u)
+ QPaintDeviceWindow (0x0x7ff86351e230) 0
+ primary-for QOpenGLWindow (0x0x7ff863abbf08)
+ QWindow (0x0x7ff86351e2a0) 0
+ primary-for QPaintDeviceWindow (0x0x7ff86351e230)
+ QObject (0x0x7ff8634a75a0) 0
+ primary-for QWindow (0x0x7ff86351e2a0)
+ QSurface (0x0x7ff8634a7600) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384u)
+ QPaintDevice (0x0x7ff8634a7660) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448u)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7ff8634a7720) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7ff863586120) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7ff863586b40) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7ff863563c30) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16u)
+ QPaintDevice (0x0x7ff863586ae0) 0
+ primary-for QPagedPaintDevice (0x0x7ff863563c30)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7ff863586c00) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7ff863586ba0) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7ff86324ea20) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7ff86324ecc0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7ff86324ef60) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7ff8630173c0) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7ff8630821c0) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16u)
+ QObject (0x0x7ff863017300) 0
+ primary-for QPdfWriter (0x0x7ff8630821c0)
+ QPagedPaintDevice (0x0x7ff863265c98) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176u)
+ QPaintDevice (0x0x7ff863017360) 16
+ primary-for QPagedPaintDevice (0x0x7ff863265c98)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7ff863265d00) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x0x7ff863017540) 0
+ primary-for QPicture (0x0x7ff863265d00)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7ff863017840) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7ff863017900) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7ff863265f08) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x0x7ff8630178a0) 0
+ primary-for QPictureFormatPlugin (0x0x7ff863265f08)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7ff8630179c0) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7ff863017960) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7ff863152b40) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7ff86315d618) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16u)
+ QPaintDeviceWindow (0x0x7ff863155f50) 0
+ primary-for QRasterWindow (0x0x7ff86315d618)
+ QWindow (0x0x7ff863167000) 0
+ primary-for QPaintDeviceWindow (0x0x7ff863155f50)
+ QObject (0x0x7ff863152a20) 0
+ primary-for QWindow (0x0x7ff863167000)
+ QSurface (0x0x7ff863152a80) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344u)
+ QPaintDevice (0x0x7ff863152ae0) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408u)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7ff863152c00) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7ff86315d6e8) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16u)
+ QObject (0x0x7ff863152ba0) 0
+ primary-for QScreen (0x0x7ff86315d6e8)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7ff863152cc0) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7ff86315d750) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x0x7ff863152c60) 0
+ primary-for QSessionManager (0x0x7ff86315d750)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7ff863152d20) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7ff862df0480) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7ff86315ddd0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x0x7ff86315de38) 0
+ primary-for QStandardItemModel (0x0x7ff86315ddd0)
+ QObject (0x0x7ff862df0420) 0
+ primary-for QAbstractItemModel (0x0x7ff86315de38)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7ff862df04e0) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7ff862df0960) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7ff862eca068) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16u)
+ QObject (0x0x7ff862df0900) 0
+ primary-for QStyleHints (0x0x7ff862eca068)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7ff862df0a20) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7ff862eca0d0) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x0x7ff862df09c0) 0
+ primary-for QTextObject (0x0x7ff862eca0d0)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7ff862df0ae0) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7ff862eca138) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x0x7ff862eca1a0) 0
+ primary-for QTextBlockGroup (0x0x7ff862eca138)
+ QObject (0x0x7ff862df0a80) 0
+ primary-for QTextObject (0x0x7ff862eca1a0)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7ff862df0b40) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7ff862df0c00) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7ff862df0c60) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7ff862eca208) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x0x7ff862eca270) 0
+ primary-for QTextFrame (0x0x7ff862eca208)
+ QObject (0x0x7ff862df0ba0) 0
+ primary-for QTextObject (0x0x7ff862eca270)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7ff862df0f00) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7ff862f43000) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7ff862df0f60) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7ff862f434e0) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7ff862f437e0) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7ff862eca958) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x0x7ff862f43780) 0
+ primary-for QSyntaxHighlighter (0x0x7ff862eca958)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7ff862f43840) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7ff862f438a0) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7ff862f43960) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7ff862eca9c0) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x0x7ff862ecaa28) 0
+ primary-for QTextList (0x0x7ff862eca9c0)
+ QTextObject (0x0x7ff862ecaa90) 0
+ primary-for QTextBlockGroup (0x0x7ff862ecaa28)
+ QObject (0x0x7ff862f43900) 0
+ primary-for QTextObject (0x0x7ff862ecaa90)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7ff862f439c0) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7ff862f43a80) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7ff862ecaaf8) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x0x7ff862ecab60) 0
+ primary-for QTextTable (0x0x7ff862ecaaf8)
+ QTextObject (0x0x7ff862ecabc8) 0
+ primary-for QTextFrame (0x0x7ff862ecab60)
+ QObject (0x0x7ff862f43a20) 0
+ primary-for QTextObject (0x0x7ff862ecabc8)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7ff862f43b40) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7ff862ecac30) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x0x7ff862f43ae0) 0
+ primary-for QValidator (0x0x7ff862ecac30)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7ff862f43c00) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7ff862ecac98) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x0x7ff862ecad00) 0
+ primary-for QIntValidator (0x0x7ff862ecac98)
+ QObject (0x0x7ff862f43ba0) 0
+ primary-for QValidator (0x0x7ff862ecad00)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7ff862f43cc0) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7ff862ecad68) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x0x7ff862ecadd0) 0
+ primary-for QDoubleValidator (0x0x7ff862ecad68)
+ QObject (0x0x7ff862f43c60) 0
+ primary-for QValidator (0x0x7ff862ecadd0)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7ff862f43de0) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7ff862ecae38) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x0x7ff862ecaea0) 0
+ primary-for QRegExpValidator (0x0x7ff862ecae38)
+ QObject (0x0x7ff862f43d80) 0
+ primary-for QValidator (0x0x7ff862ecaea0)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7ff862f43ea0) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7ff862ecaf08) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16u)
+ QValidator (0x0x7ff862ecaf70) 0
+ primary-for QRegularExpressionValidator (0x0x7ff862ecaf08)
+ QObject (0x0x7ff862f43e40) 0
+ primary-for QValidator (0x0x7ff862ecaf70)
+
+Class QSizePolicy::Bits
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy::Bits (0x0x7ff862f43f60) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x0x7ff862f43f00) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x0x7ff862c4f8a0) 0
+
+Class QWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidget::QPrivateSignal (0x0x7ff862c4f9c0) 0 empty
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 (int (*)(...))QWidget::metaObject
+24 (int (*)(...))QWidget::qt_metacast
+32 (int (*)(...))QWidget::qt_metacall
+40 (int (*)(...))QWidget::~QWidget
+48 (int (*)(...))QWidget::~QWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI7QWidget)
+448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev
+456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWidget
+ size=48 align=8
+ base size=48 base align=8
+QWidget (0x0x7ff862caea80) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x0x7ff862c4f900) 0
+ primary-for QWidget (0x0x7ff862caea80)
+ QPaintDevice (0x0x7ff862c4f960) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 448u)
+
+Class QAbstractButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractButton::QPrivateSignal (0x0x7ff862d8e660) 0 empty
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 (int (*)(...))QAbstractButton::metaObject
+24 (int (*)(...))QAbstractButton::qt_metacast
+32 (int (*)(...))QAbstractButton::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI15QAbstractButton)
+472 0u
+480 0u
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractButton
+ size=48 align=8
+ base size=48 base align=8
+QAbstractButton (0x0x7ff8629ad2d8) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x0x7ff8629a5770) 0
+ primary-for QAbstractButton (0x0x7ff8629ad2d8)
+ QObject (0x0x7ff862d8e5a0) 0
+ primary-for QWidget (0x0x7ff8629a5770)
+ QPaintDevice (0x0x7ff862d8e600) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472u)
+
+Class QAbstractSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSpinBox::QPrivateSignal (0x0x7ff862d8e780) 0 empty
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 (int (*)(...))QAbstractSpinBox::metaObject
+24 (int (*)(...))QAbstractSpinBox::qt_metacast
+32 (int (*)(...))QAbstractSpinBox::qt_metacall
+40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSpinBox::validate
+440 (int (*)(...))QAbstractSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSpinBox (0x0x7ff8629ad340) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x0x7ff8629a5a80) 0
+ primary-for QAbstractSpinBox (0x0x7ff8629ad340)
+ QObject (0x0x7ff862d8e6c0) 0
+ primary-for QWidget (0x0x7ff8629a5a80)
+ QPaintDevice (0x0x7ff862d8e720) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488u)
+
+Class QAbstractSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSlider::QPrivateSignal (0x0x7ff862d8ea20) 0 empty
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 (int (*)(...))QAbstractSlider::metaObject
+24 (int (*)(...))QAbstractSlider::qt_metacast
+32 (int (*)(...))QAbstractSlider::qt_metacall
+40 (int (*)(...))QAbstractSlider::~QAbstractSlider
+48 (int (*)(...))QAbstractSlider::~QAbstractSlider
+56 (int (*)(...))QAbstractSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QAbstractSlider)
+456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSlider
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSlider (0x0x7ff8629ad478) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x0x7ff8629e9e70) 0
+ primary-for QAbstractSlider (0x0x7ff8629ad478)
+ QObject (0x0x7ff862d8e960) 0
+ primary-for QWidget (0x0x7ff8629e9e70)
+ QPaintDevice (0x0x7ff862d8e9c0) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456u)
+
+Class QSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSlider::QPrivateSignal (0x0x7ff862d8eb40) 0 empty
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 (int (*)(...))QSlider::metaObject
+24 (int (*)(...))QSlider::qt_metacast
+32 (int (*)(...))QSlider::qt_metacall
+40 (int (*)(...))QSlider::~QSlider
+48 (int (*)(...))QSlider::~QSlider
+56 (int (*)(...))QSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSlider::sizeHint
+136 (int (*)(...))QSlider::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSlider::mousePressEvent
+176 (int (*)(...))QSlider::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSlider::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSlider::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI7QSlider)
+456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev
+464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSlider
+ size=48 align=8
+ base size=48 base align=8
+QSlider (0x0x7ff8629ad4e0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x0x7ff8629ad548) 0
+ primary-for QSlider (0x0x7ff8629ad4e0)
+ QWidget (0x0x7ff862a3a700) 0
+ primary-for QAbstractSlider (0x0x7ff8629ad548)
+ QObject (0x0x7ff862d8ea80) 0
+ primary-for QWidget (0x0x7ff862a3a700)
+ QPaintDevice (0x0x7ff862d8eae0) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 456u)
+
+Class QStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyle::QPrivateSignal (0x0x7ff862d8ec00) 0 empty
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 (int (*)(...))QStyle::metaObject
+24 (int (*)(...))QStyle::qt_metacast
+32 (int (*)(...))QStyle::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyle::polish
+120 (int (*)(...))QStyle::unpolish
+128 (int (*)(...))QStyle::polish
+136 (int (*)(...))QStyle::unpolish
+144 (int (*)(...))QStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))__cxa_pure_virtual
+240 (int (*)(...))__cxa_pure_virtual
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))__cxa_pure_virtual
+272 (int (*)(...))__cxa_pure_virtual
+280 (int (*)(...))__cxa_pure_virtual
+288 (int (*)(...))__cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x0x7ff8629ad618) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x0x7ff862d8eba0) 0
+ primary-for QStyle (0x0x7ff8629ad618)
+
+Class QTabBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabBar::QPrivateSignal (0x0x7ff862b1c060) 0 empty
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 (int (*)(...))QTabBar::metaObject
+24 (int (*)(...))QTabBar::qt_metacast
+32 (int (*)(...))QTabBar::qt_metacall
+40 (int (*)(...))QTabBar::~QTabBar
+48 (int (*)(...))QTabBar::~QTabBar
+56 (int (*)(...))QTabBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTabBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabBar::sizeHint
+136 (int (*)(...))QTabBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTabBar::mousePressEvent
+176 (int (*)(...))QTabBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QTabBar::mouseMoveEvent
+200 (int (*)(...))QTabBar::wheelEvent
+208 (int (*)(...))QTabBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabBar::showEvent
+352 (int (*)(...))QTabBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabBar::tabSizeHint
+440 (int (*)(...))QTabBar::minimumTabSizeHint
+448 (int (*)(...))QTabBar::tabInserted
+456 (int (*)(...))QTabBar::tabRemoved
+464 (int (*)(...))QTabBar::tabLayoutChange
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QTabBar)
+488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev
+496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabBar
+ size=48 align=8
+ base size=48 base align=8
+QTabBar (0x0x7ff8629ad820) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x0x7ff862b06690) 0
+ primary-for QTabBar (0x0x7ff8629ad820)
+ QObject (0x0x7ff862d8ef60) 0
+ primary-for QWidget (0x0x7ff862b06690)
+ QPaintDevice (0x0x7ff862b1c000) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 488u)
+
+Class QTabWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabWidget::QPrivateSignal (0x0x7ff862b1c180) 0 empty
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 (int (*)(...))QTabWidget::metaObject
+24 (int (*)(...))QTabWidget::qt_metacast
+32 (int (*)(...))QTabWidget::qt_metacall
+40 (int (*)(...))QTabWidget::~QTabWidget
+48 (int (*)(...))QTabWidget::~QTabWidget
+56 (int (*)(...))QTabWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabWidget::sizeHint
+136 (int (*)(...))QTabWidget::minimumSizeHint
+144 (int (*)(...))QTabWidget::heightForWidth
+152 (int (*)(...))QTabWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QTabWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabWidget::tabInserted
+440 (int (*)(...))QTabWidget::tabRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI10QTabWidget)
+464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabWidget
+ size=48 align=8
+ base size=48 base align=8
+QTabWidget (0x0x7ff8629ad888) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x0x7ff862b46070) 0
+ primary-for QTabWidget (0x0x7ff8629ad888)
+ QObject (0x0x7ff862b1c0c0) 0
+ primary-for QWidget (0x0x7ff862b46070)
+ QPaintDevice (0x0x7ff862b1c120) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 464u)
+
+Class QRubberBand::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRubberBand::QPrivateSignal (0x0x7ff862b1c2a0) 0 empty
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 (int (*)(...))QRubberBand::metaObject
+24 (int (*)(...))QRubberBand::qt_metacast
+32 (int (*)(...))QRubberBand::qt_metacall
+40 (int (*)(...))QRubberBand::~QRubberBand
+48 (int (*)(...))QRubberBand::~QRubberBand
+56 (int (*)(...))QRubberBand::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRubberBand::paintEvent
+264 (int (*)(...))QRubberBand::moveEvent
+272 (int (*)(...))QRubberBand::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QRubberBand::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QRubberBand::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QRubberBand)
+448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev
+456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRubberBand
+ size=48 align=8
+ base size=48 base align=8
+QRubberBand (0x0x7ff8629ad8f0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x0x7ff862b46850) 0
+ primary-for QRubberBand (0x0x7ff8629ad8f0)
+ QObject (0x0x7ff862b1c1e0) 0
+ primary-for QWidget (0x0x7ff862b46850)
+ QPaintDevice (0x0x7ff862b1c240) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 448u)
+
+Class QFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFrame::QPrivateSignal (0x0x7ff862b1c3c0) 0 empty
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 (int (*)(...))QFrame::metaObject
+24 (int (*)(...))QFrame::qt_metacast
+32 (int (*)(...))QFrame::qt_metacall
+40 (int (*)(...))QFrame::~QFrame
+48 (int (*)(...))QFrame::~QFrame
+56 (int (*)(...))QFrame::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QFrame)
+448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev
+456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFrame
+ size=48 align=8
+ base size=48 base align=8
+QFrame (0x0x7ff8629ad958) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x0x7ff862b46e70) 0
+ primary-for QFrame (0x0x7ff8629ad958)
+ QObject (0x0x7ff862b1c300) 0
+ primary-for QWidget (0x0x7ff862b46e70)
+ QPaintDevice (0x0x7ff862b1c360) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 448u)
+
+Class QStyleOption
+ size=64 align=8
+ base size=64 base align=8
+QStyleOption (0x0x7ff862b1c420) 0
+
+Class QStyleOptionFocusRect
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFocusRect (0x0x7ff8629ad9c0) 0
+ QStyleOption (0x0x7ff862b1c480) 0
+
+Class QStyleOptionFrame
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFrame (0x0x7ff8629ada28) 0
+ QStyleOption (0x0x7ff862b1c4e0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=136 align=8
+ base size=132 base align=8
+QStyleOptionTabWidgetFrame (0x0x7ff8629adb60) 0
+ QStyleOption (0x0x7ff862b1c6c0) 0
+
+Class QStyleOptionTabBarBase
+ size=104 align=8
+ base size=101 base align=8
+QStyleOptionTabBarBase (0x0x7ff8629adbc8) 0
+ QStyleOption (0x0x7ff862b1c720) 0
+
+Class QStyleOptionHeader
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionHeader (0x0x7ff8629adc30) 0
+ QStyleOption (0x0x7ff862b1c7e0) 0
+
+Class QStyleOptionButton
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionButton (0x0x7ff8629adc98) 0
+ QStyleOption (0x0x7ff862b1c840) 0
+
+Class QStyleOptionTab
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionTab (0x0x7ff8629addd0) 0
+ QStyleOption (0x0x7ff862b1ca20) 0
+
+Class QStyleOptionToolBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBar (0x0x7ff862873000) 0
+ QStyleOption (0x0x7ff862b1cd80) 0
+
+Class QStyleOptionProgressBar
+ size=104 align=8
+ base size=102 base align=8
+QStyleOptionProgressBar (0x0x7ff862873138) 0
+ QStyleOption (0x0x7ff862b1cf60) 0
+
+Class QStyleOptionMenuItem
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionMenuItem (0x0x7ff8628731a0) 0
+ QStyleOption (0x0x7ff8628bf000) 0
+
+Class QStyleOptionDockWidget
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionDockWidget (0x0x7ff862873208) 0
+ QStyleOption (0x0x7ff8628bf060) 0
+
+Class QStyleOptionViewItem
+ size=192 align=8
+ base size=192 base align=8
+QStyleOptionViewItem (0x0x7ff8628732d8) 0
+ QStyleOption (0x0x7ff8628bf0c0) 0
+
+Class QStyleOptionToolBox
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBox (0x0x7ff862873410) 0
+ QStyleOption (0x0x7ff8628bf2a0) 0
+
+Class QStyleOptionRubberBand
+ size=72 align=8
+ base size=69 base align=8
+QStyleOptionRubberBand (0x0x7ff862873478) 0
+ QStyleOption (0x0x7ff8628bf300) 0
+
+Class QStyleOptionComplex
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionComplex (0x0x7ff8628734e0) 0
+ QStyleOption (0x0x7ff8628bf360) 0
+
+Class QStyleOptionSlider
+ size=128 align=8
+ base size=121 base align=8
+QStyleOptionSlider (0x0x7ff862873548) 0
+ QStyleOptionComplex (0x0x7ff8628735b0) 0
+ QStyleOption (0x0x7ff8628bf3c0) 0
+
+Class QStyleOptionSpinBox
+ size=88 align=8
+ base size=81 base align=8
+QStyleOptionSpinBox (0x0x7ff862873618) 0
+ QStyleOptionComplex (0x0x7ff862873680) 0
+ QStyleOption (0x0x7ff8628bf420) 0
+
+Class QStyleOptionToolButton
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionToolButton (0x0x7ff8628736e8) 0
+ QStyleOptionComplex (0x0x7ff862873750) 0
+ QStyleOption (0x0x7ff8628bf480) 0
+
+Class QStyleOptionComboBox
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionComboBox (0x0x7ff862873888) 0
+ QStyleOptionComplex (0x0x7ff8628738f0) 0
+ QStyleOption (0x0x7ff8628bf660) 0
+
+Class QStyleOptionTitleBar
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTitleBar (0x0x7ff862873958) 0
+ QStyleOptionComplex (0x0x7ff8628739c0) 0
+ QStyleOption (0x0x7ff8628bf6c0) 0
+
+Class QStyleOptionGroupBox
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionGroupBox (0x0x7ff862873a28) 0
+ QStyleOptionComplex (0x0x7ff862873a90) 0
+ QStyleOption (0x0x7ff8628bf780) 0
+
+Class QStyleOptionSizeGrip
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionSizeGrip (0x0x7ff862873af8) 0
+ QStyleOptionComplex (0x0x7ff862873b60) 0
+ QStyleOption (0x0x7ff8628bf7e0) 0
+
+Class QStyleOptionGraphicsItem
+ size=152 align=8
+ base size=152 base align=8
+QStyleOptionGraphicsItem (0x0x7ff862873bc8) 0
+ QStyleOption (0x0x7ff8628bf840) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x0x7ff8628bfd20) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x0x7ff8625d31a0) 0
+ QStyleHintReturn (0x0x7ff8628bfd80) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x0x7ff8625d3208) 0
+ QStyleHintReturn (0x0x7ff8628bfde0) 0
+
+Class QAbstractItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemDelegate::QPrivateSignal (0x0x7ff8625fc360) 0 empty
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 (int (*)(...))QAbstractItemDelegate::metaObject
+24 (int (*)(...))QAbstractItemDelegate::qt_metacast
+32 (int (*)(...))QAbstractItemDelegate::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QAbstractItemDelegate::setEditorData
+152 (int (*)(...))QAbstractItemDelegate::setModelData
+160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry
+168 (int (*)(...))QAbstractItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x0x7ff8625d3750) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x0x7ff8625fc300) 0
+ primary-for QAbstractItemDelegate (0x0x7ff8625d3750)
+
+Class QAbstractScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractScrollArea::QPrivateSignal (0x0x7ff8625fc4e0) 0 empty
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 (int (*)(...))QAbstractScrollArea::metaObject
+24 (int (*)(...))QAbstractScrollArea::qt_metacast
+32 (int (*)(...))QAbstractScrollArea::qt_metacall
+40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+56 (int (*)(...))QAbstractScrollArea::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QAbstractScrollArea (0x0x7ff8625d37b8) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x0x7ff8625d3820) 0
+ primary-for QAbstractScrollArea (0x0x7ff8625d37b8)
+ QWidget (0x0x7ff8625f7b60) 0
+ primary-for QFrame (0x0x7ff8625d3820)
+ QObject (0x0x7ff8625fc420) 0
+ primary-for QWidget (0x0x7ff8625f7b60)
+ QPaintDevice (0x0x7ff8625fc480) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QAbstractItemView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemView::QPrivateSignal (0x0x7ff8625fc600) 0 empty
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 (int (*)(...))QAbstractItemView::metaObject
+24 (int (*)(...))QAbstractItemView::qt_metacast
+32 (int (*)(...))QAbstractItemView::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))__cxa_pure_virtual
+496 (int (*)(...))__cxa_pure_virtual
+504 (int (*)(...))__cxa_pure_virtual
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QAbstractItemView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))__cxa_pure_virtual
+688 (int (*)(...))__cxa_pure_virtual
+696 (int (*)(...))__cxa_pure_virtual
+704 (int (*)(...))__cxa_pure_virtual
+712 (int (*)(...))__cxa_pure_virtual
+720 (int (*)(...))__cxa_pure_virtual
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 0u
+792 0u
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractItemView
+ size=48 align=8
+ base size=48 base align=8
+QAbstractItemView (0x0x7ff8625d3888) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x0x7ff8625d38f0) 0
+ primary-for QAbstractItemView (0x0x7ff8625d3888)
+ QFrame (0x0x7ff8625d3958) 0
+ primary-for QAbstractScrollArea (0x0x7ff8625d38f0)
+ QWidget (0x0x7ff8626390e0) 0
+ primary-for QFrame (0x0x7ff8625d3958)
+ QObject (0x0x7ff8625fc540) 0
+ primary-for QWidget (0x0x7ff8626390e0)
+ QPaintDevice (0x0x7ff8625fc5a0) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+32 (int (*)(...))QAccessibleWidget::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleWidget::window
+56 (int (*)(...))QAccessibleWidget::relations
+64 (int (*)(...))QAccessibleWidget::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleWidget::parent
+88 (int (*)(...))QAccessibleWidget::child
+96 (int (*)(...))QAccessibleWidget::childCount
+104 (int (*)(...))QAccessibleWidget::indexOfChild
+112 (int (*)(...))QAccessibleWidget::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleWidget::rect
+136 (int (*)(...))QAccessibleWidget::role
+144 (int (*)(...))QAccessibleWidget::state
+152 (int (*)(...))QAccessibleWidget::foregroundColor
+160 (int (*)(...))QAccessibleWidget::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleWidget::interface_cast
+184 (int (*)(...))QAccessibleWidget::actionNames
+192 (int (*)(...))QAccessibleWidget::doAction
+200 (int (*)(...))QAccessibleWidget::keyBindingsForAction
+208 (int (*)(...))-16
+216 (int (*)(...))(& _ZTI17QAccessibleWidget)
+224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev
+232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev
+240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv
+248 (int (*)(...))QAccessibleActionInterface::localizedActionName
+256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString
+272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString
+
+Class QAccessibleWidget
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleWidget (0x0x7ff8626a47e0) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x0x7ff8625d3a90) 0
+ primary-for QAccessibleWidget (0x0x7ff8626a47e0)
+ QAccessibleInterface (0x0x7ff8625fc7e0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7ff8625d3a90)
+ QAccessibleActionInterface (0x0x7ff8625fc840) 16 nearly-empty
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224u)
+
+Class QAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAction::QPrivateSignal (0x0x7ff8625fc960) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 (int (*)(...))QAction::metaObject
+24 (int (*)(...))QAction::qt_metacast
+32 (int (*)(...))QAction::qt_metacall
+40 (int (*)(...))QAction::~QAction
+48 (int (*)(...))QAction::~QAction
+56 (int (*)(...))QAction::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x0x7ff8625d3af8) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x0x7ff8625fc900) 0
+ primary-for QAction (0x0x7ff8625d3af8)
+
+Class QActionGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QActionGroup::QPrivateSignal (0x0x7ff8625fca20) 0 empty
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 (int (*)(...))QActionGroup::metaObject
+24 (int (*)(...))QActionGroup::qt_metacast
+32 (int (*)(...))QActionGroup::qt_metacall
+40 (int (*)(...))QActionGroup::~QActionGroup
+48 (int (*)(...))QActionGroup::~QActionGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x0x7ff8625d3b60) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x0x7ff8625fc9c0) 0
+ primary-for QActionGroup (0x0x7ff8625d3b60)
+
+Class QApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QApplication::QPrivateSignal (0x0x7ff8625fcae0) 0 empty
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 (int (*)(...))QApplication::metaObject
+24 (int (*)(...))QApplication::qt_metacast
+32 (int (*)(...))QApplication::qt_metacall
+40 (int (*)(...))QApplication::~QApplication
+48 (int (*)(...))QApplication::~QApplication
+56 (int (*)(...))QApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QApplication::notify
+120 (int (*)(...))QApplication::compressEvent
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x0x7ff8625d3bc8) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QGuiApplication (0x0x7ff8625d3c30) 0
+ primary-for QApplication (0x0x7ff8625d3bc8)
+ QCoreApplication (0x0x7ff8625d3c98) 0
+ primary-for QGuiApplication (0x0x7ff8625d3c30)
+ QObject (0x0x7ff8625fca80) 0
+ primary-for QCoreApplication (0x0x7ff8625d3c98)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x0x7ff8625fcb40) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 (int (*)(...))QSpacerItem::~QSpacerItem
+24 (int (*)(...))QSpacerItem::~QSpacerItem
+32 (int (*)(...))QSpacerItem::sizeHint
+40 (int (*)(...))QSpacerItem::minimumSize
+48 (int (*)(...))QSpacerItem::maximumSize
+56 (int (*)(...))QSpacerItem::expandingDirections
+64 (int (*)(...))QSpacerItem::setGeometry
+72 (int (*)(...))QSpacerItem::geometry
+80 (int (*)(...))QSpacerItem::isEmpty
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QSpacerItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x0x7ff8625d3d00) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x0x7ff8625fcba0) 0
+ primary-for QSpacerItem (0x0x7ff8625d3d00)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 (int (*)(...))QWidgetItem::~QWidgetItem
+24 (int (*)(...))QWidgetItem::~QWidgetItem
+32 (int (*)(...))QWidgetItem::sizeHint
+40 (int (*)(...))QWidgetItem::minimumSize
+48 (int (*)(...))QWidgetItem::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x0x7ff8625d3d68) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x0x7ff8625fcc00) 0
+ primary-for QWidgetItem (0x0x7ff8625d3d68)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+32 (int (*)(...))QWidgetItemV2::sizeHint
+40 (int (*)(...))QWidgetItemV2::minimumSize
+48 (int (*)(...))QWidgetItemV2::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItemV2::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x0x7ff8625d3dd0) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x0x7ff8625d3e38) 0
+ primary-for QWidgetItemV2 (0x0x7ff8625d3dd0)
+ QLayoutItem (0x0x7ff8625fcc60) 0
+ primary-for QWidgetItem (0x0x7ff8625d3e38)
+
+Class QLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLayout::QPrivateSignal (0x0x7ff8625fcd80) 0 empty
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 (int (*)(...))QLayout::metaObject
+24 (int (*)(...))QLayout::qt_metacast
+32 (int (*)(...))QLayout::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QLayout::setGeometry
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))-16
+232 (int (*)(...))(& _ZTI7QLayout)
+240 0u
+248 0u
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 (int (*)(...))QLayoutItem::hasHeightForWidth
+320 (int (*)(...))QLayoutItem::heightForWidth
+328 (int (*)(...))QLayoutItem::minimumHeightForWidth
+336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+344 (int (*)(...))QLayoutItem::widget
+352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+360 (int (*)(...))QLayoutItem::spacerItem
+368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x0x7ff862732850) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x0x7ff8625fccc0) 0
+ primary-for QLayout (0x0x7ff862732850)
+ QLayoutItem (0x0x7ff8625fcd20) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 240u)
+
+Class QGridLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGridLayout::QPrivateSignal (0x0x7ff8625fcea0) 0 empty
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 (int (*)(...))QGridLayout::metaObject
+24 (int (*)(...))QGridLayout::qt_metacast
+32 (int (*)(...))QGridLayout::qt_metacall
+40 (int (*)(...))QGridLayout::~QGridLayout
+48 (int (*)(...))QGridLayout::~QGridLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGridLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QGridLayout::addItem
+136 (int (*)(...))QGridLayout::expandingDirections
+144 (int (*)(...))QGridLayout::minimumSize
+152 (int (*)(...))QGridLayout::maximumSize
+160 (int (*)(...))QGridLayout::setGeometry
+168 (int (*)(...))QGridLayout::itemAt
+176 (int (*)(...))QGridLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QGridLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QGridLayout::sizeHint
+232 (int (*)(...))QGridLayout::hasHeightForWidth
+240 (int (*)(...))QGridLayout::heightForWidth
+248 (int (*)(...))QGridLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QGridLayout)
+272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x0x7ff8625d3ea0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x0x7ff862374070) 0
+ primary-for QGridLayout (0x0x7ff8625d3ea0)
+ QObject (0x0x7ff8625fcde0) 0
+ primary-for QLayout (0x0x7ff862374070)
+ QLayoutItem (0x0x7ff8625fce40) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 272u)
+
+Class QBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBoxLayout::QPrivateSignal (0x0x7ff862399000) 0 empty
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 (int (*)(...))QBoxLayout::metaObject
+24 (int (*)(...))QBoxLayout::qt_metacast
+32 (int (*)(...))QBoxLayout::qt_metacall
+40 (int (*)(...))QBoxLayout::~QBoxLayout
+48 (int (*)(...))QBoxLayout::~QBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI10QBoxLayout)
+272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x0x7ff8625d3f08) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x0x7ff862374620) 0
+ primary-for QBoxLayout (0x0x7ff8625d3f08)
+ QObject (0x0x7ff8625fcf00) 0
+ primary-for QLayout (0x0x7ff862374620)
+ QLayoutItem (0x0x7ff8625fcf60) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272u)
+
+Class QHBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHBoxLayout::QPrivateSignal (0x0x7ff862399120) 0 empty
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 (int (*)(...))QHBoxLayout::metaObject
+24 (int (*)(...))QHBoxLayout::qt_metacast
+32 (int (*)(...))QHBoxLayout::qt_metacall
+40 (int (*)(...))QHBoxLayout::~QHBoxLayout
+48 (int (*)(...))QHBoxLayout::~QHBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QHBoxLayout)
+272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x0x7ff8623b2000) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x0x7ff8623b2068) 0
+ primary-for QHBoxLayout (0x0x7ff8623b2000)
+ QLayout (0x0x7ff862374cb0) 0
+ primary-for QBoxLayout (0x0x7ff8623b2068)
+ QObject (0x0x7ff862399060) 0
+ primary-for QLayout (0x0x7ff862374cb0)
+ QLayoutItem (0x0x7ff8623990c0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272u)
+
+Class QVBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVBoxLayout::QPrivateSignal (0x0x7ff862399240) 0 empty
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 (int (*)(...))QVBoxLayout::metaObject
+24 (int (*)(...))QVBoxLayout::qt_metacast
+32 (int (*)(...))QVBoxLayout::qt_metacall
+40 (int (*)(...))QVBoxLayout::~QVBoxLayout
+48 (int (*)(...))QVBoxLayout::~QVBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QVBoxLayout)
+272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x0x7ff8623b20d0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x0x7ff8623b2138) 0
+ primary-for QVBoxLayout (0x0x7ff8623b20d0)
+ QLayout (0x0x7ff862374ee0) 0
+ primary-for QBoxLayout (0x0x7ff8623b2138)
+ QObject (0x0x7ff862399180) 0
+ primary-for QLayout (0x0x7ff862374ee0)
+ QLayoutItem (0x0x7ff8623991e0) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272u)
+
+Class QButtonGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QButtonGroup::QPrivateSignal (0x0x7ff862399300) 0 empty
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 (int (*)(...))QButtonGroup::metaObject
+24 (int (*)(...))QButtonGroup::qt_metacast
+32 (int (*)(...))QButtonGroup::qt_metacall
+40 (int (*)(...))QButtonGroup::~QButtonGroup
+48 (int (*)(...))QButtonGroup::~QButtonGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x0x7ff8623b21a0) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x0x7ff8623992a0) 0
+ primary-for QButtonGroup (0x0x7ff8623b21a0)
+
+Class QCalendarWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCalendarWidget::QPrivateSignal (0x0x7ff862399420) 0 empty
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 (int (*)(...))QCalendarWidget::metaObject
+24 (int (*)(...))QCalendarWidget::qt_metacast
+32 (int (*)(...))QCalendarWidget::qt_metacall
+40 (int (*)(...))QCalendarWidget::~QCalendarWidget
+48 (int (*)(...))QCalendarWidget::~QCalendarWidget
+56 (int (*)(...))QCalendarWidget::event
+64 (int (*)(...))QCalendarWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCalendarWidget::sizeHint
+136 (int (*)(...))QCalendarWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QCalendarWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QCalendarWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QCalendarWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCalendarWidget::paintCell
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QCalendarWidget)
+456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCalendarWidget
+ size=48 align=8
+ base size=48 base align=8
+QCalendarWidget (0x0x7ff8623b2208) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x0x7ff8623c23f0) 0
+ primary-for QCalendarWidget (0x0x7ff8623b2208)
+ QObject (0x0x7ff862399360) 0
+ primary-for QWidget (0x0x7ff8623c23f0)
+ QPaintDevice (0x0x7ff8623993c0) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456u)
+
+Class QCheckBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCheckBox::QPrivateSignal (0x0x7ff862399540) 0 empty
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 (int (*)(...))QCheckBox::metaObject
+24 (int (*)(...))QCheckBox::qt_metacast
+32 (int (*)(...))QCheckBox::qt_metacall
+40 (int (*)(...))QCheckBox::~QCheckBox
+48 (int (*)(...))QCheckBox::~QCheckBox
+56 (int (*)(...))QCheckBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCheckBox::sizeHint
+136 (int (*)(...))QCheckBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QCheckBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCheckBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCheckBox::hitButton
+440 (int (*)(...))QCheckBox::checkStateSet
+448 (int (*)(...))QCheckBox::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI9QCheckBox)
+472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCheckBox
+ size=48 align=8
+ base size=48 base align=8
+QCheckBox (0x0x7ff8623b2270) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x0x7ff8623b22d8) 0
+ primary-for QCheckBox (0x0x7ff8623b2270)
+ QWidget (0x0x7ff8623c2d20) 0
+ primary-for QAbstractButton (0x0x7ff8623b22d8)
+ QObject (0x0x7ff862399480) 0
+ primary-for QWidget (0x0x7ff8623c2d20)
+ QPaintDevice (0x0x7ff8623994e0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 472u)
+
+Class QDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialog::QPrivateSignal (0x0x7ff862399660) 0 empty
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 (int (*)(...))QDialog::metaObject
+24 (int (*)(...))QDialog::qt_metacast
+32 (int (*)(...))QDialog::qt_metacall
+40 (int (*)(...))QDialog::~QDialog
+48 (int (*)(...))QDialog::~QDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QDialog)
+488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev
+496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialog
+ size=48 align=8
+ base size=48 base align=8
+QDialog (0x0x7ff8623b2340) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x0x7ff862418070) 0
+ primary-for QDialog (0x0x7ff8623b2340)
+ QObject (0x0x7ff8623995a0) 0
+ primary-for QWidget (0x0x7ff862418070)
+ QPaintDevice (0x0x7ff862399600) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Class QColorDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColorDialog::QPrivateSignal (0x0x7ff862399780) 0 empty
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 (int (*)(...))QColorDialog::metaObject
+24 (int (*)(...))QColorDialog::qt_metacast
+32 (int (*)(...))QColorDialog::qt_metacall
+40 (int (*)(...))QColorDialog::~QColorDialog
+48 (int (*)(...))QColorDialog::~QColorDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QColorDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QColorDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QColorDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColorDialog
+ size=48 align=8
+ base size=48 base align=8
+QColorDialog (0x0x7ff8623b23a8) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x0x7ff8623b2410) 0
+ primary-for QColorDialog (0x0x7ff8623b23a8)
+ QWidget (0x0x7ff862418540) 0
+ primary-for QDialog (0x0x7ff8623b2410)
+ QObject (0x0x7ff8623996c0) 0
+ primary-for QWidget (0x0x7ff862418540)
+ QPaintDevice (0x0x7ff862399720) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x0x7ff8623999c0) 0
+
+Class QColumnView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColumnView::QPrivateSignal (0x0x7ff862399ae0) 0 empty
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 (int (*)(...))QColumnView::metaObject
+24 (int (*)(...))QColumnView::qt_metacast
+32 (int (*)(...))QColumnView::qt_metacall
+40 (int (*)(...))QColumnView::~QColumnView
+48 (int (*)(...))QColumnView::~QColumnView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QColumnView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QColumnView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QColumnView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QColumnView::setModel
+472 (int (*)(...))QColumnView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QColumnView::visualRect
+496 (int (*)(...))QColumnView::scrollTo
+504 (int (*)(...))QColumnView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QColumnView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QColumnView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QColumnView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QColumnView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QColumnView::moveCursor
+688 (int (*)(...))QColumnView::horizontalOffset
+696 (int (*)(...))QColumnView::verticalOffset
+704 (int (*)(...))QColumnView::isIndexHidden
+712 (int (*)(...))QColumnView::setSelection
+720 (int (*)(...))QColumnView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QColumnView::createColumn
+776 (int (*)(...))-16
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColumnView
+ size=48 align=8
+ base size=48 base align=8
+QColumnView (0x0x7ff8623b2548) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x0x7ff8623b25b0) 0
+ primary-for QColumnView (0x0x7ff8623b2548)
+ QAbstractScrollArea (0x0x7ff8623b2618) 0
+ primary-for QAbstractItemView (0x0x7ff8623b25b0)
+ QFrame (0x0x7ff8623b2680) 0
+ primary-for QAbstractScrollArea (0x0x7ff8623b2618)
+ QWidget (0x0x7ff8624669a0) 0
+ primary-for QFrame (0x0x7ff8623b2680)
+ QObject (0x0x7ff862399a20) 0
+ primary-for QWidget (0x0x7ff8624669a0)
+ QPaintDevice (0x0x7ff862399a80) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Class QComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QComboBox::QPrivateSignal (0x0x7ff862399c00) 0 empty
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 (int (*)(...))QComboBox::metaObject
+24 (int (*)(...))QComboBox::qt_metacast
+32 (int (*)(...))QComboBox::qt_metacall
+40 (int (*)(...))QComboBox::~QComboBox
+48 (int (*)(...))QComboBox::~QComboBox
+56 (int (*)(...))QComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI9QComboBox)
+464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev
+472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QComboBox
+ size=48 align=8
+ base size=48 base align=8
+QComboBox (0x0x7ff8623b26e8) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x0x7ff862466cb0) 0
+ primary-for QComboBox (0x0x7ff8623b26e8)
+ QObject (0x0x7ff862399b40) 0
+ primary-for QWidget (0x0x7ff862466cb0)
+ QPaintDevice (0x0x7ff862399ba0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 464u)
+
+Class QPushButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPushButton::QPrivateSignal (0x0x7ff862399d20) 0 empty
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 (int (*)(...))QPushButton::metaObject
+24 (int (*)(...))QPushButton::qt_metacast
+32 (int (*)(...))QPushButton::qt_metacall
+40 (int (*)(...))QPushButton::~QPushButton
+48 (int (*)(...))QPushButton::~QPushButton
+56 (int (*)(...))QPushButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QPushButton::sizeHint
+136 (int (*)(...))QPushButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPushButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QPushButton)
+472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev
+480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPushButton
+ size=48 align=8
+ base size=48 base align=8
+QPushButton (0x0x7ff8623b2750) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x0x7ff8623b27b8) 0
+ primary-for QPushButton (0x0x7ff8623b2750)
+ QWidget (0x0x7ff8624ad8c0) 0
+ primary-for QAbstractButton (0x0x7ff8623b27b8)
+ QObject (0x0x7ff862399c60) 0
+ primary-for QWidget (0x0x7ff8624ad8c0)
+ QPaintDevice (0x0x7ff862399cc0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 472u)
+
+Class QCommandLinkButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommandLinkButton::QPrivateSignal (0x0x7ff862399e40) 0 empty
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 (int (*)(...))QCommandLinkButton::metaObject
+24 (int (*)(...))QCommandLinkButton::qt_metacast
+32 (int (*)(...))QCommandLinkButton::qt_metacall
+40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+56 (int (*)(...))QCommandLinkButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCommandLinkButton::sizeHint
+136 (int (*)(...))QCommandLinkButton::minimumSizeHint
+144 (int (*)(...))QCommandLinkButton::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCommandLinkButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI18QCommandLinkButton)
+472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCommandLinkButton
+ size=48 align=8
+ base size=48 base align=8
+QCommandLinkButton (0x0x7ff8623b2820) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x0x7ff8623b2888) 0
+ primary-for QCommandLinkButton (0x0x7ff8623b2820)
+ QAbstractButton (0x0x7ff8623b28f0) 0
+ primary-for QPushButton (0x0x7ff8623b2888)
+ QWidget (0x0x7ff8624adbd0) 0
+ primary-for QAbstractButton (0x0x7ff8623b28f0)
+ QObject (0x0x7ff862399d80) 0
+ primary-for QWidget (0x0x7ff8624adbd0)
+ QPaintDevice (0x0x7ff862399de0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472u)
+
+Class QCommonStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommonStyle::QPrivateSignal (0x0x7ff862399f00) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 (int (*)(...))QCommonStyle::metaObject
+24 (int (*)(...))QCommonStyle::qt_metacast
+32 (int (*)(...))QCommonStyle::qt_metacall
+40 (int (*)(...))QCommonStyle::~QCommonStyle
+48 (int (*)(...))QCommonStyle::~QCommonStyle
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCommonStyle::polish
+120 (int (*)(...))QCommonStyle::unpolish
+128 (int (*)(...))QCommonStyle::polish
+136 (int (*)(...))QCommonStyle::unpolish
+144 (int (*)(...))QCommonStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))QCommonStyle::drawPrimitive
+200 (int (*)(...))QCommonStyle::drawControl
+208 (int (*)(...))QCommonStyle::subElementRect
+216 (int (*)(...))QCommonStyle::drawComplexControl
+224 (int (*)(...))QCommonStyle::hitTestComplexControl
+232 (int (*)(...))QCommonStyle::subControlRect
+240 (int (*)(...))QCommonStyle::pixelMetric
+248 (int (*)(...))QCommonStyle::sizeFromContents
+256 (int (*)(...))QCommonStyle::styleHint
+264 (int (*)(...))QCommonStyle::standardPixmap
+272 (int (*)(...))QCommonStyle::standardIcon
+280 (int (*)(...))QCommonStyle::generatedIconPixmap
+288 (int (*)(...))QCommonStyle::layoutSpacing
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x0x7ff8623b2958) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x0x7ff8623b29c0) 0
+ primary-for QCommonStyle (0x0x7ff8623b2958)
+ QObject (0x0x7ff862399ea0) 0
+ primary-for QStyle (0x0x7ff8623b29c0)
+
+Class QCompleter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompleter::QPrivateSignal (0x0x7ff862528000) 0 empty
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 (int (*)(...))QCompleter::metaObject
+24 (int (*)(...))QCompleter::qt_metacast
+32 (int (*)(...))QCompleter::qt_metacall
+40 (int (*)(...))QCompleter::~QCompleter
+48 (int (*)(...))QCompleter::~QCompleter
+56 (int (*)(...))QCompleter::event
+64 (int (*)(...))QCompleter::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompleter::pathFromIndex
+120 (int (*)(...))QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x0x7ff8623b2a28) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x0x7ff862399f60) 0
+ primary-for QCompleter (0x0x7ff8623b2a28)
+
+Class QDataWidgetMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDataWidgetMapper::QPrivateSignal (0x0x7ff8625280c0) 0 empty
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 (int (*)(...))QDataWidgetMapper::metaObject
+24 (int (*)(...))QDataWidgetMapper::qt_metacast
+32 (int (*)(...))QDataWidgetMapper::qt_metacall
+40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x0x7ff8623b2a90) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x0x7ff862528060) 0
+ primary-for QDataWidgetMapper (0x0x7ff8623b2a90)
+
+Class QDateTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateTimeEdit::QPrivateSignal (0x0x7ff8625281e0) 0 empty
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 (int (*)(...))QDateTimeEdit::metaObject
+24 (int (*)(...))QDateTimeEdit::qt_metacast
+32 (int (*)(...))QDateTimeEdit::qt_metacall
+40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QDateTimeEdit)
+504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateTimeEdit (0x0x7ff8623b2af8) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x0x7ff8623b2b60) 0
+ primary-for QDateTimeEdit (0x0x7ff8623b2af8)
+ QWidget (0x0x7ff862520bd0) 0
+ primary-for QAbstractSpinBox (0x0x7ff8623b2b60)
+ QObject (0x0x7ff862528120) 0
+ primary-for QWidget (0x0x7ff862520bd0)
+ QPaintDevice (0x0x7ff862528180) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504u)
+
+Class QTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeEdit::QPrivateSignal (0x0x7ff862528480) 0 empty
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 (int (*)(...))QTimeEdit::metaObject
+24 (int (*)(...))QTimeEdit::qt_metacast
+32 (int (*)(...))QTimeEdit::qt_metacall
+40 (int (*)(...))QTimeEdit::~QTimeEdit
+48 (int (*)(...))QTimeEdit::~QTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QTimeEdit)
+504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QTimeEdit (0x0x7ff8623b2c98) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x0x7ff8623b2d00) 0
+ primary-for QTimeEdit (0x0x7ff8623b2c98)
+ QAbstractSpinBox (0x0x7ff8623b2d68) 0
+ primary-for QDateTimeEdit (0x0x7ff8623b2d00)
+ QWidget (0x0x7ff862159770) 0
+ primary-for QAbstractSpinBox (0x0x7ff8623b2d68)
+ QObject (0x0x7ff8625283c0) 0
+ primary-for QWidget (0x0x7ff862159770)
+ QPaintDevice (0x0x7ff862528420) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504u)
+
+Class QDateEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateEdit::QPrivateSignal (0x0x7ff8625285a0) 0 empty
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 (int (*)(...))QDateEdit::metaObject
+24 (int (*)(...))QDateEdit::qt_metacast
+32 (int (*)(...))QDateEdit::qt_metacall
+40 (int (*)(...))QDateEdit::~QDateEdit
+48 (int (*)(...))QDateEdit::~QDateEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QDateEdit)
+504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev
+512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateEdit (0x0x7ff8623b2dd0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x0x7ff8623b2e38) 0
+ primary-for QDateEdit (0x0x7ff8623b2dd0)
+ QAbstractSpinBox (0x0x7ff8623b2ea0) 0
+ primary-for QDateTimeEdit (0x0x7ff8623b2e38)
+ QWidget (0x0x7ff8621599a0) 0
+ primary-for QAbstractSpinBox (0x0x7ff8623b2ea0)
+ QObject (0x0x7ff8625284e0) 0
+ primary-for QWidget (0x0x7ff8621599a0)
+ QPaintDevice (0x0x7ff862528540) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 504u)
+
+Class QDesktopWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDesktopWidget::QPrivateSignal (0x0x7ff8625286c0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 (int (*)(...))QDesktopWidget::metaObject
+24 (int (*)(...))QDesktopWidget::qt_metacast
+32 (int (*)(...))QDesktopWidget::qt_metacall
+40 (int (*)(...))QDesktopWidget::~QDesktopWidget
+48 (int (*)(...))QDesktopWidget::~QDesktopWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDesktopWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QDesktopWidget)
+448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDesktopWidget
+ size=48 align=8
+ base size=48 base align=8
+QDesktopWidget (0x0x7ff8623b2f08) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x0x7ff8621bc3f0) 0
+ primary-for QDesktopWidget (0x0x7ff8623b2f08)
+ QObject (0x0x7ff862528600) 0
+ primary-for QWidget (0x0x7ff8621bc3f0)
+ QPaintDevice (0x0x7ff862528660) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448u)
+
+Class QDial::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDial::QPrivateSignal (0x0x7ff8625287e0) 0 empty
+
+Vtable for QDial
+QDial::_ZTV5QDial: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 (int (*)(...))QDial::metaObject
+24 (int (*)(...))QDial::qt_metacast
+32 (int (*)(...))QDial::qt_metacall
+40 (int (*)(...))QDial::~QDial
+48 (int (*)(...))QDial::~QDial
+56 (int (*)(...))QDial::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDial::sizeHint
+136 (int (*)(...))QDial::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDial::mousePressEvent
+176 (int (*)(...))QDial::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QDial::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDial::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDial::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDial::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI5QDial)
+456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev
+464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDial
+ size=48 align=8
+ base size=48 base align=8
+QDial (0x0x7ff8623b2f70) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x0x7ff8621e4000) 0
+ primary-for QDial (0x0x7ff8623b2f70)
+ QWidget (0x0x7ff8621bc850) 0
+ primary-for QAbstractSlider (0x0x7ff8621e4000)
+ QObject (0x0x7ff862528720) 0
+ primary-for QWidget (0x0x7ff8621bc850)
+ QPaintDevice (0x0x7ff862528780) 16
+ vptr=((& QDial::_ZTV5QDial) + 456u)
+
+Class QDialogButtonBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialogButtonBox::QPrivateSignal (0x0x7ff862528900) 0 empty
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 (int (*)(...))QDialogButtonBox::metaObject
+24 (int (*)(...))QDialogButtonBox::qt_metacast
+32 (int (*)(...))QDialogButtonBox::qt_metacall
+40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+56 (int (*)(...))QDialogButtonBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDialogButtonBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QDialogButtonBox)
+448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialogButtonBox
+ size=48 align=8
+ base size=48 base align=8
+QDialogButtonBox (0x0x7ff8621e4068) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x0x7ff8621bcb60) 0
+ primary-for QDialogButtonBox (0x0x7ff8621e4068)
+ QObject (0x0x7ff862528840) 0
+ primary-for QWidget (0x0x7ff8621bcb60)
+ QPaintDevice (0x0x7ff8625288a0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448u)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 (int (*)(...))QFileIconProvider::~QFileIconProvider
+24 (int (*)(...))QFileIconProvider::~QFileIconProvider
+32 (int (*)(...))QFileIconProvider::icon
+40 (int (*)(...))QFileIconProvider::icon
+48 (int (*)(...))QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x0x7ff862528ae0) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Class QDirModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDirModel::QPrivateSignal (0x0x7ff862528de0) 0 empty
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 (int (*)(...))QDirModel::metaObject
+24 (int (*)(...))QDirModel::qt_metacast
+32 (int (*)(...))QDirModel::qt_metacall
+40 (int (*)(...))QDirModel::~QDirModel
+48 (int (*)(...))QDirModel::~QDirModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDirModel::index
+120 (int (*)(...))QDirModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QDirModel::rowCount
+144 (int (*)(...))QDirModel::columnCount
+152 (int (*)(...))QDirModel::hasChildren
+160 (int (*)(...))QDirModel::data
+168 (int (*)(...))QDirModel::setData
+176 (int (*)(...))QDirModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QDirModel::mimeTypes
+216 (int (*)(...))QDirModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QDirModel::dropMimeData
+240 (int (*)(...))QDirModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QDirModel::flags
+328 (int (*)(...))QDirModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x0x7ff8621e4270) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x0x7ff8621e42d8) 0
+ primary-for QDirModel (0x0x7ff8621e4270)
+ QObject (0x0x7ff862528d80) 0
+ primary-for QAbstractItemModel (0x0x7ff8621e42d8)
+
+Class QDockWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDockWidget::QPrivateSignal (0x0x7ff862528f00) 0 empty
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 (int (*)(...))QDockWidget::metaObject
+24 (int (*)(...))QDockWidget::qt_metacast
+32 (int (*)(...))QDockWidget::qt_metacall
+40 (int (*)(...))QDockWidget::~QDockWidget
+48 (int (*)(...))QDockWidget::~QDockWidget
+56 (int (*)(...))QDockWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDockWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QDockWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDockWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QDockWidget)
+448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDockWidget
+ size=48 align=8
+ base size=48 base align=8
+QDockWidget (0x0x7ff8621e4340) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x0x7ff862260d20) 0
+ primary-for QDockWidget (0x0x7ff8621e4340)
+ QObject (0x0x7ff862528e40) 0
+ primary-for QWidget (0x0x7ff862260d20)
+ QPaintDevice (0x0x7ff862528ea0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 448u)
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x0x7ff8622c95a0) 0
+
+Class QErrorMessage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QErrorMessage::QPrivateSignal (0x0x7ff8622c9840) 0 empty
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 (int (*)(...))QErrorMessage::metaObject
+24 (int (*)(...))QErrorMessage::qt_metacast
+32 (int (*)(...))QErrorMessage::qt_metacall
+40 (int (*)(...))QErrorMessage::~QErrorMessage
+48 (int (*)(...))QErrorMessage::~QErrorMessage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QErrorMessage::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QErrorMessage::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QErrorMessage
+ size=48 align=8
+ base size=48 base align=8
+QErrorMessage (0x0x7ff8621e4a28) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x0x7ff8621e4a90) 0
+ primary-for QErrorMessage (0x0x7ff8621e4a28)
+ QWidget (0x0x7ff86231b770) 0
+ primary-for QDialog (0x0x7ff8621e4a90)
+ QObject (0x0x7ff8622c9780) 0
+ primary-for QWidget (0x0x7ff86231b770)
+ QPaintDevice (0x0x7ff8622c97e0) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Class QFileDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDialog::QPrivateSignal (0x0x7ff8622c9960) 0 empty
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 (int (*)(...))QFileDialog::metaObject
+24 (int (*)(...))QFileDialog::qt_metacast
+32 (int (*)(...))QFileDialog::qt_metacall
+40 (int (*)(...))QFileDialog::~QFileDialog
+48 (int (*)(...))QFileDialog::~QFileDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFileDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFileDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFileDialog::done
+456 (int (*)(...))QFileDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFileDialog
+ size=48 align=8
+ base size=48 base align=8
+QFileDialog (0x0x7ff8621e4af8) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x0x7ff8621e4b60) 0
+ primary-for QFileDialog (0x0x7ff8621e4af8)
+ QWidget (0x0x7ff86231ba80) 0
+ primary-for QDialog (0x0x7ff8621e4b60)
+ QObject (0x0x7ff8622c98a0) 0
+ primary-for QWidget (0x0x7ff86231ba80)
+ QPaintDevice (0x0x7ff8622c9900) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Class QFileSystemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemModel::QPrivateSignal (0x0x7ff8622c9ba0) 0 empty
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 (int (*)(...))QFileSystemModel::metaObject
+24 (int (*)(...))QFileSystemModel::qt_metacast
+32 (int (*)(...))QFileSystemModel::qt_metacall
+40 (int (*)(...))QFileSystemModel::~QFileSystemModel
+48 (int (*)(...))QFileSystemModel::~QFileSystemModel
+56 (int (*)(...))QFileSystemModel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QFileSystemModel::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileSystemModel::index
+120 (int (*)(...))QFileSystemModel::parent
+128 (int (*)(...))QFileSystemModel::sibling
+136 (int (*)(...))QFileSystemModel::rowCount
+144 (int (*)(...))QFileSystemModel::columnCount
+152 (int (*)(...))QFileSystemModel::hasChildren
+160 (int (*)(...))QFileSystemModel::data
+168 (int (*)(...))QFileSystemModel::setData
+176 (int (*)(...))QFileSystemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QFileSystemModel::mimeTypes
+216 (int (*)(...))QFileSystemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QFileSystemModel::dropMimeData
+240 (int (*)(...))QFileSystemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QFileSystemModel::fetchMore
+312 (int (*)(...))QFileSystemModel::canFetchMore
+320 (int (*)(...))QFileSystemModel::flags
+328 (int (*)(...))QFileSystemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x0x7ff8621e4c98) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x0x7ff8621e4d00) 0
+ primary-for QFileSystemModel (0x0x7ff8621e4c98)
+ QObject (0x0x7ff8622c9b40) 0
+ primary-for QAbstractItemModel (0x0x7ff8621e4d00)
+
+Class QFocusFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFocusFrame::QPrivateSignal (0x0x7ff8622c9d20) 0 empty
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 (int (*)(...))QFocusFrame::metaObject
+24 (int (*)(...))QFocusFrame::qt_metacast
+32 (int (*)(...))QFocusFrame::qt_metacall
+40 (int (*)(...))QFocusFrame::~QFocusFrame
+48 (int (*)(...))QFocusFrame::~QFocusFrame
+56 (int (*)(...))QFocusFrame::event
+64 (int (*)(...))QFocusFrame::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFocusFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QFocusFrame)
+448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFocusFrame
+ size=48 align=8
+ base size=48 base align=8
+QFocusFrame (0x0x7ff8621e4d68) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x0x7ff861fef150) 0
+ primary-for QFocusFrame (0x0x7ff8621e4d68)
+ QObject (0x0x7ff8622c9c60) 0
+ primary-for QWidget (0x0x7ff861fef150)
+ QPaintDevice (0x0x7ff8622c9cc0) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448u)
+
+Class QFontComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontComboBox::QPrivateSignal (0x0x7ff8622c9e40) 0 empty
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 (int (*)(...))QFontComboBox::metaObject
+24 (int (*)(...))QFontComboBox::qt_metacast
+32 (int (*)(...))QFontComboBox::qt_metacall
+40 (int (*)(...))QFontComboBox::~QFontComboBox
+48 (int (*)(...))QFontComboBox::~QFontComboBox
+56 (int (*)(...))QFontComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFontComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI13QFontComboBox)
+464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontComboBox
+ size=48 align=8
+ base size=48 base align=8
+QFontComboBox (0x0x7ff8621e4dd0) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x0x7ff8621e4e38) 0
+ primary-for QFontComboBox (0x0x7ff8621e4dd0)
+ QWidget (0x0x7ff861fef460) 0
+ primary-for QComboBox (0x0x7ff8621e4e38)
+ QObject (0x0x7ff8622c9d80) 0
+ primary-for QWidget (0x0x7ff861fef460)
+ QPaintDevice (0x0x7ff8622c9de0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464u)
+
+Class QFontDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontDialog::QPrivateSignal (0x0x7ff862026120) 0 empty
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 (int (*)(...))QFontDialog::metaObject
+24 (int (*)(...))QFontDialog::qt_metacast
+32 (int (*)(...))QFontDialog::qt_metacall
+40 (int (*)(...))QFontDialog::~QFontDialog
+48 (int (*)(...))QFontDialog::~QFontDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QFontDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFontDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFontDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFontDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontDialog
+ size=48 align=8
+ base size=48 base align=8
+QFontDialog (0x0x7ff86204c000) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x0x7ff86204c068) 0
+ primary-for QFontDialog (0x0x7ff86204c000)
+ QWidget (0x0x7ff86203b460) 0
+ primary-for QDialog (0x0x7ff86204c068)
+ QObject (0x0x7ff862026060) 0
+ primary-for QWidget (0x0x7ff86203b460)
+ QPaintDevice (0x0x7ff8620260c0) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Class QFormLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFormLayout::QPrivateSignal (0x0x7ff8620263c0) 0 empty
+
+Class QFormLayout::TakeRowResult
+ size=16 align=8
+ base size=16 base align=8
+QFormLayout::TakeRowResult (0x0x7ff862026420) 0
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 (int (*)(...))QFormLayout::metaObject
+24 (int (*)(...))QFormLayout::qt_metacast
+32 (int (*)(...))QFormLayout::qt_metacall
+40 (int (*)(...))QFormLayout::~QFormLayout
+48 (int (*)(...))QFormLayout::~QFormLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFormLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QFormLayout::addItem
+136 (int (*)(...))QFormLayout::expandingDirections
+144 (int (*)(...))QFormLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QFormLayout::setGeometry
+168 (int (*)(...))QFormLayout::itemAt
+176 (int (*)(...))QFormLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QFormLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QFormLayout::sizeHint
+232 (int (*)(...))QFormLayout::hasHeightForWidth
+240 (int (*)(...))QFormLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI11QFormLayout)
+264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x0x7ff86204c1a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x0x7ff86207b850) 0
+ primary-for QFormLayout (0x0x7ff86204c1a0)
+ QObject (0x0x7ff862026300) 0
+ primary-for QLayout (0x0x7ff86207b850)
+ QLayoutItem (0x0x7ff862026360) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 264u)
+
+Class QGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGesture::QPrivateSignal (0x0x7ff862026960) 0 empty
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 (int (*)(...))QGesture::metaObject
+24 (int (*)(...))QGesture::qt_metacast
+32 (int (*)(...))QGesture::qt_metacall
+40 (int (*)(...))QGesture::~QGesture
+48 (int (*)(...))QGesture::~QGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x0x7ff86204c3a8) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x0x7ff862026900) 0
+ primary-for QGesture (0x0x7ff86204c3a8)
+
+Class QPanGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPanGesture::QPrivateSignal (0x0x7ff862026a20) 0 empty
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 (int (*)(...))QPanGesture::metaObject
+24 (int (*)(...))QPanGesture::qt_metacast
+32 (int (*)(...))QPanGesture::qt_metacall
+40 (int (*)(...))QPanGesture::~QPanGesture
+48 (int (*)(...))QPanGesture::~QPanGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x0x7ff86204c410) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x0x7ff86204c478) 0
+ primary-for QPanGesture (0x0x7ff86204c410)
+ QObject (0x0x7ff8620269c0) 0
+ primary-for QGesture (0x0x7ff86204c478)
+
+Class QPinchGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPinchGesture::QPrivateSignal (0x0x7ff862026ae0) 0 empty
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 (int (*)(...))QPinchGesture::metaObject
+24 (int (*)(...))QPinchGesture::qt_metacast
+32 (int (*)(...))QPinchGesture::qt_metacall
+40 (int (*)(...))QPinchGesture::~QPinchGesture
+48 (int (*)(...))QPinchGesture::~QPinchGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x0x7ff86204c4e0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x0x7ff86204c548) 0
+ primary-for QPinchGesture (0x0x7ff86204c4e0)
+ QObject (0x0x7ff862026a80) 0
+ primary-for QGesture (0x0x7ff86204c548)
+
+Class QSwipeGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSwipeGesture::QPrivateSignal (0x0x7ff862026e40) 0 empty
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 (int (*)(...))QSwipeGesture::metaObject
+24 (int (*)(...))QSwipeGesture::qt_metacast
+32 (int (*)(...))QSwipeGesture::qt_metacall
+40 (int (*)(...))QSwipeGesture::~QSwipeGesture
+48 (int (*)(...))QSwipeGesture::~QSwipeGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x0x7ff86204c680) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x0x7ff86204c6e8) 0
+ primary-for QSwipeGesture (0x0x7ff86204c680)
+ QObject (0x0x7ff862026de0) 0
+ primary-for QGesture (0x0x7ff86204c6e8)
+
+Class QTapGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapGesture::QPrivateSignal (0x0x7ff862026f60) 0 empty
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 (int (*)(...))QTapGesture::metaObject
+24 (int (*)(...))QTapGesture::qt_metacast
+32 (int (*)(...))QTapGesture::qt_metacall
+40 (int (*)(...))QTapGesture::~QTapGesture
+48 (int (*)(...))QTapGesture::~QTapGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x0x7ff86204c750) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x0x7ff86204c7b8) 0
+ primary-for QTapGesture (0x0x7ff86204c750)
+ QObject (0x0x7ff862026f00) 0
+ primary-for QGesture (0x0x7ff86204c7b8)
+
+Class QTapAndHoldGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapAndHoldGesture::QPrivateSignal (0x0x7ff861d63060) 0 empty
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 (int (*)(...))QTapAndHoldGesture::metaObject
+24 (int (*)(...))QTapAndHoldGesture::qt_metacast
+32 (int (*)(...))QTapAndHoldGesture::qt_metacall
+40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x0x7ff86204c820) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x0x7ff86204c888) 0
+ primary-for QTapAndHoldGesture (0x0x7ff86204c820)
+ QObject (0x0x7ff861d63000) 0
+ primary-for QGesture (0x0x7ff86204c888)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 (int (*)(...))QGestureEvent::~QGestureEvent
+24 (int (*)(...))QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=56 align=8
+ base size=56 base align=8
+QGestureEvent (0x0x7ff86204c8f0) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x0x7ff861d630c0) 0
+ primary-for QGestureEvent (0x0x7ff86204c8f0)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 0u
+24 0u
+32 (int (*)(...))QGestureRecognizer::create
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x0x7ff873b15660) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItem::isObscuredBy
+88 (int (*)(...))QGraphicsItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x0x7ff873b8b660) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Class QGraphicsObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsObject::QPrivateSignal (0x0x7ff86c37d720) 0 empty
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 (int (*)(...))QGraphicsObject::metaObject
+24 (int (*)(...))QGraphicsObject::qt_metacast
+32 (int (*)(...))QGraphicsObject::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))-16
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 0u
+136 0u
+144 (int (*)(...))QGraphicsItem::advance
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QGraphicsItem::shape
+168 (int (*)(...))QGraphicsItem::contains
+176 (int (*)(...))QGraphicsItem::collidesWithItem
+184 (int (*)(...))QGraphicsItem::collidesWithPath
+192 (int (*)(...))QGraphicsItem::isObscuredBy
+200 (int (*)(...))QGraphicsItem::opaqueArea
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))QGraphicsItem::type
+224 (int (*)(...))QGraphicsItem::sceneEventFilter
+232 (int (*)(...))QGraphicsItem::sceneEvent
+240 (int (*)(...))QGraphicsItem::contextMenuEvent
+248 (int (*)(...))QGraphicsItem::dragEnterEvent
+256 (int (*)(...))QGraphicsItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsItem::dragMoveEvent
+272 (int (*)(...))QGraphicsItem::dropEvent
+280 (int (*)(...))QGraphicsItem::focusInEvent
+288 (int (*)(...))QGraphicsItem::focusOutEvent
+296 (int (*)(...))QGraphicsItem::hoverEnterEvent
+304 (int (*)(...))QGraphicsItem::hoverMoveEvent
+312 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+320 (int (*)(...))QGraphicsItem::keyPressEvent
+328 (int (*)(...))QGraphicsItem::keyReleaseEvent
+336 (int (*)(...))QGraphicsItem::mousePressEvent
+344 (int (*)(...))QGraphicsItem::mouseMoveEvent
+352 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+368 (int (*)(...))QGraphicsItem::wheelEvent
+376 (int (*)(...))QGraphicsItem::inputMethodEvent
+384 (int (*)(...))QGraphicsItem::inputMethodQuery
+392 (int (*)(...))QGraphicsItem::itemChange
+400 (int (*)(...))QGraphicsItem::supportsExtension
+408 (int (*)(...))QGraphicsItem::setExtension
+416 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x0x7ff86ef10d20) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x0x7ff86dd1d300) 0
+ primary-for QGraphicsObject (0x0x7ff86ef10d20)
+ QGraphicsItem (0x0x7ff86c37d6c0) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy
+88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x0x7ff86dec7a28) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x0x7ff86c37da20) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7ff86dec7a28)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPathItem::boundingRect
+48 (int (*)(...))QGraphicsPathItem::shape
+56 (int (*)(...))QGraphicsPathItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPathItem::isObscuredBy
+88 (int (*)(...))QGraphicsPathItem::opaqueArea
+96 (int (*)(...))QGraphicsPathItem::paint
+104 (int (*)(...))QGraphicsPathItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPathItem::supportsExtension
+296 (int (*)(...))QGraphicsPathItem::setExtension
+304 (int (*)(...))QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x0x7ff86dec7dd0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7ff86dec7e38) 0
+ primary-for QGraphicsPathItem (0x0x7ff86dec7dd0)
+ QGraphicsItem (0x0x7ff86c37da80) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7ff86dec7e38)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsRectItem::boundingRect
+48 (int (*)(...))QGraphicsRectItem::shape
+56 (int (*)(...))QGraphicsRectItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsRectItem::isObscuredBy
+88 (int (*)(...))QGraphicsRectItem::opaqueArea
+96 (int (*)(...))QGraphicsRectItem::paint
+104 (int (*)(...))QGraphicsRectItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsRectItem::supportsExtension
+296 (int (*)(...))QGraphicsRectItem::setExtension
+304 (int (*)(...))QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x0x7ff86db43f70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7ff86d2f3f08) 0
+ primary-for QGraphicsRectItem (0x0x7ff86db43f70)
+ QGraphicsItem (0x0x7ff86bcd60c0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7ff86d2f3f08)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsEllipseItem::boundingRect
+48 (int (*)(...))QGraphicsEllipseItem::shape
+56 (int (*)(...))QGraphicsEllipseItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy
+88 (int (*)(...))QGraphicsEllipseItem::opaqueArea
+96 (int (*)(...))QGraphicsEllipseItem::paint
+104 (int (*)(...))QGraphicsEllipseItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsEllipseItem::supportsExtension
+296 (int (*)(...))QGraphicsEllipseItem::setExtension
+304 (int (*)(...))QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x0x7ff86d2f3f70) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7ff86d2f3000) 0
+ primary-for QGraphicsEllipseItem (0x0x7ff86d2f3f70)
+ QGraphicsItem (0x0x7ff86bcd6120) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7ff86d2f3000)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPolygonItem::boundingRect
+48 (int (*)(...))QGraphicsPolygonItem::shape
+56 (int (*)(...))QGraphicsPolygonItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy
+88 (int (*)(...))QGraphicsPolygonItem::opaqueArea
+96 (int (*)(...))QGraphicsPolygonItem::paint
+104 (int (*)(...))QGraphicsPolygonItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPolygonItem::supportsExtension
+296 (int (*)(...))QGraphicsPolygonItem::setExtension
+304 (int (*)(...))QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x0x7ff86d2f3068) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7ff86d2f3ea0) 0
+ primary-for QGraphicsPolygonItem (0x0x7ff86d2f3068)
+ QGraphicsItem (0x0x7ff86bcd6a20) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7ff86d2f3ea0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsLineItem::boundingRect
+48 (int (*)(...))QGraphicsLineItem::shape
+56 (int (*)(...))QGraphicsLineItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsLineItem::isObscuredBy
+88 (int (*)(...))QGraphicsLineItem::opaqueArea
+96 (int (*)(...))QGraphicsLineItem::paint
+104 (int (*)(...))QGraphicsLineItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsLineItem::supportsExtension
+296 (int (*)(...))QGraphicsLineItem::setExtension
+304 (int (*)(...))QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x0x7ff86c965000) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x0x7ff86bcd6a80) 0
+ primary-for QGraphicsLineItem (0x0x7ff86c965000)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPixmapItem::boundingRect
+48 (int (*)(...))QGraphicsPixmapItem::shape
+56 (int (*)(...))QGraphicsPixmapItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy
+88 (int (*)(...))QGraphicsPixmapItem::opaqueArea
+96 (int (*)(...))QGraphicsPixmapItem::paint
+104 (int (*)(...))QGraphicsPixmapItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPixmapItem::supportsExtension
+296 (int (*)(...))QGraphicsPixmapItem::setExtension
+304 (int (*)(...))QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x0x7ff86c965068) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x0x7ff86bcfc180) 0
+ primary-for QGraphicsPixmapItem (0x0x7ff86c965068)
+
+Class QGraphicsTextItem::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTextItem::QPrivateSignal (0x0x7ff86bcfc360) 0 empty
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 (int (*)(...))QGraphicsTextItem::metaObject
+24 (int (*)(...))QGraphicsTextItem::qt_metacast
+32 (int (*)(...))QGraphicsTextItem::qt_metacall
+40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsTextItem::boundingRect
+120 (int (*)(...))QGraphicsTextItem::shape
+128 (int (*)(...))QGraphicsTextItem::contains
+136 (int (*)(...))QGraphicsTextItem::paint
+144 (int (*)(...))QGraphicsTextItem::isObscuredBy
+152 (int (*)(...))QGraphicsTextItem::opaqueArea
+160 (int (*)(...))QGraphicsTextItem::type
+168 (int (*)(...))QGraphicsTextItem::sceneEvent
+176 (int (*)(...))QGraphicsTextItem::mousePressEvent
+184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent
+192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent
+200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent
+208 (int (*)(...))QGraphicsTextItem::contextMenuEvent
+216 (int (*)(...))QGraphicsTextItem::keyPressEvent
+224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent
+232 (int (*)(...))QGraphicsTextItem::focusInEvent
+240 (int (*)(...))QGraphicsTextItem::focusOutEvent
+248 (int (*)(...))QGraphicsTextItem::dragEnterEvent
+256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsTextItem::dragMoveEvent
+272 (int (*)(...))QGraphicsTextItem::dropEvent
+280 (int (*)(...))QGraphicsTextItem::inputMethodEvent
+288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent
+296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent
+304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent
+312 (int (*)(...))QGraphicsTextItem::inputMethodQuery
+320 (int (*)(...))QGraphicsTextItem::supportsExtension
+328 (int (*)(...))QGraphicsTextItem::setExtension
+336 (int (*)(...))QGraphicsTextItem::extension
+344 (int (*)(...))-16
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 (int (*)(...))QGraphicsItem::advance
+384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 (int (*)(...))QGraphicsItem::collidesWithItem
+416 (int (*)(...))QGraphicsItem::collidesWithPath
+424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 (int (*)(...))QGraphicsItem::sceneEventFilter
+464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 (int (*)(...))QGraphicsItem::wheelEvent
+608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 (int (*)(...))QGraphicsItem::itemChange
+632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x0x7ff86c9650d0) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x0x7ff86ef43460) 0
+ primary-for QGraphicsTextItem (0x0x7ff86c9650d0)
+ QObject (0x0x7ff86bcfc1e0) 0
+ primary-for QGraphicsObject (0x0x7ff86ef43460)
+ QGraphicsItem (0x0x7ff86bcfc2a0) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect
+48 (int (*)(...))QGraphicsSimpleTextItem::shape
+56 (int (*)(...))QGraphicsSimpleTextItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy
+88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea
+96 (int (*)(...))QGraphicsSimpleTextItem::paint
+104 (int (*)(...))QGraphicsSimpleTextItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension
+296 (int (*)(...))QGraphicsSimpleTextItem::setExtension
+304 (int (*)(...))QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x0x7ff86c81dbc8) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7ff86c81dc30) 0
+ primary-for QGraphicsSimpleTextItem (0x0x7ff86c81dbc8)
+ QGraphicsItem (0x0x7ff86bcfcea0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7ff86c81dc30)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsItemGroup::boundingRect
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItemGroup::isObscuredBy
+88 (int (*)(...))QGraphicsItemGroup::opaqueArea
+96 (int (*)(...))QGraphicsItemGroup::paint
+104 (int (*)(...))QGraphicsItemGroup::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x0x7ff86c05ff08) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x0x7ff86bd185a0) 0
+ primary-for QGraphicsItemGroup (0x0x7ff86c05ff08)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins
+48 (int (*)(...))QGraphicsLayoutItem::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x0x7ff86bb0b180) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))QGraphicsLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x0x7ff86c05ff70) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x0x7ff86bb0bcc0) 0
+ primary-for QGraphicsLayout (0x0x7ff86c05ff70)
+
+Class QGraphicsAnchor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsAnchor::QPrivateSignal (0x0x7ff86bb0bde0) 0 empty
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 (int (*)(...))QGraphicsAnchor::metaObject
+24 (int (*)(...))QGraphicsAnchor::qt_metacast
+32 (int (*)(...))QGraphicsAnchor::qt_metacall
+40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x0x7ff86bce1478) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x0x7ff86bb0bd80) 0
+ primary-for QGraphicsAnchor (0x0x7ff86bce1478)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 (int (*)(...))QGraphicsAnchorLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsAnchorLayout::sizeHint
+64 (int (*)(...))QGraphicsAnchorLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsAnchorLayout::count
+88 (int (*)(...))QGraphicsAnchorLayout::itemAt
+96 (int (*)(...))QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x0x7ff86bce14e0) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x0x7ff86bd0c478) 0
+ primary-for QGraphicsAnchorLayout (0x0x7ff86bce14e0)
+ QGraphicsLayoutItem (0x0x7ff86bb0be40) 0
+ primary-for QGraphicsLayout (0x0x7ff86bd0c478)
+
+Class QGraphicsEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsEffect::QPrivateSignal (0x0x7ff86bb0bf00) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 (int (*)(...))QGraphicsEffect::metaObject
+24 (int (*)(...))QGraphicsEffect::qt_metacast
+32 (int (*)(...))QGraphicsEffect::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x0x7ff86bd0c4e0) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x0x7ff86bb0bea0) 0
+ primary-for QGraphicsEffect (0x0x7ff86bd0c4e0)
+
+Class QGraphicsColorizeEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsColorizeEffect::QPrivateSignal (0x0x7ff86bc401e0) 0 empty
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 (int (*)(...))QGraphicsColorizeEffect::metaObject
+24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast
+32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall
+40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsColorizeEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x0x7ff86bd2b478) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x0x7ff86bd2b4e0) 0
+ primary-for QGraphicsColorizeEffect (0x0x7ff86bd2b478)
+ QObject (0x0x7ff86bc40180) 0
+ primary-for QGraphicsEffect (0x0x7ff86bd2b4e0)
+
+Class QGraphicsBlurEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsBlurEffect::QPrivateSignal (0x0x7ff86b9da300) 0 empty
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 (int (*)(...))QGraphicsBlurEffect::metaObject
+24 (int (*)(...))QGraphicsBlurEffect::qt_metacast
+32 (int (*)(...))QGraphicsBlurEffect::qt_metacall
+40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor
+120 (int (*)(...))QGraphicsBlurEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x0x7ff86bd2b958) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x0x7ff86bd2b9c0) 0
+ primary-for QGraphicsBlurEffect (0x0x7ff86bd2b958)
+ QObject (0x0x7ff86bc40240) 0
+ primary-for QGraphicsEffect (0x0x7ff86bd2b9c0)
+
+Class QGraphicsDropShadowEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsDropShadowEffect::QPrivateSignal (0x0x7ff86b9da7e0) 0 empty
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 (int (*)(...))QGraphicsDropShadowEffect::metaObject
+24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast
+32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall
+40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor
+120 (int (*)(...))QGraphicsDropShadowEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x0x7ff86bb046e8) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x0x7ff86bb04750) 0
+ primary-for QGraphicsDropShadowEffect (0x0x7ff86bb046e8)
+ QObject (0x0x7ff86b9da780) 0
+ primary-for QGraphicsEffect (0x0x7ff86bb04750)
+
+Class QGraphicsOpacityEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsOpacityEffect::QPrivateSignal (0x0x7ff86b86f8a0) 0 empty
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 (int (*)(...))QGraphicsOpacityEffect::metaObject
+24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast
+32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall
+40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsOpacityEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x0x7ff86bb047b8) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x0x7ff86bb04820) 0
+ primary-for QGraphicsOpacityEffect (0x0x7ff86bb047b8)
+ QObject (0x0x7ff86b86f840) 0
+ primary-for QGraphicsEffect (0x0x7ff86bb04820)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+32 (int (*)(...))QGraphicsGridLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsGridLayout::sizeHint
+64 (int (*)(...))QGraphicsGridLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsGridLayout::count
+88 (int (*)(...))QGraphicsGridLayout::itemAt
+96 (int (*)(...))QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x0x7ff86bb04888) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x0x7ff86bb048f0) 0
+ primary-for QGraphicsGridLayout (0x0x7ff86bb04888)
+ QGraphicsLayoutItem (0x0x7ff86b86f960) 0
+ primary-for QGraphicsLayout (0x0x7ff86bb048f0)
+
+Class QGraphicsItemAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsItemAnimation::QPrivateSignal (0x0x7ff86b86fba0) 0 empty
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 (int (*)(...))QGraphicsItemAnimation::metaObject
+24 (int (*)(...))QGraphicsItemAnimation::qt_metacast
+32 (int (*)(...))QGraphicsItemAnimation::qt_metacall
+40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep
+120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x0x7ff86bb049c0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x0x7ff86b86fb40) 0
+ primary-for QGraphicsItemAnimation (0x0x7ff86bb049c0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 (int (*)(...))QGraphicsLinearLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsLinearLayout::sizeHint
+64 (int (*)(...))QGraphicsLinearLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsLinearLayout::count
+88 (int (*)(...))QGraphicsLinearLayout::itemAt
+96 (int (*)(...))QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x0x7ff86bb04a28) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x0x7ff86bb04a90) 0
+ primary-for QGraphicsLinearLayout (0x0x7ff86bb04a28)
+ QGraphicsLayoutItem (0x0x7ff86b536720) 0
+ primary-for QGraphicsLayout (0x0x7ff86bb04a90)
+
+Class QGraphicsWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsWidget::QPrivateSignal (0x0x7ff86b5601e0) 0 empty
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 (int (*)(...))QGraphicsWidget::metaObject
+24 (int (*)(...))QGraphicsWidget::qt_metacast
+32 (int (*)(...))QGraphicsWidget::qt_metacall
+40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+56 (int (*)(...))QGraphicsWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsWidget::type
+136 (int (*)(...))QGraphicsWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsWidget::focusInEvent
+256 (int (*)(...))QGraphicsWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsWidget::focusOutEvent
+272 (int (*)(...))QGraphicsWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsWidget::resizeEvent
+304 (int (*)(...))QGraphicsWidget::showEvent
+312 (int (*)(...))QGraphicsWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-16
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 (int (*)(...))QGraphicsItem::advance
+400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 (int (*)(...))QGraphicsItem::contains
+424 (int (*)(...))QGraphicsItem::collidesWithItem
+432 (int (*)(...))QGraphicsItem::collidesWithPath
+440 (int (*)(...))QGraphicsItem::isObscuredBy
+448 (int (*)(...))QGraphicsItem::opaqueArea
+456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 (int (*)(...))QGraphicsItem::sceneEventFilter
+480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 (int (*)(...))QGraphicsItem::contextMenuEvent
+496 (int (*)(...))QGraphicsItem::dragEnterEvent
+504 (int (*)(...))QGraphicsItem::dragLeaveEvent
+512 (int (*)(...))QGraphicsItem::dragMoveEvent
+520 (int (*)(...))QGraphicsItem::dropEvent
+528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 (int (*)(...))QGraphicsItem::hoverEnterEvent
+552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 (int (*)(...))QGraphicsItem::keyPressEvent
+576 (int (*)(...))QGraphicsItem::keyReleaseEvent
+584 (int (*)(...))QGraphicsItem::mousePressEvent
+592 (int (*)(...))QGraphicsItem::mouseMoveEvent
+600 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+616 (int (*)(...))QGraphicsItem::wheelEvent
+624 (int (*)(...))QGraphicsItem::inputMethodEvent
+632 (int (*)(...))QGraphicsItem::inputMethodQuery
+640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 (int (*)(...))QGraphicsItem::supportsExtension
+656 (int (*)(...))QGraphicsItem::setExtension
+664 (int (*)(...))QGraphicsItem::extension
+672 (int (*)(...))-32
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x0x7ff86eae6540) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x0x7ff86eae65b0) 0
+ primary-for QGraphicsWidget (0x0x7ff86eae6540)
+ QObject (0x0x7ff86b536780) 0
+ primary-for QGraphicsObject (0x0x7ff86eae65b0)
+ QGraphicsItem (0x0x7ff86b5600c0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x0x7ff86b560120) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Class QGraphicsProxyWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsProxyWidget::QPrivateSignal (0x0x7ff86b5873c0) 0 empty
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 (int (*)(...))QGraphicsProxyWidget::metaObject
+24 (int (*)(...))QGraphicsProxyWidget::qt_metacast
+32 (int (*)(...))QGraphicsProxyWidget::qt_metacall
+40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 (int (*)(...))QGraphicsProxyWidget::event
+64 (int (*)(...))QGraphicsProxyWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsProxyWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsProxyWidget::type
+136 (int (*)(...))QGraphicsProxyWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsProxyWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsProxyWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsProxyWidget::focusInEvent
+256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent
+272 (int (*)(...))QGraphicsProxyWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsProxyWidget::resizeEvent
+304 (int (*)(...))QGraphicsProxyWidget::showEvent
+312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent
+368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent
+376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent
+384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent
+392 (int (*)(...))QGraphicsProxyWidget::dropEvent
+400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent
+408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent
+416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent
+424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent
+432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent
+440 (int (*)(...))QGraphicsProxyWidget::wheelEvent
+448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent
+456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery
+472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent
+480 (int (*)(...))-16
+488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+512 (int (*)(...))QGraphicsItem::advance
+520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+536 (int (*)(...))QGraphicsItem::contains
+544 (int (*)(...))QGraphicsItem::collidesWithItem
+552 (int (*)(...))QGraphicsItem::collidesWithPath
+560 (int (*)(...))QGraphicsItem::isObscuredBy
+568 (int (*)(...))QGraphicsItem::opaqueArea
+576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+592 (int (*)(...))QGraphicsItem::sceneEventFilter
+600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent
+752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE
+760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+768 (int (*)(...))QGraphicsItem::supportsExtension
+776 (int (*)(...))QGraphicsItem::setExtension
+784 (int (*)(...))QGraphicsItem::extension
+792 (int (*)(...))-32
+800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x0x7ff86bb04bc8) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x0x7ff86eae6bd0) 0
+ primary-for QGraphicsProxyWidget (0x0x7ff86bb04bc8)
+ QGraphicsObject (0x0x7ff86eae6c40) 0
+ primary-for QGraphicsWidget (0x0x7ff86eae6bd0)
+ QObject (0x0x7ff86b560a80) 0
+ primary-for QGraphicsObject (0x0x7ff86eae6c40)
+ QGraphicsItem (0x0x7ff86b5872a0) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496u)
+ QGraphicsLayoutItem (0x0x7ff86b587300) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808u)
+
+Class QGraphicsScene::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScene::QPrivateSignal (0x0x7ff86ad56f60) 0 empty
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 (int (*)(...))QGraphicsScene::metaObject
+24 (int (*)(...))QGraphicsScene::qt_metacast
+32 (int (*)(...))QGraphicsScene::qt_metacall
+40 (int (*)(...))QGraphicsScene::~QGraphicsScene
+48 (int (*)(...))QGraphicsScene::~QGraphicsScene
+56 (int (*)(...))QGraphicsScene::event
+64 (int (*)(...))QGraphicsScene::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScene::inputMethodQuery
+120 (int (*)(...))QGraphicsScene::contextMenuEvent
+128 (int (*)(...))QGraphicsScene::dragEnterEvent
+136 (int (*)(...))QGraphicsScene::dragMoveEvent
+144 (int (*)(...))QGraphicsScene::dragLeaveEvent
+152 (int (*)(...))QGraphicsScene::dropEvent
+160 (int (*)(...))QGraphicsScene::focusInEvent
+168 (int (*)(...))QGraphicsScene::focusOutEvent
+176 (int (*)(...))QGraphicsScene::helpEvent
+184 (int (*)(...))QGraphicsScene::keyPressEvent
+192 (int (*)(...))QGraphicsScene::keyReleaseEvent
+200 (int (*)(...))QGraphicsScene::mousePressEvent
+208 (int (*)(...))QGraphicsScene::mouseMoveEvent
+216 (int (*)(...))QGraphicsScene::mouseReleaseEvent
+224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent
+232 (int (*)(...))QGraphicsScene::wheelEvent
+240 (int (*)(...))QGraphicsScene::inputMethodEvent
+248 (int (*)(...))QGraphicsScene::drawBackground
+256 (int (*)(...))QGraphicsScene::drawForeground
+264 (int (*)(...))QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x0x7ff86bb04dd0) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x0x7ff86ad56b40) 0
+ primary-for QGraphicsScene (0x0x7ff86bb04dd0)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x0x7ff86bb7f5b0) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x0x7ff86aae3300) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86bb7f5b0)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x0x7ff86bb7f680) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86bb7f6e8) 0
+ primary-for QGraphicsSceneMouseEvent (0x0x7ff86bb7f680)
+ QEvent (0x0x7ff86aae3f60) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86bb7f6e8)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x0x7ff86bb7f750) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86bb7f7b8) 0
+ primary-for QGraphicsSceneWheelEvent (0x0x7ff86bb7f750)
+ QEvent (0x0x7ff86ab081e0) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86bb7f7b8)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x0x7ff86bb7f820) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86bb7f888) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x0x7ff86bb7f820)
+ QEvent (0x0x7ff86ab08240) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86bb7f888)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x0x7ff86bb7f8f0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86bb7f958) 0
+ primary-for QGraphicsSceneHoverEvent (0x0x7ff86bb7f8f0)
+ QEvent (0x0x7ff86a3c0480) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86bb7f958)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x0x7ff86bb7f9c0) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86b92eaf8) 0
+ primary-for QGraphicsSceneHelpEvent (0x0x7ff86bb7f9c0)
+ QEvent (0x0x7ff86a3c04e0) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86b92eaf8)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x0x7ff86b92ebc8) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86b6a2680) 0
+ primary-for QGraphicsSceneDragDropEvent (0x0x7ff86b92ebc8)
+ QEvent (0x0x7ff86a3c0900) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86b6a2680)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x0x7ff86b6a26e8) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86b6a2750) 0
+ primary-for QGraphicsSceneResizeEvent (0x0x7ff86b6a26e8)
+ QEvent (0x0x7ff86a3c0960) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86b6a2750)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x0x7ff86b6a28f0) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7ff86b6a2958) 0
+ primary-for QGraphicsSceneMoveEvent (0x0x7ff86b6a28f0)
+ QEvent (0x0x7ff86a4060c0) 0
+ primary-for QGraphicsSceneEvent (0x0x7ff86b6a2958)
+
+Class QGraphicsTransform::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTransform::QPrivateSignal (0x0x7ff86a406960) 0 empty
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 (int (*)(...))QGraphicsTransform::metaObject
+24 (int (*)(...))QGraphicsTransform::qt_metacast
+32 (int (*)(...))QGraphicsTransform::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x0x7ff86b6a29c0) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x0x7ff86a406120) 0
+ primary-for QGraphicsTransform (0x0x7ff86b6a29c0)
+
+Class QGraphicsScale::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScale::QPrivateSignal (0x0x7ff86a406ae0) 0 empty
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 (int (*)(...))QGraphicsScale::metaObject
+24 (int (*)(...))QGraphicsScale::qt_metacast
+32 (int (*)(...))QGraphicsScale::qt_metacall
+40 (int (*)(...))QGraphicsScale::~QGraphicsScale
+48 (int (*)(...))QGraphicsScale::~QGraphicsScale
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x0x7ff86b6a2a28) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x0x7ff86b6a2a90) 0
+ primary-for QGraphicsScale (0x0x7ff86b6a2a28)
+ QObject (0x0x7ff86a4069c0) 0
+ primary-for QGraphicsTransform (0x0x7ff86b6a2a90)
+
+Class QGraphicsRotation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsRotation::QPrivateSignal (0x0x7ff86a406c00) 0 empty
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 (int (*)(...))QGraphicsRotation::metaObject
+24 (int (*)(...))QGraphicsRotation::qt_metacast
+32 (int (*)(...))QGraphicsRotation::qt_metacall
+40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x0x7ff86b6a2d00) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x0x7ff86b6a2d68) 0
+ primary-for QGraphicsRotation (0x0x7ff86b6a2d00)
+ QObject (0x0x7ff86a406b40) 0
+ primary-for QGraphicsTransform (0x0x7ff86b6a2d68)
+
+Class QScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollArea::QPrivateSignal (0x0x7ff86a4331e0) 0 empty
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 (int (*)(...))QScrollArea::metaObject
+24 (int (*)(...))QScrollArea::qt_metacast
+32 (int (*)(...))QScrollArea::qt_metacall
+40 (int (*)(...))QScrollArea::~QScrollArea
+48 (int (*)(...))QScrollArea::~QScrollArea
+56 (int (*)(...))QScrollArea::event
+64 (int (*)(...))QScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QScrollArea::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QScrollArea::scrollContentsBy
+456 (int (*)(...))QScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QScrollArea (0x0x7ff86b6a2dd0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x0x7ff86b6a2f70) 0
+ primary-for QScrollArea (0x0x7ff86b6a2dd0)
+ QFrame (0x0x7ff86b7eb068) 0
+ primary-for QAbstractScrollArea (0x0x7ff86b6a2f70)
+ QWidget (0x0x7ff86eb58af0) 0
+ primary-for QFrame (0x0x7ff86b7eb068)
+ QObject (0x0x7ff86a4330c0) 0
+ primary-for QWidget (0x0x7ff86eb58af0)
+ QPaintDevice (0x0x7ff86a433120) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Class QGraphicsView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsView::QPrivateSignal (0x0x7ff86a433360) 0 empty
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 (int (*)(...))QGraphicsView::metaObject
+24 (int (*)(...))QGraphicsView::qt_metacast
+32 (int (*)(...))QGraphicsView::qt_metacall
+40 (int (*)(...))QGraphicsView::~QGraphicsView
+48 (int (*)(...))QGraphicsView::~QGraphicsView
+56 (int (*)(...))QGraphicsView::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QGraphicsView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGraphicsView::mousePressEvent
+176 (int (*)(...))QGraphicsView::mouseReleaseEvent
+184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent
+192 (int (*)(...))QGraphicsView::mouseMoveEvent
+200 (int (*)(...))QGraphicsView::wheelEvent
+208 (int (*)(...))QGraphicsView::keyPressEvent
+216 (int (*)(...))QGraphicsView::keyReleaseEvent
+224 (int (*)(...))QGraphicsView::focusInEvent
+232 (int (*)(...))QGraphicsView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGraphicsView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGraphicsView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QGraphicsView::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QGraphicsView::dragEnterEvent
+320 (int (*)(...))QGraphicsView::dragMoveEvent
+328 (int (*)(...))QGraphicsView::dragLeaveEvent
+336 (int (*)(...))QGraphicsView::dropEvent
+344 (int (*)(...))QGraphicsView::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QGraphicsView::inputMethodEvent
+416 (int (*)(...))QGraphicsView::inputMethodQuery
+424 (int (*)(...))QGraphicsView::focusNextPrevChild
+432 (int (*)(...))QGraphicsView::setupViewport
+440 (int (*)(...))QGraphicsView::viewportEvent
+448 (int (*)(...))QGraphicsView::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QGraphicsView::drawBackground
+472 (int (*)(...))QGraphicsView::drawForeground
+480 (int (*)(...))QGraphicsView::drawItems
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGraphicsView
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsView (0x0x7ff86b7eb138) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x0x7ff86b48b3a8) 0
+ primary-for QGraphicsView (0x0x7ff86b7eb138)
+ QFrame (0x0x7ff86b48b0d0) 0
+ primary-for QAbstractScrollArea (0x0x7ff86b48b3a8)
+ QWidget (0x0x7ff86eb58e00) 0
+ primary-for QFrame (0x0x7ff86b48b0d0)
+ QObject (0x0x7ff86a433240) 0
+ primary-for QWidget (0x0x7ff86eb58e00)
+ QPaintDevice (0x0x7ff86a433300) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Class QGroupBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGroupBox::QPrivateSignal (0x0x7ff86a132b40) 0 empty
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 (int (*)(...))QGroupBox::metaObject
+24 (int (*)(...))QGroupBox::qt_metacast
+32 (int (*)(...))QGroupBox::qt_metacall
+40 (int (*)(...))QGroupBox::~QGroupBox
+48 (int (*)(...))QGroupBox::~QGroupBox
+56 (int (*)(...))QGroupBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QGroupBox::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QGroupBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGroupBox::mousePressEvent
+176 (int (*)(...))QGroupBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QGroupBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QGroupBox::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGroupBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGroupBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QGroupBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QGroupBox)
+448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGroupBox
+ size=48 align=8
+ base size=48 base align=8
+QGroupBox (0x0x7ff86b53c208) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x0x7ff86ec56700) 0
+ primary-for QGroupBox (0x0x7ff86b53c208)
+ QObject (0x0x7ff86a1329c0) 0
+ primary-for QWidget (0x0x7ff86ec56700)
+ QPaintDevice (0x0x7ff86a132ae0) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 448u)
+
+Class QHeaderView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHeaderView::QPrivateSignal (0x0x7ff869ada1e0) 0 empty
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 108u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 (int (*)(...))QHeaderView::metaObject
+24 (int (*)(...))QHeaderView::qt_metacast
+32 (int (*)(...))QHeaderView::qt_metacall
+40 (int (*)(...))QHeaderView::~QHeaderView
+48 (int (*)(...))QHeaderView::~QHeaderView
+56 (int (*)(...))QHeaderView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QHeaderView::setVisible
+128 (int (*)(...))QHeaderView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QHeaderView::mousePressEvent
+176 (int (*)(...))QHeaderView::mouseReleaseEvent
+184 (int (*)(...))QHeaderView::mouseDoubleClickEvent
+192 (int (*)(...))QHeaderView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QHeaderView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QHeaderView::viewportEvent
+448 (int (*)(...))QHeaderView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QHeaderView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QHeaderView::visualRect
+496 (int (*)(...))QHeaderView::scrollTo
+504 (int (*)(...))QHeaderView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QHeaderView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QHeaderView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QHeaderView::dataChanged
+568 (int (*)(...))QHeaderView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QHeaderView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QHeaderView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QHeaderView::moveCursor
+688 (int (*)(...))QHeaderView::horizontalOffset
+696 (int (*)(...))QHeaderView::verticalOffset
+704 (int (*)(...))QHeaderView::isIndexHidden
+712 (int (*)(...))QHeaderView::setSelection
+720 (int (*)(...))QHeaderView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QHeaderView::paintSection
+776 (int (*)(...))QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QHeaderView
+ size=48 align=8
+ base size=48 base align=8
+QHeaderView (0x0x7ff86b53c270) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x0x7ff86b53cdd0) 0
+ primary-for QHeaderView (0x0x7ff86b53c270)
+ QAbstractScrollArea (0x0x7ff86b53ce38) 0
+ primary-for QAbstractItemView (0x0x7ff86b53cdd0)
+ QFrame (0x0x7ff86b559000) 0
+ primary-for QAbstractScrollArea (0x0x7ff86b53ce38)
+ QWidget (0x0x7ff86ec56c40) 0
+ primary-for QFrame (0x0x7ff86b559000)
+ QObject (0x0x7ff869e52660) 0
+ primary-for QWidget (0x0x7ff86ec56c40)
+ QPaintDevice (0x0x7ff869e526c0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Class QLineEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLineEdit::QPrivateSignal (0x0x7ff8698a1c60) 0 empty
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 (int (*)(...))QLineEdit::metaObject
+24 (int (*)(...))QLineEdit::qt_metacast
+32 (int (*)(...))QLineEdit::qt_metacall
+40 (int (*)(...))QLineEdit::~QLineEdit
+48 (int (*)(...))QLineEdit::~QLineEdit
+56 (int (*)(...))QLineEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLineEdit::sizeHint
+136 (int (*)(...))QLineEdit::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLineEdit::mousePressEvent
+176 (int (*)(...))QLineEdit::mouseReleaseEvent
+184 (int (*)(...))QLineEdit::mouseDoubleClickEvent
+192 (int (*)(...))QLineEdit::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLineEdit::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLineEdit::focusInEvent
+232 (int (*)(...))QLineEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLineEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLineEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QLineEdit::dragEnterEvent
+320 (int (*)(...))QLineEdit::dragMoveEvent
+328 (int (*)(...))QLineEdit::dragLeaveEvent
+336 (int (*)(...))QLineEdit::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLineEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QLineEdit::inputMethodEvent
+416 (int (*)(...))QLineEdit::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QLineEdit)
+448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev
+456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLineEdit
+ size=48 align=8
+ base size=48 base align=8
+QLineEdit (0x0x7ff86b140af8) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x0x7ff86ec68a80) 0
+ primary-for QLineEdit (0x0x7ff86b140af8)
+ QObject (0x0x7ff8698a1540) 0
+ primary-for QWidget (0x0x7ff86ec68a80)
+ QPaintDevice (0x0x7ff8698a1c00) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 448u)
+
+Class QInputDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputDialog::QPrivateSignal (0x0x7ff8698caba0) 0 empty
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 (int (*)(...))QInputDialog::metaObject
+24 (int (*)(...))QInputDialog::qt_metacast
+32 (int (*)(...))QInputDialog::qt_metacall
+40 (int (*)(...))QInputDialog::~QInputDialog
+48 (int (*)(...))QInputDialog::~QInputDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QInputDialog::setVisible
+128 (int (*)(...))QInputDialog::sizeHint
+136 (int (*)(...))QInputDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QInputDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QInputDialog
+ size=48 align=8
+ base size=48 base align=8
+QInputDialog (0x0x7ff86b140b60) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x0x7ff86af033a8) 0
+ primary-for QInputDialog (0x0x7ff86b140b60)
+ QWidget (0x0x7ff86ec74380) 0
+ primary-for QDialog (0x0x7ff86af033a8)
+ QObject (0x0x7ff8698ca420) 0
+ primary-for QWidget (0x0x7ff86ec74380)
+ QPaintDevice (0x0x7ff8698ca480) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Class QItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemDelegate::QPrivateSignal (0x0x7ff86968ba80) 0 empty
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 (int (*)(...))QItemDelegate::metaObject
+24 (int (*)(...))QItemDelegate::qt_metacast
+32 (int (*)(...))QItemDelegate::qt_metacall
+40 (int (*)(...))QItemDelegate::~QItemDelegate
+48 (int (*)(...))QItemDelegate::~QItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemDelegate::paint
+120 (int (*)(...))QItemDelegate::sizeHint
+128 (int (*)(...))QItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QItemDelegate::setEditorData
+152 (int (*)(...))QItemDelegate::setModelData
+160 (int (*)(...))QItemDelegate::updateEditorGeometry
+168 (int (*)(...))QItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QItemDelegate::drawDisplay
+200 (int (*)(...))QItemDelegate::drawDecoration
+208 (int (*)(...))QItemDelegate::drawFocus
+216 (int (*)(...))QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x0x7ff86aab2068) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x0x7ff86aab2af8) 0
+ primary-for QItemDelegate (0x0x7ff86aab2068)
+ QObject (0x0x7ff86968b9c0) 0
+ primary-for QAbstractItemDelegate (0x0x7ff86aab2af8)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x0x7ff86968bba0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+32 (int (*)(...))QItemEditorFactory::createEditor
+40 (int (*)(...))QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x0x7ff86968bd20) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Class QKeyEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeyEventTransition::QPrivateSignal (0x0x7ff8696ab0c0) 0 empty
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 (int (*)(...))QKeyEventTransition::metaObject
+24 (int (*)(...))QKeyEventTransition::qt_metacast
+32 (int (*)(...))QKeyEventTransition::qt_metacall
+40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QKeyEventTransition::eventTest
+120 (int (*)(...))QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x0x7ff86aad67b8) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x0x7ff86aad6b60) 0
+ primary-for QKeyEventTransition (0x0x7ff86aad67b8)
+ QAbstractTransition (0x0x7ff86aad6bc8) 0
+ primary-for QEventTransition (0x0x7ff86aad6b60)
+ QObject (0x0x7ff8696ab000) 0
+ primary-for QAbstractTransition (0x0x7ff86aad6bc8)
+
+Class QKeySequenceEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeySequenceEdit::QPrivateSignal (0x0x7ff8692a6a80) 0 empty
+
+Vtable for QKeySequenceEdit
+QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+16 (int (*)(...))QKeySequenceEdit::metaObject
+24 (int (*)(...))QKeySequenceEdit::qt_metacast
+32 (int (*)(...))QKeySequenceEdit::qt_metacall
+40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+56 (int (*)(...))QKeySequenceEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QKeySequenceEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QKeySequenceEdit::keyPressEvent
+216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev
+456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QKeySequenceEdit
+ size=48 align=8
+ base size=48 base align=8
+QKeySequenceEdit (0x0x7ff86aaf1750) 0
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16u)
+ QWidget (0x0x7ff86eca7690) 0
+ primary-for QKeySequenceEdit (0x0x7ff86aaf1750)
+ QObject (0x0x7ff8695ecf00) 0
+ primary-for QWidget (0x0x7ff86eca7690)
+ QPaintDevice (0x0x7ff8695ecf60) 16
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448u)
+
+Class QLabel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLabel::QPrivateSignal (0x0x7ff8692cd720) 0 empty
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 (int (*)(...))QLabel::metaObject
+24 (int (*)(...))QLabel::qt_metacast
+32 (int (*)(...))QLabel::qt_metacall
+40 (int (*)(...))QLabel::~QLabel
+48 (int (*)(...))QLabel::~QLabel
+56 (int (*)(...))QLabel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLabel::sizeHint
+136 (int (*)(...))QLabel::minimumSizeHint
+144 (int (*)(...))QLabel::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLabel::mousePressEvent
+176 (int (*)(...))QLabel::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QLabel::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLabel::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLabel::focusInEvent
+232 (int (*)(...))QLabel::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLabel::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLabel::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLabel::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QLabel::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QLabel)
+448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev
+456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLabel
+ size=48 align=8
+ base size=48 base align=8
+QLabel (0x0x7ff86aaf17b8) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x0x7ff86ab13548) 0
+ primary-for QLabel (0x0x7ff86aaf17b8)
+ QWidget (0x0x7ff86eca7af0) 0
+ primary-for QFrame (0x0x7ff86ab13548)
+ QObject (0x0x7ff8692a6ae0) 0
+ primary-for QWidget (0x0x7ff86eca7af0)
+ QPaintDevice (0x0x7ff8692cd6c0) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 448u)
+
+Class QLCDNumber::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLCDNumber::QPrivateSignal (0x0x7ff8690fcd80) 0 empty
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 (int (*)(...))QLCDNumber::metaObject
+24 (int (*)(...))QLCDNumber::qt_metacast
+32 (int (*)(...))QLCDNumber::qt_metacall
+40 (int (*)(...))QLCDNumber::~QLCDNumber
+48 (int (*)(...))QLCDNumber::~QLCDNumber
+56 (int (*)(...))QLCDNumber::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLCDNumber::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLCDNumber::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QLCDNumber)
+448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLCDNumber
+ size=48 align=8
+ base size=48 base align=8
+QLCDNumber (0x0x7ff86ab136e8) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x0x7ff86ab13750) 0
+ primary-for QLCDNumber (0x0x7ff86ab136e8)
+ QWidget (0x0x7ff86eca7ee0) 0
+ primary-for QFrame (0x0x7ff86ab13750)
+ QObject (0x0x7ff8690fc900) 0
+ primary-for QWidget (0x0x7ff86eca7ee0)
+ QPaintDevice (0x0x7ff8690fc960) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448u)
+
+Class QListView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListView::QPrivateSignal (0x0x7ff868e1b180) 0 empty
+
+Vtable for QListView
+QListView::_ZTV9QListView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 (int (*)(...))QListView::metaObject
+24 (int (*)(...))QListView::qt_metacast
+32 (int (*)(...))QListView::qt_metacall
+40 (int (*)(...))QListView::~QListView
+48 (int (*)(...))QListView::~QListView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QListView)
+784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev
+792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListView
+ size=48 align=8
+ base size=48 base align=8
+QListView (0x0x7ff86ab137b8) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x0x7ff86a79b7b8) 0
+ primary-for QListView (0x0x7ff86ab137b8)
+ QAbstractScrollArea (0x0x7ff86a53a3a8) 0
+ primary-for QAbstractItemView (0x0x7ff86a79b7b8)
+ QFrame (0x0x7ff86a53a548) 0
+ primary-for QAbstractScrollArea (0x0x7ff86a53a3a8)
+ QWidget (0x0x7ff86e8d0770) 0
+ primary-for QFrame (0x0x7ff86a53a548)
+ QObject (0x0x7ff8690fcde0) 0
+ primary-for QWidget (0x0x7ff86e8d0770)
+ QPaintDevice (0x0x7ff868e1b120) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 (int (*)(...))QListWidgetItem::~QListWidgetItem
+24 (int (*)(...))QListWidgetItem::~QListWidgetItem
+32 (int (*)(...))QListWidgetItem::clone
+40 (int (*)(...))QListWidgetItem::setBackgroundColor
+48 (int (*)(...))QListWidgetItem::data
+56 (int (*)(...))QListWidgetItem::setData
+64 (int (*)(...))QListWidgetItem::operator<
+72 (int (*)(...))QListWidgetItem::read
+80 (int (*)(...))QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x0x7ff868e1b300) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Class QListWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListWidget::QPrivateSignal (0x0x7ff868e3f180) 0 empty
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 110u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 (int (*)(...))QListWidget::metaObject
+24 (int (*)(...))QListWidget::qt_metacast
+32 (int (*)(...))QListWidget::qt_metacall
+40 (int (*)(...))QListWidget::~QListWidget
+48 (int (*)(...))QListWidget::~QListWidget
+56 (int (*)(...))QListWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QListWidget::setModel
+472 (int (*)(...))QListWidget::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))QListWidget::mimeTypes
+776 (int (*)(...))QListWidget::mimeData
+784 (int (*)(...))QListWidget::dropMimeData
+792 (int (*)(...))QListWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListWidget
+ size=48 align=8
+ base size=48 base align=8
+QListWidget (0x0x7ff86a53a888) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x0x7ff86a366af8) 0
+ primary-for QListWidget (0x0x7ff86a53a888)
+ QAbstractItemView (0x0x7ff86a366b60) 0
+ primary-for QListView (0x0x7ff86a366af8)
+ QAbstractScrollArea (0x0x7ff86a3eb6e8) 0
+ primary-for QAbstractItemView (0x0x7ff86a366b60)
+ QFrame (0x0x7ff86a42e478) 0
+ primary-for QAbstractScrollArea (0x0x7ff86a3eb6e8)
+ QWidget (0x0x7ff86e98d380) 0
+ primary-for QFrame (0x0x7ff86a42e478)
+ QObject (0x0x7ff868e1b540) 0
+ primary-for QWidget (0x0x7ff86e98d380)
+ QPaintDevice (0x0x7ff868e3f120) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Class QMainWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMainWindow::QPrivateSignal (0x0x7ff868e64000) 0 empty
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 (int (*)(...))QMainWindow::metaObject
+24 (int (*)(...))QMainWindow::qt_metacast
+32 (int (*)(...))QMainWindow::qt_metacall
+40 (int (*)(...))QMainWindow::~QMainWindow
+48 (int (*)(...))QMainWindow::~QMainWindow
+56 (int (*)(...))QMainWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QMainWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMainWindow::createPopupMenu
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI11QMainWindow)
+456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev
+464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMainWindow
+ size=48 align=8
+ base size=48 base align=8
+QMainWindow (0x0x7ff86a42e4e0) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x0x7ff86e98dd20) 0
+ primary-for QMainWindow (0x0x7ff86a42e4e0)
+ QObject (0x0x7ff868e3fd20) 0
+ primary-for QWidget (0x0x7ff86e98dd20)
+ QPaintDevice (0x0x7ff868e3fd80) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 456u)
+
+Class QMdiArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiArea::QPrivateSignal (0x0x7ff868d01f00) 0 empty
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 (int (*)(...))QMdiArea::metaObject
+24 (int (*)(...))QMdiArea::qt_metacast
+32 (int (*)(...))QMdiArea::qt_metacall
+40 (int (*)(...))QMdiArea::~QMdiArea
+48 (int (*)(...))QMdiArea::~QMdiArea
+56 (int (*)(...))QMdiArea::event
+64 (int (*)(...))QMdiArea::eventFilter
+72 (int (*)(...))QMdiArea::timerEvent
+80 (int (*)(...))QMdiArea::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiArea::sizeHint
+136 (int (*)(...))QMdiArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QMdiArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMdiArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QMdiArea::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMdiArea::setupViewport
+440 (int (*)(...))QMdiArea::viewportEvent
+448 (int (*)(...))QMdiArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiArea
+ size=48 align=8
+ base size=48 base align=8
+QMdiArea (0x0x7ff86a42e8f0) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x0x7ff86a42ebc8) 0
+ primary-for QMdiArea (0x0x7ff86a42e8f0)
+ QFrame (0x0x7ff86a070dd0) 0
+ primary-for QAbstractScrollArea (0x0x7ff86a42ebc8)
+ QWidget (0x0x7ff86e9c7150) 0
+ primary-for QFrame (0x0x7ff86a070dd0)
+ QObject (0x0x7ff868d01c60) 0
+ primary-for QWidget (0x0x7ff86e9c7150)
+ QPaintDevice (0x0x7ff868d01d20) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Class QMdiSubWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiSubWindow::QPrivateSignal (0x0x7ff868d43de0) 0 empty
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 (int (*)(...))QMdiSubWindow::metaObject
+24 (int (*)(...))QMdiSubWindow::qt_metacast
+32 (int (*)(...))QMdiSubWindow::qt_metacall
+40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+56 (int (*)(...))QMdiSubWindow::event
+64 (int (*)(...))QMdiSubWindow::eventFilter
+72 (int (*)(...))QMdiSubWindow::timerEvent
+80 (int (*)(...))QMdiSubWindow::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiSubWindow::sizeHint
+136 (int (*)(...))QMdiSubWindow::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMdiSubWindow::mousePressEvent
+176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent
+184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent
+192 (int (*)(...))QMdiSubWindow::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMdiSubWindow::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMdiSubWindow::focusInEvent
+232 (int (*)(...))QMdiSubWindow::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMdiSubWindow::leaveEvent
+256 (int (*)(...))QMdiSubWindow::paintEvent
+264 (int (*)(...))QMdiSubWindow::moveEvent
+272 (int (*)(...))QMdiSubWindow::resizeEvent
+280 (int (*)(...))QMdiSubWindow::closeEvent
+288 (int (*)(...))QMdiSubWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMdiSubWindow::showEvent
+352 (int (*)(...))QMdiSubWindow::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMdiSubWindow::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI13QMdiSubWindow)
+448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiSubWindow
+ size=48 align=8
+ base size=48 base align=8
+QMdiSubWindow (0x0x7ff86a11b680) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x0x7ff86ea5f3f0) 0
+ primary-for QMdiSubWindow (0x0x7ff86a11b680)
+ QObject (0x0x7ff868d43b40) 0
+ primary-for QWidget (0x0x7ff86ea5f3f0)
+ QPaintDevice (0x0x7ff868d43d80) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448u)
+
+Class QMenu::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenu::QPrivateSignal (0x0x7ff868a919c0) 0 empty
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 (int (*)(...))QMenu::metaObject
+24 (int (*)(...))QMenu::qt_metacast
+32 (int (*)(...))QMenu::qt_metacall
+40 (int (*)(...))QMenu::~QMenu
+48 (int (*)(...))QMenu::~QMenu
+56 (int (*)(...))QMenu::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QMenu::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMenu::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenu::mousePressEvent
+176 (int (*)(...))QMenu::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenu::mouseMoveEvent
+200 (int (*)(...))QMenu::wheelEvent
+208 (int (*)(...))QMenu::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QMenu::enterEvent
+248 (int (*)(...))QMenu::leaveEvent
+256 (int (*)(...))QMenu::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenu::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QMenu::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenu::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QMenu::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI5QMenu)
+448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev
+456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenu
+ size=48 align=8
+ base size=48 base align=8
+QMenu (0x0x7ff86a11bd68) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x0x7ff86ea6d380) 0
+ primary-for QMenu (0x0x7ff86a11bd68)
+ QObject (0x0x7ff868a915a0) 0
+ primary-for QWidget (0x0x7ff86ea6d380)
+ QPaintDevice (0x0x7ff868a91960) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 448u)
+
+Class QMenuBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenuBar::QPrivateSignal (0x0x7ff868ab75a0) 0 empty
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 (int (*)(...))QMenuBar::metaObject
+24 (int (*)(...))QMenuBar::qt_metacast
+32 (int (*)(...))QMenuBar::qt_metacall
+40 (int (*)(...))QMenuBar::~QMenuBar
+48 (int (*)(...))QMenuBar::~QMenuBar
+56 (int (*)(...))QMenuBar::event
+64 (int (*)(...))QMenuBar::eventFilter
+72 (int (*)(...))QMenuBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QMenuBar::setVisible
+128 (int (*)(...))QMenuBar::sizeHint
+136 (int (*)(...))QMenuBar::minimumSizeHint
+144 (int (*)(...))QMenuBar::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenuBar::mousePressEvent
+176 (int (*)(...))QMenuBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenuBar::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMenuBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMenuBar::focusInEvent
+232 (int (*)(...))QMenuBar::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMenuBar::leaveEvent
+256 (int (*)(...))QMenuBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMenuBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenuBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenuBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QMenuBar)
+448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev
+456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenuBar
+ size=48 align=8
+ base size=48 base align=8
+QMenuBar (0x0x7ff86a11bea0) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x0x7ff86ea6dc40) 0
+ primary-for QMenuBar (0x0x7ff86a11bea0)
+ QObject (0x0x7ff868a91f00) 0
+ primary-for QWidget (0x0x7ff86ea6dc40)
+ QPaintDevice (0x0x7ff868a91f60) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 448u)
+
+Class QMessageBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMessageBox::QPrivateSignal (0x0x7ff868ab7ea0) 0 empty
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 (int (*)(...))QMessageBox::metaObject
+24 (int (*)(...))QMessageBox::qt_metacast
+32 (int (*)(...))QMessageBox::qt_metacall
+40 (int (*)(...))QMessageBox::~QMessageBox
+48 (int (*)(...))QMessageBox::~QMessageBox
+56 (int (*)(...))QMessageBox::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMessageBox::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMessageBox::resizeEvent
+280 (int (*)(...))QMessageBox::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMessageBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMessageBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMessageBox
+ size=48 align=8
+ base size=48 base align=8
+QMessageBox (0x0x7ff86a17c000) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x0x7ff86a17c068) 0
+ primary-for QMessageBox (0x0x7ff86a17c000)
+ QWidget (0x0x7ff86ea80690) 0
+ primary-for QDialog (0x0x7ff86a17c068)
+ QObject (0x0x7ff868ab7600) 0
+ primary-for QWidget (0x0x7ff86ea80690)
+ QPaintDevice (0x0x7ff868ab7e40) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Class QMouseEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMouseEventTransition::QPrivateSignal (0x0x7ff868b0a600) 0 empty
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 (int (*)(...))QMouseEventTransition::metaObject
+24 (int (*)(...))QMouseEventTransition::qt_metacast
+32 (int (*)(...))QMouseEventTransition::qt_metacall
+40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMouseEventTransition::eventTest
+120 (int (*)(...))QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x0x7ff869f1aa28) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x0x7ff86a0427b8) 0
+ primary-for QMouseEventTransition (0x0x7ff869f1aa28)
+ QAbstractTransition (0x0x7ff86a042a28) 0
+ primary-for QEventTransition (0x0x7ff86a0427b8)
+ QObject (0x0x7ff868b0a5a0) 0
+ primary-for QAbstractTransition (0x0x7ff86a042a28)
+
+Class QOpenGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWidget::QPrivateSignal (0x0x7ff868b0a8a0) 0 empty
+
+Vtable for QOpenGLWidget
+QOpenGLWidget::_ZTV13QOpenGLWidget: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWidget)
+16 (int (*)(...))QOpenGLWidget::metaObject
+24 (int (*)(...))QOpenGLWidget::qt_metacast
+32 (int (*)(...))QOpenGLWidget::qt_metacall
+40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+56 (int (*)(...))QOpenGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QOpenGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QOpenGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QOpenGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QOpenGLWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QOpenGLWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QOpenGLWidget::initializeGL
+440 (int (*)(...))QOpenGLWidget::resizeGL
+448 (int (*)(...))QOpenGLWidget::paintGL
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI13QOpenGLWidget)
+472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev
+480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv
+504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QOpenGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLWidget (0x0x7ff86a042e38) 0
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16u)
+ QWidget (0x0x7ff86e89a540) 0
+ primary-for QOpenGLWidget (0x0x7ff86a042e38)
+ QObject (0x0x7ff868b0a780) 0
+ primary-for QWidget (0x0x7ff86e89a540)
+ QPaintDevice (0x0x7ff868b0a7e0) 16
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472u)
+
+Class QTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextEdit::QPrivateSignal (0x0x7ff868b0aa80) 0 empty
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x0x7ff868b0aae0) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 (int (*)(...))QTextEdit::metaObject
+24 (int (*)(...))QTextEdit::qt_metacast
+32 (int (*)(...))QTextEdit::qt_metacall
+40 (int (*)(...))QTextEdit::~QTextEdit
+48 (int (*)(...))QTextEdit::~QTextEdit
+56 (int (*)(...))QTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextEdit::mousePressEvent
+176 (int (*)(...))QTextEdit::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextEdit::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextEdit::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextEdit::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI9QTextEdit)
+520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev
+528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QTextEdit (0x0x7ff869ac2340) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x0x7ff869ac23a8) 0
+ primary-for QTextEdit (0x0x7ff869ac2340)
+ QFrame (0x0x7ff869ac2680) 0
+ primary-for QAbstractScrollArea (0x0x7ff869ac23a8)
+ QWidget (0x0x7ff86e89aa80) 0
+ primary-for QFrame (0x0x7ff869ac2680)
+ QObject (0x0x7ff868b0a960) 0
+ primary-for QWidget (0x0x7ff86e89aa80)
+ QPaintDevice (0x0x7ff868b0a9c0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 520u)
+
+Class QPlainTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextEdit::QPrivateSignal (0x0x7ff868b57000) 0 empty
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 (int (*)(...))QPlainTextEdit::metaObject
+24 (int (*)(...))QPlainTextEdit::qt_metacast
+32 (int (*)(...))QPlainTextEdit::qt_metacall
+40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+56 (int (*)(...))QPlainTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QPlainTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QPlainTextEdit::mousePressEvent
+176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent
+184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QPlainTextEdit::mouseMoveEvent
+200 (int (*)(...))QPlainTextEdit::wheelEvent
+208 (int (*)(...))QPlainTextEdit::keyPressEvent
+216 (int (*)(...))QPlainTextEdit::keyReleaseEvent
+224 (int (*)(...))QPlainTextEdit::focusInEvent
+232 (int (*)(...))QPlainTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPlainTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QPlainTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QPlainTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QPlainTextEdit::dragEnterEvent
+320 (int (*)(...))QPlainTextEdit::dragMoveEvent
+328 (int (*)(...))QPlainTextEdit::dragLeaveEvent
+336 (int (*)(...))QPlainTextEdit::dropEvent
+344 (int (*)(...))QPlainTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QPlainTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QPlainTextEdit::inputMethodEvent
+416 (int (*)(...))QPlainTextEdit::inputMethodQuery
+424 (int (*)(...))QPlainTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QPlainTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QPlainTextEdit::loadResource
+472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData
+488 (int (*)(...))QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))QPlainTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI14QPlainTextEdit)
+520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPlainTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QPlainTextEdit (0x0x7ff869ac28f0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x0x7ff869ac2a90) 0
+ primary-for QPlainTextEdit (0x0x7ff869ac28f0)
+ QFrame (0x0x7ff869ac2af8) 0
+ primary-for QAbstractScrollArea (0x0x7ff869ac2a90)
+ QWidget (0x0x7ff86e539000) 0
+ primary-for QFrame (0x0x7ff869ac2af8)
+ QObject (0x0x7ff868b32e40) 0
+ primary-for QWidget (0x0x7ff86e539000)
+ QPaintDevice (0x0x7ff868b32ea0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520u)
+
+Class QPlainTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextDocumentLayout::QPrivateSignal (0x0x7ff868b572a0) 0 empty
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 (int (*)(...))QPlainTextDocumentLayout::metaObject
+24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast
+32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall
+40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPlainTextDocumentLayout::draw
+120 (int (*)(...))QPlainTextDocumentLayout::hitTest
+128 (int (*)(...))QPlainTextDocumentLayout::pageCount
+136 (int (*)(...))QPlainTextDocumentLayout::documentSize
+144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect
+152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect
+160 (int (*)(...))QPlainTextDocumentLayout::documentChanged
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x0x7ff869ac2b60) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x0x7ff869ae4a90) 0
+ primary-for QPlainTextDocumentLayout (0x0x7ff869ac2b60)
+ QObject (0x0x7ff868b57060) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7ff869ae4a90)
+
+Class QProgressBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressBar::QPrivateSignal (0x0x7ff868b57d80) 0 empty
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 (int (*)(...))QProgressBar::metaObject
+24 (int (*)(...))QProgressBar::qt_metacast
+32 (int (*)(...))QProgressBar::qt_metacall
+40 (int (*)(...))QProgressBar::~QProgressBar
+48 (int (*)(...))QProgressBar::~QProgressBar
+56 (int (*)(...))QProgressBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QProgressBar::sizeHint
+136 (int (*)(...))QProgressBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QProgressBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QProgressBar::text
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI12QProgressBar)
+456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev
+464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressBar
+ size=48 align=8
+ base size=48 base align=8
+QProgressBar (0x0x7ff869ae4af8) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x0x7ff86e555a80) 0
+ primary-for QProgressBar (0x0x7ff869ae4af8)
+ QObject (0x0x7ff868b57300) 0
+ primary-for QWidget (0x0x7ff86e555a80)
+ QPaintDevice (0x0x7ff868b57d20) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 456u)
+
+Class QProgressDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressDialog::QPrivateSignal (0x0x7ff868b790c0) 0 empty
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 (int (*)(...))QProgressDialog::metaObject
+24 (int (*)(...))QProgressDialog::qt_metacast
+32 (int (*)(...))QProgressDialog::qt_metacall
+40 (int (*)(...))QProgressDialog::~QProgressDialog
+48 (int (*)(...))QProgressDialog::~QProgressDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QProgressDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QProgressDialog::resizeEvent
+280 (int (*)(...))QProgressDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QProgressDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QProgressDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressDialog
+ size=48 align=8
+ base size=48 base align=8
+QProgressDialog (0x0x7ff869ae4bc8) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x0x7ff869ae4c30) 0
+ primary-for QProgressDialog (0x0x7ff869ae4bc8)
+ QWidget (0x0x7ff86e555f50) 0
+ primary-for QDialog (0x0x7ff869ae4c30)
+ QObject (0x0x7ff868b57e40) 0
+ primary-for QWidget (0x0x7ff86e555f50)
+ QPaintDevice (0x0x7ff868b79060) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Class QProxyStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProxyStyle::QPrivateSignal (0x0x7ff868b79c60) 0 empty
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 (int (*)(...))QProxyStyle::metaObject
+24 (int (*)(...))QProxyStyle::qt_metacast
+32 (int (*)(...))QProxyStyle::qt_metacall
+40 (int (*)(...))QProxyStyle::~QProxyStyle
+48 (int (*)(...))QProxyStyle::~QProxyStyle
+56 (int (*)(...))QProxyStyle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProxyStyle::polish
+120 (int (*)(...))QProxyStyle::unpolish
+128 (int (*)(...))QProxyStyle::polish
+136 (int (*)(...))QProxyStyle::unpolish
+144 (int (*)(...))QProxyStyle::polish
+152 (int (*)(...))QProxyStyle::itemTextRect
+160 (int (*)(...))QProxyStyle::itemPixmapRect
+168 (int (*)(...))QProxyStyle::drawItemText
+176 (int (*)(...))QProxyStyle::drawItemPixmap
+184 (int (*)(...))QProxyStyle::standardPalette
+192 (int (*)(...))QProxyStyle::drawPrimitive
+200 (int (*)(...))QProxyStyle::drawControl
+208 (int (*)(...))QProxyStyle::subElementRect
+216 (int (*)(...))QProxyStyle::drawComplexControl
+224 (int (*)(...))QProxyStyle::hitTestComplexControl
+232 (int (*)(...))QProxyStyle::subControlRect
+240 (int (*)(...))QProxyStyle::pixelMetric
+248 (int (*)(...))QProxyStyle::sizeFromContents
+256 (int (*)(...))QProxyStyle::styleHint
+264 (int (*)(...))QProxyStyle::standardPixmap
+272 (int (*)(...))QProxyStyle::standardIcon
+280 (int (*)(...))QProxyStyle::generatedIconPixmap
+288 (int (*)(...))QProxyStyle::layoutSpacing
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x0x7ff869ae4f70) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x0x7ff869aff000) 0
+ primary-for QProxyStyle (0x0x7ff869ae4f70)
+ QStyle (0x0x7ff869aff618) 0
+ primary-for QCommonStyle (0x0x7ff869aff000)
+ QObject (0x0x7ff868b79c00) 0
+ primary-for QStyle (0x0x7ff869aff618)
+
+Class QRadioButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRadioButton::QPrivateSignal (0x0x7ff868ba96c0) 0 empty
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 (int (*)(...))QRadioButton::metaObject
+24 (int (*)(...))QRadioButton::qt_metacast
+32 (int (*)(...))QRadioButton::qt_metacall
+40 (int (*)(...))QRadioButton::~QRadioButton
+48 (int (*)(...))QRadioButton::~QRadioButton
+56 (int (*)(...))QRadioButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QRadioButton::sizeHint
+136 (int (*)(...))QRadioButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QRadioButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRadioButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QRadioButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI12QRadioButton)
+472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRadioButton
+ size=48 align=8
+ base size=48 base align=8
+QRadioButton (0x0x7ff869aff680) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x0x7ff869aff9c0) 0
+ primary-for QRadioButton (0x0x7ff869aff680)
+ QWidget (0x0x7ff86e5b0620) 0
+ primary-for QAbstractButton (0x0x7ff869aff9c0)
+ QObject (0x0x7ff868ba95a0) 0
+ primary-for QWidget (0x0x7ff86e5b0620)
+ QPaintDevice (0x0x7ff868ba9600) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 472u)
+
+Class QScrollBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollBar::QPrivateSignal (0x0x7ff868ba9f60) 0 empty
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 (int (*)(...))QScrollBar::metaObject
+24 (int (*)(...))QScrollBar::qt_metacast
+32 (int (*)(...))QScrollBar::qt_metacall
+40 (int (*)(...))QScrollBar::~QScrollBar
+48 (int (*)(...))QScrollBar::~QScrollBar
+56 (int (*)(...))QScrollBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollBar::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QScrollBar::mousePressEvent
+176 (int (*)(...))QScrollBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QScrollBar::mouseMoveEvent
+200 (int (*)(...))QScrollBar::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QScrollBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QScrollBar::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QScrollBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QScrollBar::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI10QScrollBar)
+456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev
+464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollBar
+ size=48 align=8
+ base size=48 base align=8
+QScrollBar (0x0x7ff869affa28) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x0x7ff869b18a90) 0
+ primary-for QScrollBar (0x0x7ff869affa28)
+ QWidget (0x0x7ff86e5b09a0) 0
+ primary-for QAbstractSlider (0x0x7ff869b18a90)
+ QObject (0x0x7ff868ba9e40) 0
+ primary-for QWidget (0x0x7ff86e5b09a0)
+ QPaintDevice (0x0x7ff868ba9ea0) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 456u)
+
+Vtable for QScrollerProperties
+QScrollerProperties::_ZTV19QScrollerProperties: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollerProperties)
+16 (int (*)(...))QScrollerProperties::~QScrollerProperties
+24 (int (*)(...))QScrollerProperties::~QScrollerProperties
+
+Class QScrollerProperties
+ size=16 align=8
+ base size=16 base align=8
+QScrollerProperties (0x0x7ff868bcc8a0) 0
+ vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16u)
+
+Class QScroller::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScroller::QPrivateSignal (0x0x7ff868bf96c0) 0 empty
+
+Vtable for QScroller
+QScroller::_ZTV9QScroller: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QScroller)
+16 (int (*)(...))QScroller::metaObject
+24 (int (*)(...))QScroller::qt_metacast
+32 (int (*)(...))QScroller::qt_metacall
+40 (int (*)(...))QScroller::~QScroller
+48 (int (*)(...))QScroller::~QScroller
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScroller
+ size=24 align=8
+ base size=24 base align=8
+QScroller (0x0x7ff869c23d68) 0
+ vptr=((& QScroller::_ZTV9QScroller) + 16u)
+ QObject (0x0x7ff868bf9660) 0
+ primary-for QScroller (0x0x7ff869c23d68)
+
+Class QShortcut::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QShortcut::QPrivateSignal (0x0x7ff86881ea80) 0 empty
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 (int (*)(...))QShortcut::metaObject
+24 (int (*)(...))QShortcut::qt_metacast
+32 (int (*)(...))QShortcut::qt_metacall
+40 (int (*)(...))QShortcut::~QShortcut
+48 (int (*)(...))QShortcut::~QShortcut
+56 (int (*)(...))QShortcut::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x0x7ff869c23dd0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x0x7ff86881ea20) 0
+ primary-for QShortcut (0x0x7ff869c23dd0)
+
+Class QSizeGrip::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSizeGrip::QPrivateSignal (0x0x7ff868643f00) 0 empty
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 (int (*)(...))QSizeGrip::metaObject
+24 (int (*)(...))QSizeGrip::qt_metacast
+32 (int (*)(...))QSizeGrip::qt_metacall
+40 (int (*)(...))QSizeGrip::~QSizeGrip
+48 (int (*)(...))QSizeGrip::~QSizeGrip
+56 (int (*)(...))QSizeGrip::event
+64 (int (*)(...))QSizeGrip::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QSizeGrip::setVisible
+128 (int (*)(...))QSizeGrip::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSizeGrip::mousePressEvent
+176 (int (*)(...))QSizeGrip::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSizeGrip::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSizeGrip::paintEvent
+264 (int (*)(...))QSizeGrip::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QSizeGrip::showEvent
+352 (int (*)(...))QSizeGrip::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QSizeGrip)
+448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSizeGrip
+ size=48 align=8
+ base size=48 base align=8
+QSizeGrip (0x0x7ff8698c6340) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x0x7ff86e3752a0) 0
+ primary-for QSizeGrip (0x0x7ff8698c6340)
+ QObject (0x0x7ff8686437e0) 0
+ primary-for QWidget (0x0x7ff86e3752a0)
+ QPaintDevice (0x0x7ff868643840) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448u)
+
+Class QSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSpinBox::QPrivateSignal (0x0x7ff86867c720) 0 empty
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 (int (*)(...))QSpinBox::metaObject
+24 (int (*)(...))QSpinBox::qt_metacast
+32 (int (*)(...))QSpinBox::qt_metacall
+40 (int (*)(...))QSpinBox::~QSpinBox
+48 (int (*)(...))QSpinBox::~QSpinBox
+56 (int (*)(...))QSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSpinBox::validate
+440 (int (*)(...))QSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QSpinBox::valueFromText
+480 (int (*)(...))QSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI8QSpinBox)
+504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QSpinBox (0x0x7ff8698c63a8) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x0x7ff8698c6d00) 0
+ primary-for QSpinBox (0x0x7ff8698c63a8)
+ QWidget (0x0x7ff86e375690) 0
+ primary-for QAbstractSpinBox (0x0x7ff8698c6d00)
+ QObject (0x0x7ff868643f60) 0
+ primary-for QWidget (0x0x7ff86e375690)
+ QPaintDevice (0x0x7ff86867c6c0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 504u)
+
+Class QDoubleSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleSpinBox::QPrivateSignal (0x0x7ff86867cc60) 0 empty
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 (int (*)(...))QDoubleSpinBox::metaObject
+24 (int (*)(...))QDoubleSpinBox::qt_metacast
+32 (int (*)(...))QDoubleSpinBox::qt_metacall
+40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDoubleSpinBox::validate
+440 (int (*)(...))QDoubleSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QDoubleSpinBox::valueFromText
+480 (int (*)(...))QDoubleSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDoubleSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QDoubleSpinBox (0x0x7ff8698c6d68) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x0x7ff869a2d888) 0
+ primary-for QDoubleSpinBox (0x0x7ff8698c6d68)
+ QWidget (0x0x7ff86e3759a0) 0
+ primary-for QAbstractSpinBox (0x0x7ff869a2d888)
+ QObject (0x0x7ff86867cb40) 0
+ primary-for QWidget (0x0x7ff86e3759a0)
+ QPaintDevice (0x0x7ff86867cba0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504u)
+
+Class QSplashScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplashScreen::QPrivateSignal (0x0x7ff86869c8a0) 0 empty
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 (int (*)(...))QSplashScreen::metaObject
+24 (int (*)(...))QSplashScreen::qt_metacast
+32 (int (*)(...))QSplashScreen::qt_metacall
+40 (int (*)(...))QSplashScreen::~QSplashScreen
+48 (int (*)(...))QSplashScreen::~QSplashScreen
+56 (int (*)(...))QSplashScreen::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplashScreen::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplashScreen::drawContents
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI13QSplashScreen)
+456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplashScreen
+ size=48 align=8
+ base size=48 base align=8
+QSplashScreen (0x0x7ff869a2d8f0) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x0x7ff86e375d20) 0
+ primary-for QSplashScreen (0x0x7ff869a2d8f0)
+ QObject (0x0x7ff86867ce40) 0
+ primary-for QWidget (0x0x7ff86e375d20)
+ QPaintDevice (0x0x7ff86867cea0) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456u)
+
+Class QSplitter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitter::QPrivateSignal (0x0x7ff86869ccc0) 0 empty
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 (int (*)(...))QSplitter::metaObject
+24 (int (*)(...))QSplitter::qt_metacast
+32 (int (*)(...))QSplitter::qt_metacall
+40 (int (*)(...))QSplitter::~QSplitter
+48 (int (*)(...))QSplitter::~QSplitter
+56 (int (*)(...))QSplitter::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QSplitter::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitter::sizeHint
+136 (int (*)(...))QSplitter::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitter::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QSplitter::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplitter::createHandle
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI9QSplitter)
+456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev
+464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitter
+ size=48 align=8
+ base size=48 base align=8
+QSplitter (0x0x7ff869a2da90) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x0x7ff869a2dc98) 0
+ primary-for QSplitter (0x0x7ff869a2da90)
+ QWidget (0x0x7ff86e45b150) 0
+ primary-for QFrame (0x0x7ff869a2dc98)
+ QObject (0x0x7ff86869c900) 0
+ primary-for QWidget (0x0x7ff86e45b150)
+ QPaintDevice (0x0x7ff86869cc60) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 456u)
+
+Class QSplitterHandle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitterHandle::QPrivateSignal (0x0x7ff8686c81e0) 0 empty
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 (int (*)(...))QSplitterHandle::metaObject
+24 (int (*)(...))QSplitterHandle::qt_metacast
+32 (int (*)(...))QSplitterHandle::qt_metacall
+40 (int (*)(...))QSplitterHandle::~QSplitterHandle
+48 (int (*)(...))QSplitterHandle::~QSplitterHandle
+56 (int (*)(...))QSplitterHandle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitterHandle::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplitterHandle::mousePressEvent
+176 (int (*)(...))QSplitterHandle::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSplitterHandle::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSplitterHandle::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitterHandle::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI15QSplitterHandle)
+448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitterHandle
+ size=48 align=8
+ base size=48 base align=8
+QSplitterHandle (0x0x7ff869a2dd00) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x0x7ff86e45b460) 0
+ primary-for QSplitterHandle (0x0x7ff869a2dd00)
+ QObject (0x0x7ff8686c8000) 0
+ primary-for QWidget (0x0x7ff86e45b460)
+ QPaintDevice (0x0x7ff8686c8060) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448u)
+
+Class QStackedLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedLayout::QPrivateSignal (0x0x7ff8686c83c0) 0 empty
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 (int (*)(...))QStackedLayout::metaObject
+24 (int (*)(...))QStackedLayout::qt_metacast
+32 (int (*)(...))QStackedLayout::qt_metacall
+40 (int (*)(...))QStackedLayout::~QStackedLayout
+48 (int (*)(...))QStackedLayout::~QStackedLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QStackedLayout::addItem
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QStackedLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QStackedLayout::setGeometry
+168 (int (*)(...))QStackedLayout::itemAt
+176 (int (*)(...))QStackedLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QStackedLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QStackedLayout::sizeHint
+232 (int (*)(...))QStackedLayout::hasHeightForWidth
+240 (int (*)(...))QStackedLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI14QStackedLayout)
+264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv
+344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x0x7ff869679a90) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x0x7ff86e45b770) 0
+ primary-for QStackedLayout (0x0x7ff869679a90)
+ QObject (0x0x7ff8686c8240) 0
+ primary-for QLayout (0x0x7ff86e45b770)
+ QLayoutItem (0x0x7ff8686c8300) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264u)
+
+Class QStackedWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedWidget::QPrivateSignal (0x0x7ff8686c8ea0) 0 empty
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 (int (*)(...))QStackedWidget::metaObject
+24 (int (*)(...))QStackedWidget::qt_metacast
+32 (int (*)(...))QStackedWidget::qt_metacall
+40 (int (*)(...))QStackedWidget::~QStackedWidget
+48 (int (*)(...))QStackedWidget::~QStackedWidget
+56 (int (*)(...))QStackedWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QStackedWidget)
+448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStackedWidget
+ size=48 align=8
+ base size=48 base align=8
+QStackedWidget (0x0x7ff869679af8) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x0x7ff86969f548) 0
+ primary-for QStackedWidget (0x0x7ff869679af8)
+ QWidget (0x0x7ff86e45bc40) 0
+ primary-for QFrame (0x0x7ff86969f548)
+ QObject (0x0x7ff8686c8420) 0
+ primary-for QWidget (0x0x7ff86e45bc40)
+ QPaintDevice (0x0x7ff8686c8e40) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448u)
+
+Class QStatusBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStatusBar::QPrivateSignal (0x0x7ff8686ea2a0) 0 empty
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 (int (*)(...))QStatusBar::metaObject
+24 (int (*)(...))QStatusBar::qt_metacast
+32 (int (*)(...))QStatusBar::qt_metacall
+40 (int (*)(...))QStatusBar::~QStatusBar
+48 (int (*)(...))QStatusBar::~QStatusBar
+56 (int (*)(...))QStatusBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QStatusBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QStatusBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QStatusBar::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QStatusBar)
+448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev
+456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStatusBar
+ size=48 align=8
+ base size=48 base align=8
+QStatusBar (0x0x7ff86969f5b0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x0x7ff86e0fa000) 0
+ primary-for QStatusBar (0x0x7ff86969f5b0)
+ QObject (0x0x7ff8686ea000) 0
+ primary-for QWidget (0x0x7ff86e0fa000)
+ QPaintDevice (0x0x7ff8686ea060) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 448u)
+
+Class QStyledItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyledItemDelegate::QPrivateSignal (0x0x7ff86854a360) 0 empty
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 (int (*)(...))QStyledItemDelegate::metaObject
+24 (int (*)(...))QStyledItemDelegate::qt_metacast
+32 (int (*)(...))QStyledItemDelegate::qt_metacall
+40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QStyledItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyledItemDelegate::paint
+120 (int (*)(...))QStyledItemDelegate::sizeHint
+128 (int (*)(...))QStyledItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QStyledItemDelegate::setEditorData
+152 (int (*)(...))QStyledItemDelegate::setModelData
+160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry
+168 (int (*)(...))QStyledItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QStyledItemDelegate::displayText
+200 (int (*)(...))QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x0x7ff86969f6e8) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x0x7ff86969ff70) 0
+ primary-for QStyledItemDelegate (0x0x7ff86969f6e8)
+ QObject (0x0x7ff8686ea300) 0
+ primary-for QAbstractItemDelegate (0x0x7ff86969ff70)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x0x7ff86854a3c0) 0 empty
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x0x7ff8696be000) 0
+ QPainter (0x0x7ff86854aea0) 0
+
+Class QStylePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStylePlugin::QPrivateSignal (0x0x7ff868584b40) 0 empty
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 (int (*)(...))QStylePlugin::metaObject
+24 (int (*)(...))QStylePlugin::qt_metacast
+32 (int (*)(...))QStylePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QStylePlugin
+ size=16 align=8
+ base size=16 base align=8
+QStylePlugin (0x0x7ff8696be1a0) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x0x7ff868584ae0) 0
+ primary-for QStylePlugin (0x0x7ff8696be1a0)
+
+Class QSystemTrayIcon::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSystemTrayIcon::QPrivateSignal (0x0x7ff8682aaa20) 0 empty
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 (int (*)(...))QSystemTrayIcon::metaObject
+24 (int (*)(...))QSystemTrayIcon::qt_metacast
+32 (int (*)(...))QSystemTrayIcon::qt_metacall
+40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+56 (int (*)(...))QSystemTrayIcon::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x0x7ff8696e0c30) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x0x7ff8682aa9c0) 0
+ primary-for QSystemTrayIcon (0x0x7ff8696e0c30)
+
+Class QTableView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableView::QPrivateSignal (0x0x7ff868342300) 0 empty
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 (int (*)(...))QTableView::metaObject
+24 (int (*)(...))QTableView::qt_metacast
+32 (int (*)(...))QTableView::qt_metacall
+40 (int (*)(...))QTableView::~QTableView
+48 (int (*)(...))QTableView::~QTableView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableView::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI10QTableView)
+784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev
+792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableView
+ size=48 align=8
+ base size=48 base align=8
+QTableView (0x0x7ff8696e0ea0) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x0x7ff86983a5b0) 0
+ primary-for QTableView (0x0x7ff8696e0ea0)
+ QAbstractScrollArea (0x0x7ff86925d4e0) 0
+ primary-for QAbstractItemView (0x0x7ff86983a5b0)
+ QFrame (0x0x7ff86925d548) 0
+ primary-for QAbstractScrollArea (0x0x7ff86925d4e0)
+ QWidget (0x0x7ff86e1e7cb0) 0
+ primary-for QFrame (0x0x7ff86925d548)
+ QObject (0x0x7ff8683421e0) 0
+ primary-for QWidget (0x0x7ff86e1e7cb0)
+ QPaintDevice (0x0x7ff868342240) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x0x7ff868342900) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+32 (int (*)(...))QTableWidgetItem::clone
+40 (int (*)(...))QTableWidgetItem::data
+48 (int (*)(...))QTableWidgetItem::setData
+56 (int (*)(...))QTableWidgetItem::operator<
+64 (int (*)(...))QTableWidgetItem::read
+72 (int (*)(...))QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x0x7ff868342960) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Class QTableWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableWidget::QPrivateSignal (0x0x7ff868363720) 0 empty
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 110u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 (int (*)(...))QTableWidget::metaObject
+24 (int (*)(...))QTableWidget::qt_metacast
+32 (int (*)(...))QTableWidget::qt_metacall
+40 (int (*)(...))QTableWidget::~QTableWidget
+48 (int (*)(...))QTableWidget::~QTableWidget
+56 (int (*)(...))QTableWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTableWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableWidget::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))QTableWidget::mimeTypes
+776 (int (*)(...))QTableWidget::mimeData
+784 (int (*)(...))QTableWidget::dropMimeData
+792 (int (*)(...))QTableWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableWidget
+ size=48 align=8
+ base size=48 base align=8
+QTableWidget (0x0x7ff86925dd68) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x0x7ff86925ddd0) 0
+ primary-for QTableWidget (0x0x7ff86925dd68)
+ QAbstractItemView (0x0x7ff86925df70) 0
+ primary-for QTableView (0x0x7ff86925ddd0)
+ QAbstractScrollArea (0x0x7ff8692ba000) 0
+ primary-for QAbstractItemView (0x0x7ff86925df70)
+ QFrame (0x0x7ff8692ba1a0) 0
+ primary-for QAbstractScrollArea (0x0x7ff8692ba000)
+ QWidget (0x0x7ff86e28f380) 0
+ primary-for QFrame (0x0x7ff8692ba1a0)
+ QObject (0x0x7ff868342d80) 0
+ primary-for QWidget (0x0x7ff86e28f380)
+ QPaintDevice (0x0x7ff8683636c0) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Class QTextBrowser::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBrowser::QPrivateSignal (0x0x7ff86838e4e0) 0 empty
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 78u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 (int (*)(...))QTextBrowser::metaObject
+24 (int (*)(...))QTextBrowser::qt_metacast
+32 (int (*)(...))QTextBrowser::qt_metacall
+40 (int (*)(...))QTextBrowser::~QTextBrowser
+48 (int (*)(...))QTextBrowser::~QTextBrowser
+56 (int (*)(...))QTextBrowser::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextBrowser::mousePressEvent
+176 (int (*)(...))QTextBrowser::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextBrowser::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextBrowser::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextBrowser::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextBrowser::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextBrowser::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextBrowser::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))QTextBrowser::setSource
+512 (int (*)(...))QTextBrowser::backward
+520 (int (*)(...))QTextBrowser::forward
+528 (int (*)(...))QTextBrowser::home
+536 (int (*)(...))QTextBrowser::reload
+544 (int (*)(...))-16
+552 (int (*)(...))(& _ZTI12QTextBrowser)
+560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextBrowser
+ size=48 align=8
+ base size=48 base align=8
+QTextBrowser (0x0x7ff8692ba208) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x0x7ff8692ba270) 0
+ primary-for QTextBrowser (0x0x7ff8692ba208)
+ QAbstractScrollArea (0x0x7ff8692baf70) 0
+ primary-for QTextEdit (0x0x7ff8692ba270)
+ QFrame (0x0x7ff8692dc000) 0
+ primary-for QAbstractScrollArea (0x0x7ff8692baf70)
+ QWidget (0x0x7ff86e28fa80) 0
+ primary-for QFrame (0x0x7ff8692dc000)
+ QObject (0x0x7ff868363a20) 0
+ primary-for QWidget (0x0x7ff86e28fa80)
+ QPaintDevice (0x0x7ff868363a80) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560u)
+
+Class QToolBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBar::QPrivateSignal (0x0x7ff86838ed20) 0 empty
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 (int (*)(...))QToolBar::metaObject
+24 (int (*)(...))QToolBar::qt_metacast
+32 (int (*)(...))QToolBar::qt_metacall
+40 (int (*)(...))QToolBar::~QToolBar
+48 (int (*)(...))QToolBar::~QToolBar
+56 (int (*)(...))QToolBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QToolBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QToolBar)
+448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev
+456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBar
+ size=48 align=8
+ base size=48 base align=8
+QToolBar (0x0x7ff8692dc340) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x0x7ff86e28fd90) 0
+ primary-for QToolBar (0x0x7ff8692dc340)
+ QObject (0x0x7ff86838e540) 0
+ primary-for QWidget (0x0x7ff86e28fd90)
+ QPaintDevice (0x0x7ff86838ecc0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 448u)
+
+Class QToolBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBox::QPrivateSignal (0x0x7ff867df71e0) 0 empty
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 (int (*)(...))QToolBox::metaObject
+24 (int (*)(...))QToolBox::qt_metacast
+32 (int (*)(...))QToolBox::qt_metacall
+40 (int (*)(...))QToolBox::~QToolBox
+48 (int (*)(...))QToolBox::~QToolBox
+56 (int (*)(...))QToolBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QToolBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolBox::itemInserted
+440 (int (*)(...))QToolBox::itemRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI8QToolBox)
+464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev
+472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBox
+ size=48 align=8
+ base size=48 base align=8
+QToolBox (0x0x7ff868e33340) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x0x7ff868e333a8) 0
+ primary-for QToolBox (0x0x7ff868e33340)
+ QWidget (0x0x7ff86e2af000) 0
+ primary-for QFrame (0x0x7ff868e333a8)
+ QObject (0x0x7ff867df70c0) 0
+ primary-for QWidget (0x0x7ff86e2af000)
+ QPaintDevice (0x0x7ff867df7120) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 464u)
+
+Class QToolButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolButton::QPrivateSignal (0x0x7ff867df7de0) 0 empty
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 (int (*)(...))QToolButton::metaObject
+24 (int (*)(...))QToolButton::qt_metacast
+32 (int (*)(...))QToolButton::qt_metacall
+40 (int (*)(...))QToolButton::~QToolButton
+48 (int (*)(...))QToolButton::~QToolButton
+56 (int (*)(...))QToolButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QToolButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QToolButton::sizeHint
+136 (int (*)(...))QToolButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QToolButton::mousePressEvent
+176 (int (*)(...))QToolButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QToolButton::enterEvent
+248 (int (*)(...))QToolButton::leaveEvent
+256 (int (*)(...))QToolButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolButton::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QToolButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QToolButton)
+472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev
+480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolButton
+ size=48 align=8
+ base size=48 base align=8
+QToolButton (0x0x7ff868e33750) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x0x7ff868e337b8) 0
+ primary-for QToolButton (0x0x7ff868e33750)
+ QWidget (0x0x7ff86e2af540) 0
+ primary-for QAbstractButton (0x0x7ff868e337b8)
+ QObject (0x0x7ff867df73c0) 0
+ primary-for QWidget (0x0x7ff86e2af540)
+ QPaintDevice (0x0x7ff867df7420) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 472u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x0x7ff867df7e40) 0 empty
+
+Class QTreeView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeView::QPrivateSignal (0x0x7ff867e1b180) 0 empty
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 108u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 (int (*)(...))QTreeView::metaObject
+24 (int (*)(...))QTreeView::qt_metacast
+32 (int (*)(...))QTreeView::qt_metacall
+40 (int (*)(...))QTreeView::~QTreeView
+48 (int (*)(...))QTreeView::~QTreeView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeView::setModel
+472 (int (*)(...))QTreeView::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeView
+ size=48 align=8
+ base size=48 base align=8
+QTreeView (0x0x7ff868e4d340) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x0x7ff868e4d3a8) 0
+ primary-for QTreeView (0x0x7ff868e4d340)
+ QAbstractScrollArea (0x0x7ff868f59d68) 0
+ primary-for QAbstractItemView (0x0x7ff868e4d3a8)
+ QFrame (0x0x7ff868f83138) 0
+ primary-for QAbstractScrollArea (0x0x7ff868f59d68)
+ QWidget (0x0x7ff86e2afb60) 0
+ primary-for QFrame (0x0x7ff868f83138)
+ QObject (0x0x7ff867df7f00) 0
+ primary-for QWidget (0x0x7ff86e2afb60)
+ QPaintDevice (0x0x7ff867e1b120) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x0x7ff867eda900) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+32 (int (*)(...))QTreeWidgetItem::clone
+40 (int (*)(...))QTreeWidgetItem::data
+48 (int (*)(...))QTreeWidgetItem::setData
+56 (int (*)(...))QTreeWidgetItem::operator<
+64 (int (*)(...))QTreeWidgetItem::read
+72 (int (*)(...))QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x0x7ff8679ec360) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Class QTreeWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeWidget::QPrivateSignal (0x0x7ff867a16de0) 0 empty
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 112u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 (int (*)(...))QTreeWidget::metaObject
+24 (int (*)(...))QTreeWidget::qt_metacast
+32 (int (*)(...))QTreeWidget::qt_metacall
+40 (int (*)(...))QTreeWidget::~QTreeWidget
+48 (int (*)(...))QTreeWidget::~QTreeWidget
+56 (int (*)(...))QTreeWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTreeWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeWidget::setModel
+472 (int (*)(...))QTreeWidget::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))QTreeWidget::mimeTypes
+792 (int (*)(...))QTreeWidget::mimeData
+800 (int (*)(...))QTreeWidget::dropMimeData
+808 (int (*)(...))QTreeWidget::supportedDropActions
+816 (int (*)(...))-16
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeWidget
+ size=48 align=8
+ base size=48 base align=8
+QTreeWidget (0x0x7ff868f83c30) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x0x7ff868f83d00) 0
+ primary-for QTreeWidget (0x0x7ff868f83c30)
+ QAbstractItemView (0x0x7ff868c7eb60) 0
+ primary-for QTreeView (0x0x7ff868f83d00)
+ QAbstractScrollArea (0x0x7ff868c7ebc8) 0
+ primary-for QAbstractItemView (0x0x7ff868c7eb60)
+ QFrame (0x0x7ff868c7ed68) 0
+ primary-for QAbstractScrollArea (0x0x7ff868c7ebc8)
+ QWidget (0x0x7ff86e0a3cb0) 0
+ primary-for QFrame (0x0x7ff868c7ed68)
+ QObject (0x0x7ff867a16cc0) 0
+ primary-for QWidget (0x0x7ff86e0a3cb0)
+ QPaintDevice (0x0x7ff867a16d20) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QUndoGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoGroup::QPrivateSignal (0x0x7ff867a3dba0) 0 empty
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 (int (*)(...))QUndoGroup::metaObject
+24 (int (*)(...))QUndoGroup::qt_metacast
+32 (int (*)(...))QUndoGroup::qt_metacall
+40 (int (*)(...))QUndoGroup::~QUndoGroup
+48 (int (*)(...))QUndoGroup::~QUndoGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x0x7ff868d84f70) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x0x7ff867a3db40) 0
+ primary-for QUndoGroup (0x0x7ff868d84f70)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 (int (*)(...))QUndoCommand::~QUndoCommand
+24 (int (*)(...))QUndoCommand::~QUndoCommand
+32 (int (*)(...))QUndoCommand::undo
+40 (int (*)(...))QUndoCommand::redo
+48 (int (*)(...))QUndoCommand::id
+56 (int (*)(...))QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x0x7ff867a6b2a0) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Class QUndoStack::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoStack::QPrivateSignal (0x0x7ff867a6b7e0) 0 empty
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 (int (*)(...))QUndoStack::metaObject
+24 (int (*)(...))QUndoStack::qt_metacast
+32 (int (*)(...))QUndoStack::qt_metacall
+40 (int (*)(...))QUndoStack::~QUndoStack
+48 (int (*)(...))QUndoStack::~QUndoStack
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x0x7ff868a80000) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x0x7ff867a6b300) 0
+ primary-for QUndoStack (0x0x7ff868a80000)
+
+Class QUndoView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoView::QPrivateSignal (0x0x7ff867a6bde0) 0 empty
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 (int (*)(...))QUndoView::metaObject
+24 (int (*)(...))QUndoView::qt_metacast
+32 (int (*)(...))QUndoView::qt_metacall
+40 (int (*)(...))QUndoView::~QUndoView
+48 (int (*)(...))QUndoView::~QUndoView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QUndoView
+ size=48 align=8
+ base size=48 base align=8
+QUndoView (0x0x7ff868a80068) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x0x7ff868a800d0) 0
+ primary-for QUndoView (0x0x7ff868a80068)
+ QAbstractItemView (0x0x7ff868a80208) 0
+ primary-for QListView (0x0x7ff868a800d0)
+ QAbstractScrollArea (0x0x7ff868a80270) 0
+ primary-for QAbstractItemView (0x0x7ff868a80208)
+ QFrame (0x0x7ff868a807b8) 0
+ primary-for QAbstractScrollArea (0x0x7ff868a80270)
+ QWidget (0x0x7ff86dccee70) 0
+ primary-for QFrame (0x0x7ff868a807b8)
+ QObject (0x0x7ff867a6b840) 0
+ primary-for QWidget (0x0x7ff86dccee70)
+ QPaintDevice (0x0x7ff867a6bd80) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x0x7ff867a6bea0) 0 empty
+
+Class QWidgetAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidgetAction::QPrivateSignal (0x0x7ff867a8f120) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 (int (*)(...))QWidgetAction::metaObject
+24 (int (*)(...))QWidgetAction::qt_metacast
+32 (int (*)(...))QWidgetAction::qt_metacall
+40 (int (*)(...))QWidgetAction::~QWidgetAction
+48 (int (*)(...))QWidgetAction::~QWidgetAction
+56 (int (*)(...))QWidgetAction::event
+64 (int (*)(...))QWidgetAction::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidgetAction::createWidget
+120 (int (*)(...))QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x0x7ff868a80820) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x0x7ff868a80c30) 0
+ primary-for QWidgetAction (0x0x7ff868a80820)
+ QObject (0x0x7ff867a8f0c0) 0
+ primary-for QAction (0x0x7ff868a80c30)
+
+Class QWizard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizard::QPrivateSignal (0x0x7ff867a8fc00) 0 empty
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 (int (*)(...))QWizard::metaObject
+24 (int (*)(...))QWizard::qt_metacast
+32 (int (*)(...))QWizard::qt_metacall
+40 (int (*)(...))QWizard::~QWizard
+48 (int (*)(...))QWizard::~QWizard
+56 (int (*)(...))QWizard::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWizard::setVisible
+128 (int (*)(...))QWizard::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWizard::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWizard::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QWizard::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))QWizard::validateCurrentPage
+480 (int (*)(...))QWizard::nextId
+488 (int (*)(...))QWizard::initializePage
+496 (int (*)(...))QWizard::cleanupPage
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI7QWizard)
+520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev
+528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizard
+ size=48 align=8
+ base size=48 base align=8
+QWizard (0x0x7ff868a80c98) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x0x7ff868aacd00) 0
+ primary-for QWizard (0x0x7ff868a80c98)
+ QWidget (0x0x7ff86dcddb60) 0
+ primary-for QDialog (0x0x7ff868aacd00)
+ QObject (0x0x7ff867a8fae0) 0
+ primary-for QWidget (0x0x7ff86dcddb60)
+ QPaintDevice (0x0x7ff867a8fb40) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Class QWizardPage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizardPage::QPrivateSignal (0x0x7ff867ab2de0) 0 empty
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 (int (*)(...))QWizardPage::metaObject
+24 (int (*)(...))QWizardPage::qt_metacast
+32 (int (*)(...))QWizardPage::qt_metacall
+40 (int (*)(...))QWizardPage::~QWizardPage
+48 (int (*)(...))QWizardPage::~QWizardPage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QWizardPage::initializePage
+440 (int (*)(...))QWizardPage::cleanupPage
+448 (int (*)(...))QWizardPage::validatePage
+456 (int (*)(...))QWizardPage::isComplete
+464 (int (*)(...))QWizardPage::nextId
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QWizardPage)
+488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev
+496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizardPage
+ size=48 align=8
+ base size=48 base align=8
+QWizardPage (0x0x7ff868acb1a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x0x7ff86dd112a0) 0
+ primary-for QWizardPage (0x0x7ff868acb1a0)
+ QObject (0x0x7ff867ab2a80) 0
+ primary-for QWidget (0x0x7ff86dd112a0)
+ QPaintDevice (0x0x7ff867ab2ae0) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 488u)
+
+Class QGLColormap::QGLColormapData
+ size=24 align=8
+ base size=24 base align=8
+QGLColormap::QGLColormapData (0x0x7ff867adf0c0) 0
+
+Class QGLColormap
+ size=8 align=8
+ base size=8 base align=8
+QGLColormap (0x0x7ff867ab2e40) 0
+
+Class QGLFormat
+ size=8 align=8
+ base size=8 base align=8
+QGLFormat (0x0x7ff867b067e0) 0
+
+Vtable for QGLContext
+QGLContext::_ZTV10QGLContext: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QGLContext)
+16 (int (*)(...))QGLContext::~QGLContext
+24 (int (*)(...))QGLContext::~QGLContext
+32 (int (*)(...))QGLContext::create
+40 (int (*)(...))QGLContext::makeCurrent
+48 (int (*)(...))QGLContext::doneCurrent
+56 (int (*)(...))QGLContext::swapBuffers
+64 (int (*)(...))QGLContext::chooseContext
+
+Class QGLContext
+ size=16 align=8
+ base size=16 base align=8
+QGLContext (0x0x7ff8677f03c0) 0
+ vptr=((& QGLContext::_ZTV10QGLContext) + 16u)
+
+Class QGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGLWidget::QPrivateSignal (0x0x7ff8678412a0) 0 empty
+
+Vtable for QGLWidget
+QGLWidget::_ZTV9QGLWidget: 74u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGLWidget)
+16 (int (*)(...))QGLWidget::metaObject
+24 (int (*)(...))QGLWidget::qt_metacast
+32 (int (*)(...))QGLWidget::qt_metacall
+40 (int (*)(...))QGLWidget::~QGLWidget
+48 (int (*)(...))QGLWidget::~QGLWidget
+56 (int (*)(...))QGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QGLWidget::updateGL
+440 (int (*)(...))QGLWidget::updateOverlayGL
+448 (int (*)(...))QGLWidget::initializeGL
+456 (int (*)(...))QGLWidget::resizeGL
+464 (int (*)(...))QGLWidget::paintGL
+472 (int (*)(...))QGLWidget::initializeOverlayGL
+480 (int (*)(...))QGLWidget::resizeOverlayGL
+488 (int (*)(...))QGLWidget::paintOverlayGL
+496 (int (*)(...))QGLWidget::glInit
+504 (int (*)(...))QGLWidget::glDraw
+512 (int (*)(...))-16
+520 (int (*)(...))(& _ZTI9QGLWidget)
+528 (int (*)(...))QGLWidget::_ZThn16_N9QGLWidgetD1Ev
+536 (int (*)(...))QGLWidget::_ZThn16_N9QGLWidgetD0Ev
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+552 (int (*)(...))QGLWidget::_ZThn16_NK9QGLWidget11paintEngineEv
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QGLWidget (0x0x7ff868b59888) 0
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 16u)
+ QWidget (0x0x7ff86d9dd460) 0
+ primary-for QGLWidget (0x0x7ff868b59888)
+ QObject (0x0x7ff867815840) 0
+ primary-for QWidget (0x0x7ff86d9dd460)
+ QPaintDevice (0x0x7ff867841240) 16
+ vptr=((& QGLWidget::_ZTV9QGLWidget) + 528u)
+
+Class QGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QGLBuffer (0x0x7ff867841360) 0
+
+Vtable for QGLFramebufferObject
+QGLFramebufferObject::_ZTV20QGLFramebufferObject: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGLFramebufferObject)
+16 (int (*)(...))QGLFramebufferObject::~QGLFramebufferObject
+24 (int (*)(...))QGLFramebufferObject::~QGLFramebufferObject
+32 (int (*)(...))QGLFramebufferObject::devType
+40 (int (*)(...))QGLFramebufferObject::paintEngine
+48 (int (*)(...))QGLFramebufferObject::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QGLFramebufferObject
+ size=32 align=8
+ base size=32 base align=8
+QGLFramebufferObject (0x0x7ff868b598f0) 0
+ vptr=((& QGLFramebufferObject::_ZTV20QGLFramebufferObject) + 16u)
+ QPaintDevice (0x0x7ff867841540) 0
+ primary-for QGLFramebufferObject (0x0x7ff868b598f0)
+
+Class QGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QGLFramebufferObjectFormat (0x0x7ff8678bbae0) 0
+
+Class QGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QGLFunctions (0x0x7ff8678bbba0) 0
+
+Class QGLFunctionsPrivate
+ size=8 align=8
+ base size=8 base align=8
+QGLFunctionsPrivate (0x0x7ff867926f00) 0
+
+Vtable for QGLPixelBuffer
+QGLPixelBuffer::_ZTV14QGLPixelBuffer: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGLPixelBuffer)
+16 (int (*)(...))QGLPixelBuffer::~QGLPixelBuffer
+24 (int (*)(...))QGLPixelBuffer::~QGLPixelBuffer
+32 (int (*)(...))QGLPixelBuffer::devType
+40 (int (*)(...))QGLPixelBuffer::paintEngine
+48 (int (*)(...))QGLPixelBuffer::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QGLPixelBuffer
+ size=32 align=8
+ base size=32 base align=8
+QGLPixelBuffer (0x0x7ff868b9d3a8) 0
+ vptr=((& QGLPixelBuffer::_ZTV14QGLPixelBuffer) + 16u)
+ QPaintDevice (0x0x7ff866303240) 0
+ primary-for QGLPixelBuffer (0x0x7ff868b9d3a8)
+
+Class QGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGLShader::QPrivateSignal (0x0x7ff866059d20) 0 empty
+
+Vtable for QGLShader
+QGLShader::_ZTV9QGLShader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGLShader)
+16 (int (*)(...))QGLShader::metaObject
+24 (int (*)(...))QGLShader::qt_metacast
+32 (int (*)(...))QGLShader::qt_metacall
+40 (int (*)(...))QGLShader::~QGLShader
+48 (int (*)(...))QGLShader::~QGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGLShader
+ size=16 align=8
+ base size=16 base align=8
+QGLShader (0x0x7ff868b9d410) 0
+ vptr=((& QGLShader::_ZTV9QGLShader) + 16u)
+ QObject (0x0x7ff866059480) 0
+ primary-for QGLShader (0x0x7ff868b9d410)
+
+Class QGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGLShaderProgram::QPrivateSignal (0x0x7ff8661b2f00) 0 empty
+
+Vtable for QGLShaderProgram
+QGLShaderProgram::_ZTV16QGLShaderProgram: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGLShaderProgram)
+16 (int (*)(...))QGLShaderProgram::metaObject
+24 (int (*)(...))QGLShaderProgram::qt_metacast
+32 (int (*)(...))QGLShaderProgram::qt_metacall
+40 (int (*)(...))QGLShaderProgram::~QGLShaderProgram
+48 (int (*)(...))QGLShaderProgram::~QGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGLShaderProgram::link
+
+Class QGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QGLShaderProgram (0x0x7ff868b9d820) 0
+ vptr=((& QGLShaderProgram::_ZTV16QGLShaderProgram) + 16u)
+ QObject (0x0x7ff86613aea0) 0
+ primary-for QGLShaderProgram (0x0x7ff868b9d820)
+
diff --git a/tests/auto/bic/data/QtPrintSupport.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtPrintSupport.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..250c0b8ed9
--- /dev/null
+++ b/tests/auto/bic/data/QtPrintSupport.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,19692 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f9a56e2a1e0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f9a56e72960) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f9a56e72ba0) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f9a56e72de0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f9a56e9c060) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f9a56e9c1e0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f9a56e9c5a0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f9a56f28d20) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f9a56f28de0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f9a56f57180) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f9a56f57240) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f9a56f57300) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f9a56f573c0) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f9a56f57660) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f9a56f57840) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f9a56f57cc0) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f9a56f57d20) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f9a56b0c9c0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f9a56b0ca20) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f9a56ef8c98) 0 empty
+ std::input_iterator_tag (0x0x7f9a56b0ca80) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f9a56ef8d00) 0 empty
+ std::forward_iterator_tag (0x0x7f9a56ef8d68) 0 empty
+ std::input_iterator_tag (0x0x7f9a56b0cae0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f9a56ef8dd0) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f9a56ef8e38) 0 empty
+ std::forward_iterator_tag (0x0x7f9a56ef8ea0) 0 empty
+ std::input_iterator_tag (0x0x7f9a56b0cb40) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f9a56b4c7e0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f9a56b4c840) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f9a56b4c8a0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f9a56b4c900) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f9a56b4c960) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7f9a56c3a480) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f9a56c3a6c0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f9a56c3a780) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f9a56c3a7e0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f9a56c3a8a0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f9a56c3a900) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f9a56c3ad80) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f9a56c3ade0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f9a56c3ae40) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f9a56b49410) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7f9a56c3aea0) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f9a56b49410)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f9a56c3af00) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f9a56c3af60) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f9a56b49618) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7f9a569903c0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f9a56b49618)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f9a56b49680) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7f9a56b496e8) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f9a56b49680)
+ std::exception (0x0x7f9a56990420) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f9a56b496e8)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f9a56990480) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7f9a56a4b0c0) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f9a56a4bd80) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f9a56a4bde0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f9a56892cc0) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7f9a56892d20) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f9a56892de0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f9a56892e40) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f9a56892ea0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f9a56892f00) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f9a5653f060) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f9a5653f0c0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f9a5653f4e0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f9a5653f540) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f9a5636ed20) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f9a5636ed80) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f9a5642ed20) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f9a561ddb40) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f9a5615e2d8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f9a561ddc00) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f9a5615e340) 0
+ std::_Bit_iterator_base (0x0x7f9a5615e3a8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f9a561ddc60) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f9a5615e410) 0
+ std::_Bit_iterator_base (0x0x7f9a5615e478) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f9a561ddcc0) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f9a55fc6ae0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f9a55cfa8a0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f9a55cfa840) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f9a55aa5840) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f9a546cf360) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f9a546cf3c0) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f9a54777e40) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f9a54777ea0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f9a54777f00) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f9a54777f60) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f9a547e3240) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f9a547e3780) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f9a547e6340) 0
+ std::__atomic_flag_base (0x0x7f9a547e37e0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f9a547e6a90) 0
+ QAtomicInteger<int> (0x0x7f9a547e6af8) 0
+ QBasicAtomicInteger<int> (0x0x7f9a54571f00) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f9a53ef84e0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f9a540556c0) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f9a540557e0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f9a53f6a6e8) 0
+ QGenericArgument (0x0x7f9a54055840) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f9a540559c0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f9a54055a80) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f9a53cfcae0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f9a53cfcb40) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f9a53cfcde0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f9a53cfce40) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f9a53dee1e0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f9a53dee240) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f9a53dee2a0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f9a53dee300) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f9a53dee360) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f9a53dee720) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f9a53d0cd00) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7f9a53dee7e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f9a53d0cd00)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f9a53d0cd68) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7f9a53d0cdd0) 0
+ primary-for std::domain_error (0x0x7f9a53d0cd68)
+ std::exception (0x0x7f9a53dee840) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f9a53d0cdd0)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f9a53d0ce38) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7f9a53d0cea0) 0
+ primary-for std::invalid_argument (0x0x7f9a53d0ce38)
+ std::exception (0x0x7f9a53dee8a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f9a53d0cea0)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f9a53d0cf08) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7f9a53d0cf70) 0
+ primary-for std::length_error (0x0x7f9a53d0cf08)
+ std::exception (0x0x7f9a53dee900) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f9a53d0cf70)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f9a53d0ca28) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7f9a53d0caf8) 0
+ primary-for std::out_of_range (0x0x7f9a53d0ca28)
+ std::exception (0x0x7f9a53dee960) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f9a53d0caf8)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f9a53ac8000) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7f9a53dee9c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f9a53ac8000)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f9a53ac8068) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7f9a53ac80d0) 0
+ primary-for std::range_error (0x0x7f9a53ac8068)
+ std::exception (0x0x7f9a53deea20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f9a53ac80d0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f9a53ac8138) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7f9a53ac81a0) 0
+ primary-for std::overflow_error (0x0x7f9a53ac8138)
+ std::exception (0x0x7f9a53deea80) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f9a53ac81a0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f9a53ac8208) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7f9a53ac8270) 0
+ primary-for std::underflow_error (0x0x7f9a53ac8208)
+ std::exception (0x0x7f9a53deeae0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f9a53ac8270)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f9a53deec60) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f9a53deeea0) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f9a53b04060) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f9a53ac8750) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7f9a53ac87b8) 0
+ primary-for std::system_error (0x0x7f9a53ac8750)
+ std::exception (0x0x7f9a53b042a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f9a53ac87b8)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f9a53b433a8) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7f9a53b43410) 0
+ primary-for std::ios_base::failure (0x0x7f9a53b433a8)
+ std::runtime_error (0x0x7f9a53b43478) 0
+ primary-for std::system_error (0x0x7f9a53b43410)
+ std::exception (0x0x7f9a53b045a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f9a53b43478)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f9a53b04600) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f9a53b04660) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f9a53b046c0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f9a53b04540) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f9a53b04e40) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f9a53882540) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f9a5378c068 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f9a5378c3a8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f9a53840138 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f9a53840208 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f9a53a1ad80) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f9a53a1ade0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f9a5358d180) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f9a5358d4e0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f9a5358d960) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f9a5329a7e0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f9a5329ae40) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f9a5329ade0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f9a5309ef00) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f9a531b7b40) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f9a52edb7e0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f9a52edb840) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f9a52edb8a0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f9a52edbc60) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f9a52edbcc0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f9a52ed6d00) 0 empty
+ QListData::NotIndirectLayout (0x0x7f9a52edbd20) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f9a52d29380) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f9a52edbd80) 0 empty
+ QListData::NotIndirectLayout (0x0x7f9a52edbde0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f9a52ed6d68) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f9a52edbe40) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f9a52edbea0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f9a52edbc00) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f9a52d3d360) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f9a52ae25a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f9a52ae2540) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f9a52ae47b8) 0
+ QList<QString> (0x0x7f9a52ae4820) 0
+ QListSpecialMethods<QString> (0x0x7f9a52ae2780) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f9a52ae2ba0) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f9a52bd2780) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f9a52bd2de0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f9a52bd2f60) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f9a529a9060) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f9a529a8000) 0
+ std::__uses_alloc_base (0x0x7f9a529a9000) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f9a5269d0c0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f9a5269d300) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f9a5269d3c0) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f9a5269d4e0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f9a5269d660) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f9a5269da80) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f9a5269dba0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f9a52827540) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f9a52827960) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f9a52827c60) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f9a5230d660) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f9a5205a4e0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f9a5205a540) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f9a5205a720) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f9a5205a6c0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f9a521239c0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f9a52123a20) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f9a52123ae0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f9a5214e340) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7f9a52123a80) 0
+ primary-for QAbstractAnimation (0x0x7f9a5214e340)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f9a52123ba0) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f9a5214e3a8) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7f9a52123b40) 0
+ primary-for QAnimationDriver (0x0x7f9a5214e3a8)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f9a52123c60) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f9a5214e410) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7f9a52123c00) 0
+ primary-for QEventLoop (0x0x7f9a5214e410)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f9a52123e40) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f9a52123f00) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f9a52123f60) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f9a5214e548) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7f9a52123ea0) 0
+ primary-for QAbstractEventDispatcher (0x0x7f9a5214e548)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f9a521ec240) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f9a5214e750) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7f9a521ec2a0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f9a5214e750)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f9a5214e7b8) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7f9a521ec300) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f9a5214e7b8)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f9a51eaea28) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7f9a51f633c0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f9a51eaea28)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f9a51f63480) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f9a51f634e0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f9a51f63600) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f9a51f63ae0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f9a5201f060) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f9a5201f420) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f9a5201f3c0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f9a5201f480) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f9a5201fd20) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f9a5201fde0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f9a5201fd80) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f9a5201fe40) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f9a5201fcc0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f9a51b17960) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f9a51bad000) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f9a51b17f60) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f9a51bad0c0) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f9a51bad060) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f9a518ce3c0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f9a518cea80) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f9a516b51e0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f9a516b17b8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7f9a516b5180) 0
+ primary-for QAbstractItemModel (0x0x7f9a516b17b8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f9a516b5a80) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f9a516b1ea0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7f9a516b1f08) 0
+ primary-for QAbstractTableModel (0x0x7f9a516b1ea0)
+ QObject (0x0x7f9a516b5a20) 0
+ primary-for QAbstractItemModel (0x0x7f9a516b1f08)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f9a516b5b40) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f9a516b1f70) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7f9a5179b000) 0
+ primary-for QAbstractListModel (0x0x7f9a516b1f70)
+ QObject (0x0x7f9a516b5ae0) 0
+ primary-for QAbstractItemModel (0x0x7f9a5179b000)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f9a516b5de0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f9a516b5ea0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f9a5179b138) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7f9a5179b1a0) 0
+ primary-for QAbstractProxyModel (0x0x7f9a5179b138)
+ QObject (0x0x7f9a516b5e40) 0
+ primary-for QAbstractItemModel (0x0x7f9a5179b1a0)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f9a516b5f60) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f9a5179b208) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7f9a516b5f00) 0
+ primary-for QAbstractState (0x0x7f9a5179b208)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f9a5181b060) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f9a5179b270) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7f9a5181b000) 0
+ primary-for QAbstractTransition (0x0x7f9a5179b270)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f9a5181b120) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f9a5179b2d8) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7f9a5179b340) 0
+ primary-for QAnimationGroup (0x0x7f9a5179b2d8)
+ QObject (0x0x7f9a5181b0c0) 0
+ primary-for QAbstractAnimation (0x0x7f9a5179b340)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f9a5145fe40) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f9a514a3120) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f9a514a31e0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f9a514a34e0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f9a5179b9c0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7f9a514a3480) 0
+ primary-for QIODevice (0x0x7f9a5179b9c0)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f9a514a3720) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f9a5179baf8) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7f9a5179bb60) 0
+ primary-for QBuffer (0x0x7f9a5179baf8)
+ QObject (0x0x7f9a514a36c0) 0
+ primary-for QIODevice (0x0x7f9a5179bb60)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f9a514a37e0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f9a514a3780) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f9a514a3900) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f9a514a38a0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f9a514a3ae0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f9a514a3cc0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f9a514a3f60) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f9a51626720) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f9a51626780) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f9a516266c0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f9a512d88a0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f9a512d8ea0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f9a51400180) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f9a514003c0) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f9a51400a80) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f9a51400c00) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f9a51177180) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f9a51177120) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f9a50ee9480) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f9a50ee9540) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f9a50f698a0) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f9a50f69a20) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f9a50bf6060) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f9a50bf6360) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f9a50bf6720) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f9a50d3fde0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f9a50dbf420) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f9a50dbf480) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f9a50823480) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f9a50823a20) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f9a50823a80) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f9a508239c0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f9a5096fae0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f9a5096fb40) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f9a5096fa80) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f9a507156c0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f9a50715a80) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f9a5046e480) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f9a5046eae0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f9a5046eba0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f9a5058cba0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f9a505d9060) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f9a505c9138) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7f9a505d90c0) 0
+ primary-for QTimerEvent (0x0x7f9a505c9138)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f9a505c91a0) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7f9a505d9120) 0
+ primary-for QChildEvent (0x0x7f9a505c91a0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f9a505c96e8) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7f9a505d9600) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f9a505c96e8)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f9a505c9750) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7f9a505d9660) 0
+ primary-for QDeferredDeleteEvent (0x0x7f9a505c9750)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f9a505d9720) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f9a505c97b8) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7f9a505d96c0) 0
+ primary-for QCoreApplication (0x0x7f9a505c97b8)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f9a505d9780) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f9a505d97e0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f9a505d9840) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f9a505d9900) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f9a505d9de0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f9a502cd300) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f9a4fff6180) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f9a4ffdac30) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7f9a4ffdac98) 0
+ primary-for QFileDevice (0x0x7f9a4ffdac30)
+ QObject (0x0x7f9a4fff6120) 0
+ primary-for QIODevice (0x0x7f9a4ffdac98)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f9a4fff63c0) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f9a4ffdadd0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7f9a4ffdae38) 0
+ primary-for QFile (0x0x7f9a4ffdadd0)
+ QIODevice (0x0x7f9a4ffdaea0) 0
+ primary-for QFileDevice (0x0x7f9a4ffdae38)
+ QObject (0x0x7f9a4fff6360) 0
+ primary-for QIODevice (0x0x7f9a4ffdaea0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f9a4fff65a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f9a4fff69c0) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f9a50132000) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f9a50132240) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f9a4fdf4660) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f9a4fde9ea0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7f9a4fde9f08) 0
+ primary-for QEventTransition (0x0x7f9a4fde9ea0)
+ QObject (0x0x7f9a4fdf4600) 0
+ primary-for QAbstractTransition (0x0x7f9a4fde9f08)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f9a4fde9f70) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7f9a4fdf46c0) 0 nearly-empty
+ primary-for QException (0x0x7f9a4fde9f70)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f9a4fe66000) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7f9a4fe66068) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f9a4fe66000)
+ std::exception (0x0x7f9a4fdf4720) 0 nearly-empty
+ primary-for QException (0x0x7f9a4fe66068)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f9a4fdf4780) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f9a4fdf4840) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f9a4fdf48a0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f9a4fdf49c0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f9a4fe660d0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7f9a4fdf4960) 0
+ primary-for QFileSelector (0x0x7f9a4fe660d0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f9a4fdf4a80) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f9a4fe66138) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7f9a4fdf4a20) 0
+ primary-for QFileSystemWatcher (0x0x7f9a4fe66138)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f9a4fdf4b40) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f9a4fe661a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7f9a4fe66208) 0
+ primary-for QFinalState (0x0x7f9a4fe661a0)
+ QObject (0x0x7f9a4fdf4ae0) 0
+ primary-for QAbstractState (0x0x7f9a4fe66208)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f9a4fdf4ba0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f9a4fdf4c00) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f9a4fe66340) 0
+ QBasicMutex (0x0x7f9a4fdf4de0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f9a4fdf4e40) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f9a4fdf4ea0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f9a4fdf4f00) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f9a4ff75060) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f9a4ff758a0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f9a4fc400c0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f9a4fc1f478) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7f9a4fc40060) 0
+ primary-for QFutureWatcherBase (0x0x7f9a4fc1f478)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f9a4fc406c0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f9a4fc1fd68) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7f9a4fc1fdd0) 0
+ primary-for QHistoryState (0x0x7f9a4fc1fd68)
+ QObject (0x0x7f9a4fc40660) 0
+ primary-for QAbstractState (0x0x7f9a4fc1fdd0)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f9a4fc40780) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f9a4fc1fe38) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f9a4fc1fea0) 0
+ primary-for QIdentityProxyModel (0x0x7f9a4fc1fe38)
+ QAbstractItemModel (0x0x7f9a4fc1ff08) 0
+ primary-for QAbstractProxyModel (0x0x7f9a4fc1fea0)
+ QObject (0x0x7f9a4fc40720) 0
+ primary-for QAbstractItemModel (0x0x7f9a4fc1ff08)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f9a4fc407e0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f9a4fc40ea0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f9a4fcc9750) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7f9a4fc40e40) 0
+ primary-for QItemSelectionModel (0x0x7f9a4fcc9750)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f9a4fcc9958) 0
+ QList<QItemSelectionRange> (0x0x7f9a4fcc99c0) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f9a4fd231e0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f9a4fd236c0) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f9a4fadcde0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f9a4fb53360) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f9a4fb533c0) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f9a4fb535a0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f9a4fb53600) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f9a4fb53540) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f9a4f81a840) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f9a4f81a8a0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f9a4f81af00) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f9a4f81af60) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f9a4f81aea0) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f9a4f97e240) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f9a4f93bd00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7f9a4f97e1e0) 0
+ primary-for QLibrary (0x0x7f9a4f93bd00)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f9a4f97e900) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f9a4f97e420) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f9a4f97ede0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f9a4f97ee40) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f9a4f65a120) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f9a4f65a720) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f9a4f6eb0c0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f9a4f6eb6c0) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f9a4f6eba20) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f9a4f6ebba0) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f9a4f6ebb40) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f9a4f6ebd20) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f9a4f4aa000) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f9a4f4aa660) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f9a4f4aa6c0) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f9a4f4aacc0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f9a4f55d000) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f9a4f55d060) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f9a4f55d360) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f9a4f4b6f70) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7f9a4f55d300) 0
+ primary-for QMimeData (0x0x7f9a4f4b6f70)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f9a4f55d3c0) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f9a4f55d6c0) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f9a4f55d780) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f9a4f5a21a0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7f9a4f55d720) 0
+ primary-for QObjectCleanupHandler (0x0x7f9a4f5a21a0)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f9a4f55d7e0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f9a4f55df60) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f9a4f5a28f0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f9a4f5a2958) 0
+ primary-for QParallelAnimationGroup (0x0x7f9a4f5a28f0)
+ QAbstractAnimation (0x0x7f9a4f5a29c0) 0
+ primary-for QAnimationGroup (0x0x7f9a4f5a2958)
+ QObject (0x0x7f9a4f55df00) 0
+ primary-for QAbstractAnimation (0x0x7f9a4f5a29c0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f9a4f201060) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f9a4f5a2a28) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7f9a4f5a2a90) 0
+ primary-for QPauseAnimation (0x0x7f9a4f5a2a28)
+ QObject (0x0x7f9a4f201000) 0
+ primary-for QAbstractAnimation (0x0x7f9a4f5a2a90)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f9a4f201240) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f9a4f201540) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f9a4f5a2c98) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7f9a4f2014e0) 0
+ primary-for QPluginLoader (0x0x7f9a4f5a2c98)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f9a4f2015a0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f9a4f201c60) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f9a4f2582d8) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7f9a4f258340) 0
+ primary-for QProcess (0x0x7f9a4f2582d8)
+ QObject (0x0x7f9a4f201c00) 0
+ primary-for QIODevice (0x0x7f9a4f258340)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f9a4f201d20) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f9a4f2583a8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7f9a4f258410) 0
+ primary-for QVariantAnimation (0x0x7f9a4f2583a8)
+ QObject (0x0x7f9a4f201cc0) 0
+ primary-for QAbstractAnimation (0x0x7f9a4f258410)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f9a4f201de0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f9a4f2584e0) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7f9a4f258548) 0
+ primary-for QPropertyAnimation (0x0x7f9a4f2584e0)
+ QAbstractAnimation (0x0x7f9a4f2585b0) 0
+ primary-for QVariantAnimation (0x0x7f9a4f258548)
+ QObject (0x0x7f9a4f201d80) 0
+ primary-for QAbstractAnimation (0x0x7f9a4f2585b0)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f9a4f201f00) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f9a4f201ea0) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f9a4f33b888) 0
+ QRandomGenerator (0x0x7f9a4f329ea0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f9a4f329f60) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f9a4f388240) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f9a4f388300) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f9a4f3883c0) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f9a4f388660) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f9a4f388900) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f9a4f388ba0) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f9a4f388e40) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f9a4edcc000) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f9a4f087410) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7f9a4f087478) 0
+ primary-for QSaveFile (0x0x7f9a4f087410)
+ QIODevice (0x0x7f9a4f0874e0) 0
+ primary-for QFileDevice (0x0x7f9a4f087478)
+ QObject (0x0x7f9a4f388f60) 0
+ primary-for QIODevice (0x0x7f9a4f0874e0)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f9a4edcc120) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f9a4edcc2a0) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f9a4ef0a8a0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f9a4ef04d68) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f9a4ef04dd0) 0
+ primary-for QSequentialAnimationGroup (0x0x7f9a4ef04d68)
+ QAbstractAnimation (0x0x7f9a4ef04e38) 0
+ primary-for QAnimationGroup (0x0x7f9a4ef04dd0)
+ QObject (0x0x7f9a4ef0a840) 0
+ primary-for QAbstractAnimation (0x0x7f9a4ef04e38)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f9a4ef0a960) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f9a4ef04ea0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7f9a4ef0a900) 0
+ primary-for QSettings (0x0x7f9a4ef04ea0)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f9a4ef0aa20) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f9a4ef04f08) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7f9a4ef0a9c0) 0
+ primary-for QSharedMemory (0x0x7f9a4ef04f08)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f9a4ef0aae0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f9a4ef04f70) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7f9a4ef0aa80) 0
+ primary-for QSignalMapper (0x0x7f9a4ef04f70)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f9a4ef0aba0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f9a4ef72000) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7f9a4ef72068) 0
+ primary-for QSignalTransition (0x0x7f9a4ef72000)
+ QObject (0x0x7f9a4ef0ab40) 0
+ primary-for QAbstractTransition (0x0x7f9a4ef72068)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f9a4ef0ac60) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f9a4ef720d0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7f9a4ef0ac00) 0
+ primary-for QSocketNotifier (0x0x7f9a4ef720d0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f9a4ef0ad20) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f9a4ef72138) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f9a4ef721a0) 0
+ primary-for QSortFilterProxyModel (0x0x7f9a4ef72138)
+ QAbstractItemModel (0x0x7f9a4ef72208) 0
+ primary-for QAbstractProxyModel (0x0x7f9a4ef721a0)
+ QObject (0x0x7f9a4ef0acc0) 0
+ primary-for QAbstractItemModel (0x0x7f9a4ef72208)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f9a4ef0ade0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f9a4ebfa060) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f9a4ef723a8) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7f9a4ef72410) 0
+ primary-for QState (0x0x7f9a4ef723a8)
+ QObject (0x0x7f9a4ebfa000) 0
+ primary-for QAbstractState (0x0x7f9a4ef72410)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f9a4ebfa180) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f9a4ef725b0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7f9a4ebfa1e0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f9a4ef725b0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f9a4ef72618) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7f9a4ebfa240) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f9a4ef72618)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f9a4ef72478) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7f9a4ef724e0) 0
+ primary-for QStateMachine (0x0x7f9a4ef72478)
+ QAbstractState (0x0x7f9a4ef72548) 0
+ primary-for QState (0x0x7f9a4ef724e0)
+ QObject (0x0x7f9a4ebfa120) 0
+ primary-for QAbstractState (0x0x7f9a4ef72548)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f9a4ebfa2a0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f9a4ec891e0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f9a4ed0e5a0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f9a4ed11618) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7f9a4ed11680) 0
+ primary-for QStringListModel (0x0x7f9a4ed11618)
+ QAbstractItemModel (0x0x7f9a4ed116e8) 0
+ primary-for QAbstractListModel (0x0x7f9a4ed11680)
+ QObject (0x0x7f9a4ed0e540) 0
+ primary-for QAbstractItemModel (0x0x7f9a4ed116e8)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f9a4ed0e600) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f9a4ed0e6c0) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f9a4ed0e7e0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f9a4ed11750) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7f9a4ed117b8) 0
+ primary-for QTemporaryFile (0x0x7f9a4ed11750)
+ QFileDevice (0x0x7f9a4ed11820) 0
+ primary-for QFile (0x0x7f9a4ed117b8)
+ QIODevice (0x0x7f9a4ed11888) 0
+ primary-for QFileDevice (0x0x7f9a4ed11820)
+ QObject (0x0x7f9a4ed0e780) 0
+ primary-for QIODevice (0x0x7f9a4ed11888)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f9a4ed0e840) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f9a4ed0ea80) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f9a4ed0ea20) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f9a4ed0ec60) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f9a4ed0ecc0) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f9a4ed0ed20) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f9a4ed0ed80) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f9a4ed11a90) 0
+ std::__mutex_base (0x0x7f9a4ed0ede0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f9a4ed11af8) 0
+ std::__recursive_mutex_base (0x0x7f9a4ed0ee40) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f9a4ea17460) 0
+ std::__mutex_base (0x0x7f9a4ed0ef60) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f9a4ea23000) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f9a4ea17e00) 0
+ std::__recursive_mutex_base (0x0x7f9a4ea230c0) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f9a4ea23120) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f9a4ea23180) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f9a4ea231e0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f9a4ea23240) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f9a4ea23480) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f9a4ed11c30) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7f9a4ea23540) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f9a4ed11c30)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f9a4ed11c98) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7f9a4ea23600) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f9a4ed11c98)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f9a4ed11d00) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7f9a4ea236c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f9a4ed11d00)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f9a4ed11dd0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7f9a4ea23780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f9a4ed11dd0)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f9a4ea23840) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f9a4ea238a0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f9a4ea23900) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f9a4ea23960) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f9a4ed11f08) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7f9a4ea23cc0) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f9a4ed11f08)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f9a4eb78540) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f9a4eb78d20) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f9a4eb78f00) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7f9a4eb78f60) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f9a4eb78ea0) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f9a4e61aba0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f9a4e61ac60) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f9a4e61acc0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f9a4e705360) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f9a4e706410) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7f9a4e706478) 0
+ primary-for std::future_error (0x0x7f9a4e706410)
+ std::exception (0x0x7f9a4e705480) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f9a4e706478)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f9a4e7055a0) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f9a4e705540) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f9a4e462ae0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f9a4e461a28) 0
+ std::__at_thread_exit_elt (0x0x7f9a4e462ba0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f9a4e705720) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f9a4e7054e0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f9a4ddde618) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7f9a4ddd8a80) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f9a4ddde618)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f9a4de541e0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f9a4de620d0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7f9a4de54180) 0
+ primary-for QThread (0x0x7f9a4de620d0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f9a4de54300) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f9a4de62138) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7f9a4de542a0) 0
+ primary-for QThreadPool (0x0x7f9a4de62138)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f9a4de54360) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f9a4de54480) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f9a4de621a0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7f9a4de54420) 0
+ primary-for QTimeLine (0x0x7f9a4de621a0)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f9a4de54540) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f9a4de62208) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7f9a4de544e0) 0
+ primary-for QTimer (0x0x7f9a4de62208)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f9a4de54c60) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f9a4de54c00) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f9a4df2a240) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f9a4de62dd0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7f9a4df2a1e0) 0
+ primary-for QTranslator (0x0x7f9a4de62dd0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f9a4df2a2a0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f9a4df2a900) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f9a4df2a960) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f9a4df2ac00) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f9a4df64a90) 0
+ QVector<QXmlStreamAttribute> (0x0x7f9a4dc09000) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f9a4dc09060) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f9a4dc09300) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f9a4dc095a0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f9a4dc09840) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f9a4dc098a0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f9a4dcdb300) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7f9a4dcdb420) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7f9a4dcdb6c0) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7f9a4d9eb0c0) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7f9a4d9eb060) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7f9a4da8e420) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7f9a4db36960) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7f9a4db36c00) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7f9a4db45888) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x0x7f9a4db36de0) 0
+ primary-for QInputEvent (0x0x7f9a4db45888)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7f9a4db458f0) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16u)
+ QEvent (0x0x7f9a4db36e40) 0
+ primary-for QEnterEvent (0x0x7f9a4db458f0)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7f9a4db45958) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x0x7f9a4db459c0) 0
+ primary-for QMouseEvent (0x0x7f9a4db45958)
+ QEvent (0x0x7f9a4db36ea0) 0
+ primary-for QInputEvent (0x0x7f9a4db459c0)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7f9a4db45a28) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QInputEvent (0x0x7f9a4db45a90) 0
+ primary-for QHoverEvent (0x0x7f9a4db45a28)
+ QEvent (0x0x7f9a4db36f00) 0
+ primary-for QInputEvent (0x0x7f9a4db45a90)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7f9a4db45af8) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x0x7f9a4db45b60) 0
+ primary-for QWheelEvent (0x0x7f9a4db45af8)
+ QEvent (0x0x7f9a4db36f60) 0
+ primary-for QInputEvent (0x0x7f9a4db45b60)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7f9a4db45bc8) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x0x7f9a4db45c30) 0
+ primary-for QTabletEvent (0x0x7f9a4db45bc8)
+ QEvent (0x0x7f9a4d830000) 0
+ primary-for QInputEvent (0x0x7f9a4db45c30)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7f9a4db45c98) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16u)
+ QInputEvent (0x0x7f9a4db45d00) 0
+ primary-for QNativeGestureEvent (0x0x7f9a4db45c98)
+ QEvent (0x0x7f9a4d830060) 0
+ primary-for QInputEvent (0x0x7f9a4db45d00)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7f9a4db45d68) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x0x7f9a4db45dd0) 0
+ primary-for QKeyEvent (0x0x7f9a4db45d68)
+ QEvent (0x0x7f9a4d8300c0) 0
+ primary-for QInputEvent (0x0x7f9a4db45dd0)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7f9a4db45e38) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x0x7f9a4d830120) 0
+ primary-for QFocusEvent (0x0x7f9a4db45e38)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7f9a4db45ea0) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x0x7f9a4d830180) 0
+ primary-for QPaintEvent (0x0x7f9a4db45ea0)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7f9a4db45f08) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x0x7f9a4d8301e0) 0
+ primary-for QMoveEvent (0x0x7f9a4db45f08)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7f9a4db45f70) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16u)
+ QEvent (0x0x7f9a4d830240) 0
+ primary-for QExposeEvent (0x0x7f9a4db45f70)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7f9a4d88a000) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16u)
+ QEvent (0x0x7f9a4d8302a0) 0
+ primary-for QPlatformSurfaceEvent (0x0x7f9a4d88a000)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7f9a4d88a068) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x0x7f9a4d830300) 0
+ primary-for QResizeEvent (0x0x7f9a4d88a068)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7f9a4d88a0d0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x0x7f9a4d830360) 0
+ primary-for QCloseEvent (0x0x7f9a4d88a0d0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7f9a4d88a138) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x0x7f9a4d8303c0) 0
+ primary-for QIconDragEvent (0x0x7f9a4d88a138)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7f9a4d88a1a0) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x0x7f9a4d830420) 0
+ primary-for QShowEvent (0x0x7f9a4d88a1a0)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7f9a4d88a208) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x0x7f9a4d830480) 0
+ primary-for QHideEvent (0x0x7f9a4d88a208)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7f9a4d88a270) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x0x7f9a4d88a2d8) 0
+ primary-for QContextMenuEvent (0x0x7f9a4d88a270)
+ QEvent (0x0x7f9a4d8304e0) 0
+ primary-for QInputEvent (0x0x7f9a4d88a2d8)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7f9a4d8305a0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7f9a4d88a340) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x0x7f9a4d830540) 0
+ primary-for QInputMethodEvent (0x0x7f9a4d88a340)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7f9a4d830a20) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7f9a4d88a680) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16u)
+ QEvent (0x0x7f9a4d8309c0) 0
+ primary-for QInputMethodQueryEvent (0x0x7f9a4d88a680)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7f9a4d88a958) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x0x7f9a4d830d80) 0
+ primary-for QDropEvent (0x0x7f9a4d88a958)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7f9a4d88a9c0) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x0x7f9a4d88aa28) 0
+ primary-for QDragMoveEvent (0x0x7f9a4d88a9c0)
+ QEvent (0x0x7f9a4d830de0) 0
+ primary-for QDropEvent (0x0x7f9a4d88aa28)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7f9a4d88aa90) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x0x7f9a4d88aaf8) 0
+ primary-for QDragEnterEvent (0x0x7f9a4d88aa90)
+ QDropEvent (0x0x7f9a4d88ab60) 0
+ primary-for QDragMoveEvent (0x0x7f9a4d88aaf8)
+ QEvent (0x0x7f9a4d830e40) 0
+ primary-for QDropEvent (0x0x7f9a4d88ab60)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7f9a4d88abc8) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x0x7f9a4d830ea0) 0
+ primary-for QDragLeaveEvent (0x0x7f9a4d88abc8)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7f9a4d88ac30) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x0x7f9a4d830f00) 0
+ primary-for QHelpEvent (0x0x7f9a4d88ac30)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7f9a4d88ac98) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x0x7f9a4d830f60) 0
+ primary-for QStatusTipEvent (0x0x7f9a4d88ac98)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7f9a4d88ad00) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x0x7f9a4d95d000) 0
+ primary-for QWhatsThisClickedEvent (0x0x7f9a4d88ad00)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7f9a4d88ad68) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x0x7f9a4d95d060) 0
+ primary-for QActionEvent (0x0x7f9a4d88ad68)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7f9a4d88add0) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x0x7f9a4d95d0c0) 0
+ primary-for QFileOpenEvent (0x0x7f9a4d88add0)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7f9a4d88ae38) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x0x7f9a4d95d120) 0
+ primary-for QToolBarChangeEvent (0x0x7f9a4d88ae38)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7f9a4d88aea0) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x0x7f9a4d95d180) 0
+ primary-for QShortcutEvent (0x0x7f9a4d88aea0)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7f9a4d88af08) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x0x7f9a4d95d1e0) 0
+ primary-for QWindowStateChangeEvent (0x0x7f9a4d88af08)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7f9a4d95d240) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7f9a4d95d900) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7f9a4d9895b0) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x0x7f9a4d989618) 0
+ primary-for QTouchEvent (0x0x7f9a4d9895b0)
+ QEvent (0x0x7f9a4d95d8a0) 0
+ primary-for QInputEvent (0x0x7f9a4d989618)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7f9a4d64be38) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16u)
+ QEvent (0x0x7f9a4d649f60) 0
+ primary-for QScrollPrepareEvent (0x0x7f9a4d64be38)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7f9a4d64bea0) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16u)
+ QEvent (0x0x7f9a4d69a000) 0
+ primary-for QScrollEvent (0x0x7f9a4d64bea0)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7f9a4d64bf08) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16u)
+ QEvent (0x0x7f9a4d69a060) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7f9a4d64bf08)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7f9a4d64bf70) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16u)
+ QEvent (0x0x7f9a4d69a0c0) 0
+ primary-for QApplicationStateChangeEvent (0x0x7f9a4d64bf70)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7f9a4d69a120) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7f9a4d6fad00) 0
+ QVector<QPoint> (0x0x7f9a4d69ade0) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7f9a4d7970d0) 0
+ QVector<QPointF> (0x0x7f9a4d7772a0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7f9a4d777660) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7f9a4d777960) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7f9a4d777900) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7f9a4d483360) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7f9a4d483480) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7f9a4d483ba0) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7f9a4d483c00) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7f9a4d4f6f70) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x0x7f9a4d1b36c0) 0
+ primary-for QImage (0x0x7f9a4d4f6f70)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7f9a4d28eaf8) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x0x7f9a4d28f660) 0
+ primary-for QPixmap (0x0x7f9a4d28eaf8)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7f9a4d28f960) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7f9a4d32c120) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7f9a4d32c180) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7f9a4d324478) 0
+ QGradient (0x0x7f9a4d32c420) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7f9a4d3244e0) 0
+ QGradient (0x0x7f9a4d32c480) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7f9a4d324548) 0
+ QGradient (0x0x7f9a4d32c4e0) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7f9a4d32c540) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7f9a4d01a780) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7f9a4d01a720) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7f9a4d01af00) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7f9a4d0a7660) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7f9a4d122478) 0
+ QTextFormat (0x0x7f9a4d1234e0) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7f9a4d122680) 0
+ QTextFormat (0x0x7f9a4d123780) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7f9a4d1228f0) 0
+ QTextFormat (0x0x7f9a4d123a20) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7f9a4d122af8) 0
+ QTextCharFormat (0x0x7f9a4d122b60) 0
+ QTextFormat (0x0x7f9a4d123cc0) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7f9a4d122d68) 0
+ QTextFormat (0x0x7f9a4d123f60) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7f9a4d122f70) 0
+ QTextFrameFormat (0x0x7f9a4ce76000) 0
+ QTextFormat (0x0x7f9a4ce63240) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7f9a4ce76208) 0
+ QTextCharFormat (0x0x7f9a4ce76270) 0
+ QTextFormat (0x0x7f9a4ce63540) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7f9a4ce637e0) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7f9a4ce63840) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7f9a4ce63d20) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7f9a4cf3d060) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7f9a4cf3d360) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7f9a4cf3d420) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7f9a4cf3d3c0) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7f9a4cf3de40) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7f9a4cf3dea0) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7f9a4cf3df60) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7f9a4cbdb5b0) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x0x7f9a4cf3df00) 0
+ primary-for QTextDocument (0x0x7f9a4cbdb5b0)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7f9a4cc2d1e0) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7f9a4cc2d180) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7f9a4cd182a0) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7f9a4cd18300) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7f9a4cd18360) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7f9a4cd012d8) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x0x7f9a4cd18240) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7f9a4cd012d8)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7f9a4cd18900) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7f9a4cd18a20) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7f9a4cd18a80) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7f9a4cd189c0) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7f9a4cd18c60) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7f9a4cd18cc0) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7f9a4cd18d20) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7f9a4cd18d80) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7f9a4cd18de0) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16u)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7f9a4cd18e40) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7f9a4cd18ea0) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7f9a4cd18f00) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7f9a4cd18f60) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7f9a4cd01d00) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f9a4ca194e0) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7f9a4cd01d00)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7f9a4cd01d68) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16u)
+ QAccessibleEvent (0x0x7f9a4ca19540) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f9a4cd01d68)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7f9a4cd01dd0) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f9a4cd01e38) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7f9a4cd01dd0)
+ QAccessibleEvent (0x0x7f9a4ca195a0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f9a4cd01e38)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7f9a4cd01ea0) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f9a4cd01f08) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7f9a4cd01ea0)
+ QAccessibleEvent (0x0x7f9a4ca19600) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f9a4cd01f08)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7f9a4cd01f70) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f9a4caa3000) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7f9a4cd01f70)
+ QAccessibleEvent (0x0x7f9a4ca19660) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f9a4caa3000)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7f9a4caa3068) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f9a4caa30d0) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7f9a4caa3068)
+ QAccessibleEvent (0x0x7f9a4ca196c0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f9a4caa30d0)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7f9a4caa3138) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f9a4ca19720) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7f9a4caa3138)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7f9a4caa31a0) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f9a4ca19780) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7f9a4caa31a0)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7f9a4ca19840) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7f9a4ca19900) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7f9a4caa3208) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x0x7f9a4ca198a0) 0
+ primary-for QAccessibleBridgePlugin (0x0x7f9a4caa3208)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0u
+24 0u
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7f9a4caa3270) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x0x7f9a4ca19960) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f9a4caa3270)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7f9a4caa32d8) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x0x7f9a4caa3340) 0
+ primary-for QAccessibleApplication (0x0x7f9a4caa32d8)
+ QAccessibleInterface (0x0x7f9a4ca199c0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f9a4caa3340)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7f9a4ca19a80) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7f9a4caa33a8) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x0x7f9a4ca19a20) 0
+ primary-for QAccessiblePlugin (0x0x7f9a4caa33a8)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7f9a4ca19ae0) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7f9a4ca19cc0) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7f9a4ca19e40) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7f9a4c80b240) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7f9a4c892840) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7f9a4c89b770) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16u)
+ QObject (0x0x7f9a4c892780) 0
+ primary-for QWindow (0x0x7f9a4c89b770)
+ QSurface (0x0x7f9a4c8927e0) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312u)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7f9a4c892960) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7f9a4c8a1410) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x0x7f9a4c8a1478) 0
+ primary-for QBitmap (0x0x7f9a4c8a1410)
+ QPaintDevice (0x0x7f9a4c892a20) 0
+ primary-for QPixmap (0x0x7f9a4c8a1478)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7f9a4c892d80) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7f9a4c8a16e8) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x0x7f9a4c892d20) 0
+ primary-for QClipboard (0x0x7f9a4c8a16e8)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7f9a4c892de0) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7f9a4c892ea0) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7f9a4c8a1750) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x0x7f9a4c892e40) 0
+ primary-for QDrag (0x0x7f9a4c8a1750)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7f9a4c892f00) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7f9a4c9551e0) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7f9a4c9554e0) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7f9a4c63d9c0) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7f9a4c8a1dd0) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16u)
+ QObject (0x0x7f9a4c63d960) 0
+ primary-for QGenericPlugin (0x0x7f9a4c8a1dd0)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7f9a4c63da20) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7f9a4c63dae0) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7f9a4c8a1ea0) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16u)
+ QObject (0x0x7f9a4c63da80) 0
+ primary-for QInputMethod (0x0x7f9a4c8a1ea0)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7f9a4c63dba0) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7f9a4c700000) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16u)
+ QCoreApplication (0x0x7f9a4c700068) 0
+ primary-for QGuiApplication (0x0x7f9a4c700000)
+ QObject (0x0x7f9a4c63db40) 0
+ primary-for QCoreApplication (0x0x7f9a4c700068)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7f9a4c724120) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7f9a4c7242a0) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7f9a4c7240c0) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7f9a4c724360) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7f9a4c700680) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x0x7f9a4c724300) 0
+ primary-for QIconEnginePlugin (0x0x7f9a4c700680)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0u
+24 0u
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7f9a4c7243c0) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7f9a4c724540) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7f9a4c7006e8) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x0x7f9a4c7244e0) 0
+ primary-for QImageIOPlugin (0x0x7f9a4c7006e8)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7f9a4c724720) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7f9a4c724780) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7f9a4c7247e0) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7f9a4c724a80) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7f9a4c724d20) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7f9a4c4d8360) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7f9a4c4d8ae0) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7f9a4c4db8f0) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x0x7f9a4c4d8a80) 0
+ primary-for QMovie (0x0x7f9a4c4db8f0)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7f9a4c4d8c00) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7f9a4c1fff50) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16u)
+ QObject (0x0x7f9a4c4d8b40) 0
+ primary-for QOffscreenSurface (0x0x7f9a4c1fff50)
+ QSurface (0x0x7f9a4c4d8ba0) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160u)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7f9a4c4d8cc0) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7f9a4c4d8ea0) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7f9a4bbd79c0) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7f9a4bbd7a20) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7f9a4bbd7a80) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7f9a4bbd7ae0) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16u)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7f9a4bbd7ba0) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7f9a4bbd5b60) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bbd7b40) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7f9a4bbd7cc0) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7f9a4bbd5bc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bbd7c60) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7f9a4bbd7de0) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7f9a4bbd5c30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bbd7d80) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7f9a4bbd7f00) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7f9a4bbd5c98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bbd7ea0) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7f9a4bc380c0) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7f9a4bbd5d00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38060) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7f9a4bc381e0) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7f9a4bbd5d68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38180) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7f9a4bc38300) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7f9a4bbd5dd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc382a0) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7f9a4bc38420) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7f9a4bbd5e38) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc383c0) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7f9a4bc38540) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7f9a4bbd5ea0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc384e0) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7f9a4bc38660) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7f9a4bbd5f08) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38600) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7f9a4bc38780) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7f9a4bbd5f70) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38720) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7f9a4bc388a0) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7f9a4bcaf000) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38840) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7f9a4bc389c0) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7f9a4bcaf068) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38960) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7f9a4bc38ae0) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7f9a4bcaf0d0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38a80) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7f9a4bc38c00) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7f9a4bcaf138) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38ba0) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7f9a4bc38d20) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7f9a4bcaf1a0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38cc0) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7f9a4bc38e40) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7f9a4bcaf208) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38de0) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7f9a4bd31000) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7f9a4bcaf270) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bc38f60) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7f9a4bd31120) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7f9a4bcaf2d8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd310c0) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7f9a4bd31240) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7f9a4bcaf340) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd311e0) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7f9a4bd31360) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7f9a4bcaf3a8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd31300) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7f9a4bd31480) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7f9a4bcaf410) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd31420) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7f9a4bd315a0) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7f9a4bcaf478) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd31540) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7f9a4bd316c0) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7f9a4bcaf4e0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd31660) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7f9a4bd317e0) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7f9a4bcaf548) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd31780) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7f9a4bd31900) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7f9a4bcaf5b0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd318a0) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7f9a4bd31a20) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7f9a4bcaf618) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f9a4bd319c0) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7f9a4bd31ae0) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7f9a4ba3f4e0) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7f9a4ba47068) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16u)
+ QObject (0x0x7f9a4ba3f480) 0
+ primary-for QOpenGLContextGroup (0x0x7f9a4ba47068)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7f9a4ba3f5a0) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7f9a4ba470d0) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16u)
+ QObject (0x0x7f9a4ba3f540) 0
+ primary-for QOpenGLContext (0x0x7f9a4ba470d0)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7f9a4ba3f600) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7f9a4ba3fde0) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7f9a4ba47548) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16u)
+ QObject (0x0x7f9a4ba3fd80) 0
+ primary-for QOpenGLDebugLogger (0x0x7f9a4ba47548)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7f9a4ba3ff60) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7f9a4bb831e0) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7f9a4bb83180) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7f9a4ba477b8) 0
+ QOpenGLFunctions (0x0x7f9a4b8a7900) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7f9a4b8a79c0) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7f9a4ba47820) 0
+ QOpenGLFunctionsPrivate (0x0x7f9a4b8a7960) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7f9a4b70d0c0) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16u)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7f9a4b70d1e0) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7f9a4ba47af8) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16u)
+ QPaintDevice (0x0x7f9a4b70d240) 0
+ primary-for QOpenGLPaintDevice (0x0x7f9a4ba47af8)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7f9a4b70d360) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7f9a4b70d6c0) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7f9a4ba47d00) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16u)
+ QObject (0x0x7f9a4b70d660) 0
+ primary-for QOpenGLShader (0x0x7f9a4ba47d00)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7f9a4b70d900) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7f9a4ba47e38) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16u)
+ QObject (0x0x7f9a4b70d8a0) 0
+ primary-for QOpenGLShaderProgram (0x0x7f9a4ba47e38)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7f9a4b70d960) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7f9a4b70dc00) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7f9a4b70dd80) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7f9a4ba47f70) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16u)
+ QObject (0x0x7f9a4b70dd20) 0
+ primary-for QOpenGLTimerQuery (0x0x7f9a4ba47f70)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7f9a4b70de40) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7f9a4b4b8000) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16u)
+ QObject (0x0x7f9a4b70dde0) 0
+ primary-for QOpenGLTimeMonitor (0x0x7f9a4b4b8000)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7f9a4b70df00) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7f9a4b70df60) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7f9a4b4b8068) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16u)
+ QObject (0x0x7f9a4b70dea0) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7f9a4b4b8068)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7f9a4b4e1120) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7f9a4b4bae70) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16u)
+ QWindow (0x0x7f9a4b4baee0) 0
+ primary-for QPaintDeviceWindow (0x0x7f9a4b4bae70)
+ QObject (0x0x7f9a4b4e1000) 0
+ primary-for QWindow (0x0x7f9a4b4baee0)
+ QSurface (0x0x7f9a4b4e1060) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336u)
+ QPaintDevice (0x0x7f9a4b4e10c0) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400u)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7f9a4b4e12a0) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7f9a4b4b8138) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16u)
+ QPaintDeviceWindow (0x0x7f9a4b4e32a0) 0
+ primary-for QOpenGLWindow (0x0x7f9a4b4b8138)
+ QWindow (0x0x7f9a4b4e3310) 0
+ primary-for QPaintDeviceWindow (0x0x7f9a4b4e32a0)
+ QObject (0x0x7f9a4b4e1180) 0
+ primary-for QWindow (0x0x7f9a4b4e3310)
+ QSurface (0x0x7f9a4b4e11e0) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384u)
+ QPaintDevice (0x0x7f9a4b4e1240) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448u)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7f9a4b4e1300) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7f9a4b4e1cc0) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7f9a4b58b720) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7f9a4b4b8e38) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16u)
+ QPaintDevice (0x0x7f9a4b58b6c0) 0
+ primary-for QPagedPaintDevice (0x0x7f9a4b4b8e38)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7f9a4b58b7e0) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7f9a4b58b780) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7f9a4b2ba600) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7f9a4b2ba8a0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7f9a4b2bab40) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7f9a4b2baf60) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7f9a4b04e230) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16u)
+ QObject (0x0x7f9a4b2baea0) 0
+ primary-for QPdfWriter (0x0x7f9a4b04e230)
+ QPagedPaintDevice (0x0x7f9a4b214ea0) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176u)
+ QPaintDevice (0x0x7f9a4b2baf00) 16
+ primary-for QPagedPaintDevice (0x0x7f9a4b214ea0)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7f9a4b214f08) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x0x7f9a4b071120) 0
+ primary-for QPicture (0x0x7f9a4b214f08)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7f9a4b071420) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7f9a4b0714e0) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7f9a4b098138) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x0x7f9a4b071480) 0
+ primary-for QPictureFormatPlugin (0x0x7f9a4b098138)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7f9a4b0715a0) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7f9a4b071540) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7f9a4b12a720) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7f9a4b12b820) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16u)
+ QPaintDeviceWindow (0x0x7f9a4b13d000) 0
+ primary-for QRasterWindow (0x0x7f9a4b12b820)
+ QWindow (0x0x7f9a4b13d070) 0
+ primary-for QPaintDeviceWindow (0x0x7f9a4b13d000)
+ QObject (0x0x7f9a4b12a600) 0
+ primary-for QWindow (0x0x7f9a4b13d070)
+ QSurface (0x0x7f9a4b12a660) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344u)
+ QPaintDevice (0x0x7f9a4b12a6c0) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408u)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7f9a4b12a7e0) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7f9a4b12b8f0) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16u)
+ QObject (0x0x7f9a4b12a780) 0
+ primary-for QScreen (0x0x7f9a4b12b8f0)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7f9a4b12a8a0) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7f9a4b12b958) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x0x7f9a4b12a840) 0
+ primary-for QSessionManager (0x0x7f9a4b12b958)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7f9a4b12a900) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7f9a4ae49060) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7f9a4ae48000) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x0x7f9a4ae48068) 0
+ primary-for QStandardItemModel (0x0x7f9a4ae48000)
+ QObject (0x0x7f9a4ae49000) 0
+ primary-for QAbstractItemModel (0x0x7f9a4ae48068)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7f9a4ae490c0) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7f9a4ae49540) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7f9a4ae48270) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16u)
+ QObject (0x0x7f9a4ae494e0) 0
+ primary-for QStyleHints (0x0x7f9a4ae48270)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7f9a4ae49600) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7f9a4ae482d8) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x0x7f9a4ae495a0) 0
+ primary-for QTextObject (0x0x7f9a4ae482d8)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7f9a4ae496c0) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7f9a4ae48340) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x0x7f9a4ae483a8) 0
+ primary-for QTextBlockGroup (0x0x7f9a4ae48340)
+ QObject (0x0x7f9a4ae49660) 0
+ primary-for QTextObject (0x0x7f9a4ae483a8)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7f9a4ae49720) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7f9a4ae497e0) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7f9a4ae49840) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7f9a4ae48410) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x0x7f9a4ae48478) 0
+ primary-for QTextFrame (0x0x7f9a4ae48410)
+ QObject (0x0x7f9a4ae49780) 0
+ primary-for QTextObject (0x0x7f9a4ae48478)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7f9a4ae49ae0) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7f9a4ae49ba0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7f9a4ae49b40) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7f9a4af400c0) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7f9a4af403c0) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7f9a4ae48b60) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x0x7f9a4af40360) 0
+ primary-for QSyntaxHighlighter (0x0x7f9a4ae48b60)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7f9a4af40420) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7f9a4af40480) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7f9a4af40540) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7f9a4ae48bc8) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x0x7f9a4ae48c30) 0
+ primary-for QTextList (0x0x7f9a4ae48bc8)
+ QTextObject (0x0x7f9a4ae48c98) 0
+ primary-for QTextBlockGroup (0x0x7f9a4ae48c30)
+ QObject (0x0x7f9a4af404e0) 0
+ primary-for QTextObject (0x0x7f9a4ae48c98)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7f9a4af405a0) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7f9a4af40660) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7f9a4ae48d00) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x0x7f9a4ae48d68) 0
+ primary-for QTextTable (0x0x7f9a4ae48d00)
+ QTextObject (0x0x7f9a4ae48dd0) 0
+ primary-for QTextFrame (0x0x7f9a4ae48d68)
+ QObject (0x0x7f9a4af40600) 0
+ primary-for QTextObject (0x0x7f9a4ae48dd0)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7f9a4af40720) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7f9a4ae48e38) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x0x7f9a4af406c0) 0
+ primary-for QValidator (0x0x7f9a4ae48e38)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7f9a4af407e0) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7f9a4ae48ea0) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x0x7f9a4ae48f08) 0
+ primary-for QIntValidator (0x0x7f9a4ae48ea0)
+ QObject (0x0x7f9a4af40780) 0
+ primary-for QValidator (0x0x7f9a4ae48f08)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7f9a4af408a0) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7f9a4ae48f70) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x0x7f9a4abda000) 0
+ primary-for QDoubleValidator (0x0x7f9a4ae48f70)
+ QObject (0x0x7f9a4af40840) 0
+ primary-for QValidator (0x0x7f9a4abda000)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7f9a4af409c0) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7f9a4abda068) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x0x7f9a4abda0d0) 0
+ primary-for QRegExpValidator (0x0x7f9a4abda068)
+ QObject (0x0x7f9a4af40960) 0
+ primary-for QValidator (0x0x7f9a4abda0d0)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7f9a4af40a80) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7f9a4abda138) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16u)
+ QValidator (0x0x7f9a4abda1a0) 0
+ primary-for QRegularExpressionValidator (0x0x7f9a4abda138)
+ QObject (0x0x7f9a4af40a20) 0
+ primary-for QValidator (0x0x7f9a4abda1a0)
+
+Class QSizePolicy::Bits
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy::Bits (0x0x7f9a4af40b40) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x0x7f9a4af40ae0) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x0x7f9a4ac42480) 0
+
+Class QWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidget::QPrivateSignal (0x0x7f9a4ac425a0) 0 empty
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 (int (*)(...))QWidget::metaObject
+24 (int (*)(...))QWidget::qt_metacast
+32 (int (*)(...))QWidget::qt_metacall
+40 (int (*)(...))QWidget::~QWidget
+48 (int (*)(...))QWidget::~QWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI7QWidget)
+448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev
+456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWidget
+ size=48 align=8
+ base size=48 base align=8
+QWidget (0x0x7f9a4ac84af0) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x0x7f9a4ac424e0) 0
+ primary-for QWidget (0x0x7f9a4ac84af0)
+ QPaintDevice (0x0x7f9a4ac42540) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 448u)
+
+Class QAbstractButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractButton::QPrivateSignal (0x0x7f9a4a981240) 0 empty
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 (int (*)(...))QAbstractButton::metaObject
+24 (int (*)(...))QAbstractButton::qt_metacast
+32 (int (*)(...))QAbstractButton::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI15QAbstractButton)
+472 0u
+480 0u
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractButton
+ size=48 align=8
+ base size=48 base align=8
+QAbstractButton (0x0x7f9a4a97c4e0) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x0x7f9a4a9787e0) 0
+ primary-for QAbstractButton (0x0x7f9a4a97c4e0)
+ QObject (0x0x7f9a4a981180) 0
+ primary-for QWidget (0x0x7f9a4a9787e0)
+ QPaintDevice (0x0x7f9a4a9811e0) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472u)
+
+Class QAbstractSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSpinBox::QPrivateSignal (0x0x7f9a4a981360) 0 empty
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 (int (*)(...))QAbstractSpinBox::metaObject
+24 (int (*)(...))QAbstractSpinBox::qt_metacast
+32 (int (*)(...))QAbstractSpinBox::qt_metacall
+40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSpinBox::validate
+440 (int (*)(...))QAbstractSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSpinBox (0x0x7f9a4a97c548) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x0x7f9a4a978af0) 0
+ primary-for QAbstractSpinBox (0x0x7f9a4a97c548)
+ QObject (0x0x7f9a4a9812a0) 0
+ primary-for QWidget (0x0x7f9a4a978af0)
+ QPaintDevice (0x0x7f9a4a981300) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488u)
+
+Class QAbstractSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSlider::QPrivateSignal (0x0x7f9a4a981600) 0 empty
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 (int (*)(...))QAbstractSlider::metaObject
+24 (int (*)(...))QAbstractSlider::qt_metacast
+32 (int (*)(...))QAbstractSlider::qt_metacall
+40 (int (*)(...))QAbstractSlider::~QAbstractSlider
+48 (int (*)(...))QAbstractSlider::~QAbstractSlider
+56 (int (*)(...))QAbstractSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QAbstractSlider)
+456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSlider
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSlider (0x0x7f9a4a97c680) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x0x7f9a4a9bdee0) 0
+ primary-for QAbstractSlider (0x0x7f9a4a97c680)
+ QObject (0x0x7f9a4a981540) 0
+ primary-for QWidget (0x0x7f9a4a9bdee0)
+ QPaintDevice (0x0x7f9a4a9815a0) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456u)
+
+Class QSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSlider::QPrivateSignal (0x0x7f9a4a981720) 0 empty
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 (int (*)(...))QSlider::metaObject
+24 (int (*)(...))QSlider::qt_metacast
+32 (int (*)(...))QSlider::qt_metacall
+40 (int (*)(...))QSlider::~QSlider
+48 (int (*)(...))QSlider::~QSlider
+56 (int (*)(...))QSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSlider::sizeHint
+136 (int (*)(...))QSlider::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSlider::mousePressEvent
+176 (int (*)(...))QSlider::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSlider::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSlider::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI7QSlider)
+456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev
+464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSlider
+ size=48 align=8
+ base size=48 base align=8
+QSlider (0x0x7f9a4a97c6e8) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x0x7f9a4a97c750) 0
+ primary-for QSlider (0x0x7f9a4a97c6e8)
+ QWidget (0x0x7f9a4aa07770) 0
+ primary-for QAbstractSlider (0x0x7f9a4a97c750)
+ QObject (0x0x7f9a4a981660) 0
+ primary-for QWidget (0x0x7f9a4aa07770)
+ QPaintDevice (0x0x7f9a4a9816c0) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 456u)
+
+Class QStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyle::QPrivateSignal (0x0x7f9a4a9817e0) 0 empty
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 (int (*)(...))QStyle::metaObject
+24 (int (*)(...))QStyle::qt_metacast
+32 (int (*)(...))QStyle::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyle::polish
+120 (int (*)(...))QStyle::unpolish
+128 (int (*)(...))QStyle::polish
+136 (int (*)(...))QStyle::unpolish
+144 (int (*)(...))QStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))__cxa_pure_virtual
+240 (int (*)(...))__cxa_pure_virtual
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))__cxa_pure_virtual
+272 (int (*)(...))__cxa_pure_virtual
+280 (int (*)(...))__cxa_pure_virtual
+288 (int (*)(...))__cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x0x7f9a4a97c820) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x0x7f9a4a981780) 0
+ primary-for QStyle (0x0x7f9a4a97c820)
+
+Class QTabBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabBar::QPrivateSignal (0x0x7f9a4a981c00) 0 empty
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 (int (*)(...))QTabBar::metaObject
+24 (int (*)(...))QTabBar::qt_metacast
+32 (int (*)(...))QTabBar::qt_metacall
+40 (int (*)(...))QTabBar::~QTabBar
+48 (int (*)(...))QTabBar::~QTabBar
+56 (int (*)(...))QTabBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTabBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabBar::sizeHint
+136 (int (*)(...))QTabBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTabBar::mousePressEvent
+176 (int (*)(...))QTabBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QTabBar::mouseMoveEvent
+200 (int (*)(...))QTabBar::wheelEvent
+208 (int (*)(...))QTabBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabBar::showEvent
+352 (int (*)(...))QTabBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabBar::tabSizeHint
+440 (int (*)(...))QTabBar::minimumTabSizeHint
+448 (int (*)(...))QTabBar::tabInserted
+456 (int (*)(...))QTabBar::tabRemoved
+464 (int (*)(...))QTabBar::tabLayoutChange
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QTabBar)
+488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev
+496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabBar
+ size=48 align=8
+ base size=48 base align=8
+QTabBar (0x0x7f9a4a97ca28) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x0x7f9a4aad8700) 0
+ primary-for QTabBar (0x0x7f9a4a97ca28)
+ QObject (0x0x7f9a4a981b40) 0
+ primary-for QWidget (0x0x7f9a4aad8700)
+ QPaintDevice (0x0x7f9a4a981ba0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 488u)
+
+Class QTabWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabWidget::QPrivateSignal (0x0x7f9a4a981d20) 0 empty
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 (int (*)(...))QTabWidget::metaObject
+24 (int (*)(...))QTabWidget::qt_metacast
+32 (int (*)(...))QTabWidget::qt_metacall
+40 (int (*)(...))QTabWidget::~QTabWidget
+48 (int (*)(...))QTabWidget::~QTabWidget
+56 (int (*)(...))QTabWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabWidget::sizeHint
+136 (int (*)(...))QTabWidget::minimumSizeHint
+144 (int (*)(...))QTabWidget::heightForWidth
+152 (int (*)(...))QTabWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QTabWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabWidget::tabInserted
+440 (int (*)(...))QTabWidget::tabRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI10QTabWidget)
+464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabWidget
+ size=48 align=8
+ base size=48 base align=8
+QTabWidget (0x0x7f9a4a97ca90) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x0x7f9a4ab190e0) 0
+ primary-for QTabWidget (0x0x7f9a4a97ca90)
+ QObject (0x0x7f9a4a981c60) 0
+ primary-for QWidget (0x0x7f9a4ab190e0)
+ QPaintDevice (0x0x7f9a4a981cc0) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 464u)
+
+Class QRubberBand::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRubberBand::QPrivateSignal (0x0x7f9a4a981e40) 0 empty
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 (int (*)(...))QRubberBand::metaObject
+24 (int (*)(...))QRubberBand::qt_metacast
+32 (int (*)(...))QRubberBand::qt_metacall
+40 (int (*)(...))QRubberBand::~QRubberBand
+48 (int (*)(...))QRubberBand::~QRubberBand
+56 (int (*)(...))QRubberBand::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRubberBand::paintEvent
+264 (int (*)(...))QRubberBand::moveEvent
+272 (int (*)(...))QRubberBand::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QRubberBand::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QRubberBand::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QRubberBand)
+448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev
+456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRubberBand
+ size=48 align=8
+ base size=48 base align=8
+QRubberBand (0x0x7f9a4a97caf8) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x0x7f9a4ab198c0) 0
+ primary-for QRubberBand (0x0x7f9a4a97caf8)
+ QObject (0x0x7f9a4a981d80) 0
+ primary-for QWidget (0x0x7f9a4ab198c0)
+ QPaintDevice (0x0x7f9a4a981de0) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 448u)
+
+Class QFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFrame::QPrivateSignal (0x0x7f9a4a981f60) 0 empty
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 (int (*)(...))QFrame::metaObject
+24 (int (*)(...))QFrame::qt_metacast
+32 (int (*)(...))QFrame::qt_metacall
+40 (int (*)(...))QFrame::~QFrame
+48 (int (*)(...))QFrame::~QFrame
+56 (int (*)(...))QFrame::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QFrame)
+448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev
+456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFrame
+ size=48 align=8
+ base size=48 base align=8
+QFrame (0x0x7f9a4a97cb60) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x0x7f9a4ab19ee0) 0
+ primary-for QFrame (0x0x7f9a4a97cb60)
+ QObject (0x0x7f9a4a981ea0) 0
+ primary-for QWidget (0x0x7f9a4ab19ee0)
+ QPaintDevice (0x0x7f9a4a981f00) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 448u)
+
+Class QStyleOption
+ size=64 align=8
+ base size=64 base align=8
+QStyleOption (0x0x7f9a4a73c000) 0
+
+Class QStyleOptionFocusRect
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFocusRect (0x0x7f9a4a97cbc8) 0
+ QStyleOption (0x0x7f9a4a73c060) 0
+
+Class QStyleOptionFrame
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFrame (0x0x7f9a4a97cc30) 0
+ QStyleOption (0x0x7f9a4a73c0c0) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=136 align=8
+ base size=132 base align=8
+QStyleOptionTabWidgetFrame (0x0x7f9a4a97cd68) 0
+ QStyleOption (0x0x7f9a4a73c2a0) 0
+
+Class QStyleOptionTabBarBase
+ size=104 align=8
+ base size=101 base align=8
+QStyleOptionTabBarBase (0x0x7f9a4a97cdd0) 0
+ QStyleOption (0x0x7f9a4a73c300) 0
+
+Class QStyleOptionHeader
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionHeader (0x0x7f9a4a97ce38) 0
+ QStyleOption (0x0x7f9a4a73c3c0) 0
+
+Class QStyleOptionButton
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionButton (0x0x7f9a4a97cea0) 0
+ QStyleOption (0x0x7f9a4a73c420) 0
+
+Class QStyleOptionTab
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionTab (0x0x7f9a4a7ef000) 0
+ QStyleOption (0x0x7f9a4a73c600) 0
+
+Class QStyleOptionToolBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBar (0x0x7f9a4a7ef208) 0
+ QStyleOption (0x0x7f9a4a73c960) 0
+
+Class QStyleOptionProgressBar
+ size=104 align=8
+ base size=102 base align=8
+QStyleOptionProgressBar (0x0x7f9a4a7ef340) 0
+ QStyleOption (0x0x7f9a4a73cb40) 0
+
+Class QStyleOptionMenuItem
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionMenuItem (0x0x7f9a4a7ef3a8) 0
+ QStyleOption (0x0x7f9a4a73cba0) 0
+
+Class QStyleOptionDockWidget
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionDockWidget (0x0x7f9a4a7ef410) 0
+ QStyleOption (0x0x7f9a4a73cc00) 0
+
+Class QStyleOptionViewItem
+ size=192 align=8
+ base size=192 base align=8
+QStyleOptionViewItem (0x0x7f9a4a7ef4e0) 0
+ QStyleOption (0x0x7f9a4a73cc60) 0
+
+Class QStyleOptionToolBox
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBox (0x0x7f9a4a7ef618) 0
+ QStyleOption (0x0x7f9a4a73ce40) 0
+
+Class QStyleOptionRubberBand
+ size=72 align=8
+ base size=69 base align=8
+QStyleOptionRubberBand (0x0x7f9a4a7ef680) 0
+ QStyleOption (0x0x7f9a4a73cea0) 0
+
+Class QStyleOptionComplex
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionComplex (0x0x7f9a4a7ef6e8) 0
+ QStyleOption (0x0x7f9a4a73cf00) 0
+
+Class QStyleOptionSlider
+ size=128 align=8
+ base size=121 base align=8
+QStyleOptionSlider (0x0x7f9a4a7ef750) 0
+ QStyleOptionComplex (0x0x7f9a4a7ef7b8) 0
+ QStyleOption (0x0x7f9a4a73cf60) 0
+
+Class QStyleOptionSpinBox
+ size=88 align=8
+ base size=81 base align=8
+QStyleOptionSpinBox (0x0x7f9a4a7ef820) 0
+ QStyleOptionComplex (0x0x7f9a4a7ef888) 0
+ QStyleOption (0x0x7f9a4a91d000) 0
+
+Class QStyleOptionToolButton
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionToolButton (0x0x7f9a4a7ef8f0) 0
+ QStyleOptionComplex (0x0x7f9a4a7ef958) 0
+ QStyleOption (0x0x7f9a4a91d060) 0
+
+Class QStyleOptionComboBox
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionComboBox (0x0x7f9a4a7efa90) 0
+ QStyleOptionComplex (0x0x7f9a4a7efaf8) 0
+ QStyleOption (0x0x7f9a4a91d240) 0
+
+Class QStyleOptionTitleBar
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTitleBar (0x0x7f9a4a7efb60) 0
+ QStyleOptionComplex (0x0x7f9a4a7efbc8) 0
+ QStyleOption (0x0x7f9a4a91d2a0) 0
+
+Class QStyleOptionGroupBox
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionGroupBox (0x0x7f9a4a7efc30) 0
+ QStyleOptionComplex (0x0x7f9a4a7efc98) 0
+ QStyleOption (0x0x7f9a4a91d360) 0
+
+Class QStyleOptionSizeGrip
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionSizeGrip (0x0x7f9a4a7efd00) 0
+ QStyleOptionComplex (0x0x7f9a4a7efd68) 0
+ QStyleOption (0x0x7f9a4a91d3c0) 0
+
+Class QStyleOptionGraphicsItem
+ size=152 align=8
+ base size=152 base align=8
+QStyleOptionGraphicsItem (0x0x7f9a4a7efdd0) 0
+ QStyleOption (0x0x7f9a4a91d420) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x0x7f9a4a91d900) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x0x7f9a4a5a33a8) 0
+ QStyleHintReturn (0x0x7f9a4a91d960) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x0x7f9a4a5a3410) 0
+ QStyleHintReturn (0x0x7f9a4a91d9c0) 0
+
+Class QAbstractItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemDelegate::QPrivateSignal (0x0x7f9a4a91df00) 0 empty
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 (int (*)(...))QAbstractItemDelegate::metaObject
+24 (int (*)(...))QAbstractItemDelegate::qt_metacast
+32 (int (*)(...))QAbstractItemDelegate::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QAbstractItemDelegate::setEditorData
+152 (int (*)(...))QAbstractItemDelegate::setModelData
+160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry
+168 (int (*)(...))QAbstractItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x0x7f9a4a5a3958) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x0x7f9a4a91dea0) 0
+ primary-for QAbstractItemDelegate (0x0x7f9a4a5a3958)
+
+Class QAbstractScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractScrollArea::QPrivateSignal (0x0x7f9a4a5ed0c0) 0 empty
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 (int (*)(...))QAbstractScrollArea::metaObject
+24 (int (*)(...))QAbstractScrollArea::qt_metacast
+32 (int (*)(...))QAbstractScrollArea::qt_metacall
+40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+56 (int (*)(...))QAbstractScrollArea::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QAbstractScrollArea (0x0x7f9a4a5a39c0) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x0x7f9a4a5a3a28) 0
+ primary-for QAbstractScrollArea (0x0x7f9a4a5a39c0)
+ QWidget (0x0x7f9a4a5ccbd0) 0
+ primary-for QFrame (0x0x7f9a4a5a3a28)
+ QObject (0x0x7f9a4a5ed000) 0
+ primary-for QWidget (0x0x7f9a4a5ccbd0)
+ QPaintDevice (0x0x7f9a4a5ed060) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QAbstractItemView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemView::QPrivateSignal (0x0x7f9a4a5ed1e0) 0 empty
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 (int (*)(...))QAbstractItemView::metaObject
+24 (int (*)(...))QAbstractItemView::qt_metacast
+32 (int (*)(...))QAbstractItemView::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))__cxa_pure_virtual
+496 (int (*)(...))__cxa_pure_virtual
+504 (int (*)(...))__cxa_pure_virtual
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QAbstractItemView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))__cxa_pure_virtual
+688 (int (*)(...))__cxa_pure_virtual
+696 (int (*)(...))__cxa_pure_virtual
+704 (int (*)(...))__cxa_pure_virtual
+712 (int (*)(...))__cxa_pure_virtual
+720 (int (*)(...))__cxa_pure_virtual
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 0u
+792 0u
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractItemView
+ size=48 align=8
+ base size=48 base align=8
+QAbstractItemView (0x0x7f9a4a5a3a90) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x0x7f9a4a5a3af8) 0
+ primary-for QAbstractItemView (0x0x7f9a4a5a3a90)
+ QFrame (0x0x7f9a4a5a3b60) 0
+ primary-for QAbstractScrollArea (0x0x7f9a4a5a3af8)
+ QWidget (0x0x7f9a4a60e150) 0
+ primary-for QFrame (0x0x7f9a4a5a3b60)
+ QObject (0x0x7f9a4a5ed120) 0
+ primary-for QWidget (0x0x7f9a4a60e150)
+ QPaintDevice (0x0x7f9a4a5ed180) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+32 (int (*)(...))QAccessibleWidget::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleWidget::window
+56 (int (*)(...))QAccessibleWidget::relations
+64 (int (*)(...))QAccessibleWidget::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleWidget::parent
+88 (int (*)(...))QAccessibleWidget::child
+96 (int (*)(...))QAccessibleWidget::childCount
+104 (int (*)(...))QAccessibleWidget::indexOfChild
+112 (int (*)(...))QAccessibleWidget::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleWidget::rect
+136 (int (*)(...))QAccessibleWidget::role
+144 (int (*)(...))QAccessibleWidget::state
+152 (int (*)(...))QAccessibleWidget::foregroundColor
+160 (int (*)(...))QAccessibleWidget::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleWidget::interface_cast
+184 (int (*)(...))QAccessibleWidget::actionNames
+192 (int (*)(...))QAccessibleWidget::doAction
+200 (int (*)(...))QAccessibleWidget::keyBindingsForAction
+208 (int (*)(...))-16
+216 (int (*)(...))(& _ZTI17QAccessibleWidget)
+224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev
+232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev
+240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv
+248 (int (*)(...))QAccessibleActionInterface::localizedActionName
+256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString
+272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString
+
+Class QAccessibleWidget
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleWidget (0x0x7f9a4a675850) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x0x7f9a4a5a3c98) 0
+ primary-for QAccessibleWidget (0x0x7f9a4a675850)
+ QAccessibleInterface (0x0x7f9a4a5ed3c0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f9a4a5a3c98)
+ QAccessibleActionInterface (0x0x7f9a4a5ed420) 16 nearly-empty
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224u)
+
+Class QAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAction::QPrivateSignal (0x0x7f9a4a5ed540) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 (int (*)(...))QAction::metaObject
+24 (int (*)(...))QAction::qt_metacast
+32 (int (*)(...))QAction::qt_metacall
+40 (int (*)(...))QAction::~QAction
+48 (int (*)(...))QAction::~QAction
+56 (int (*)(...))QAction::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x0x7f9a4a5a3d00) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x0x7f9a4a5ed4e0) 0
+ primary-for QAction (0x0x7f9a4a5a3d00)
+
+Class QActionGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QActionGroup::QPrivateSignal (0x0x7f9a4a5ed600) 0 empty
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 (int (*)(...))QActionGroup::metaObject
+24 (int (*)(...))QActionGroup::qt_metacast
+32 (int (*)(...))QActionGroup::qt_metacall
+40 (int (*)(...))QActionGroup::~QActionGroup
+48 (int (*)(...))QActionGroup::~QActionGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x0x7f9a4a5a3d68) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x0x7f9a4a5ed5a0) 0
+ primary-for QActionGroup (0x0x7f9a4a5a3d68)
+
+Class QApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QApplication::QPrivateSignal (0x0x7f9a4a5ed6c0) 0 empty
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 (int (*)(...))QApplication::metaObject
+24 (int (*)(...))QApplication::qt_metacast
+32 (int (*)(...))QApplication::qt_metacall
+40 (int (*)(...))QApplication::~QApplication
+48 (int (*)(...))QApplication::~QApplication
+56 (int (*)(...))QApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QApplication::notify
+120 (int (*)(...))QApplication::compressEvent
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x0x7f9a4a5a3dd0) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QGuiApplication (0x0x7f9a4a5a3e38) 0
+ primary-for QApplication (0x0x7f9a4a5a3dd0)
+ QCoreApplication (0x0x7f9a4a5a3ea0) 0
+ primary-for QGuiApplication (0x0x7f9a4a5a3e38)
+ QObject (0x0x7f9a4a5ed660) 0
+ primary-for QCoreApplication (0x0x7f9a4a5a3ea0)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x0x7f9a4a5ed720) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 (int (*)(...))QSpacerItem::~QSpacerItem
+24 (int (*)(...))QSpacerItem::~QSpacerItem
+32 (int (*)(...))QSpacerItem::sizeHint
+40 (int (*)(...))QSpacerItem::minimumSize
+48 (int (*)(...))QSpacerItem::maximumSize
+56 (int (*)(...))QSpacerItem::expandingDirections
+64 (int (*)(...))QSpacerItem::setGeometry
+72 (int (*)(...))QSpacerItem::geometry
+80 (int (*)(...))QSpacerItem::isEmpty
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QSpacerItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x0x7f9a4a5a3f08) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x0x7f9a4a5ed780) 0
+ primary-for QSpacerItem (0x0x7f9a4a5a3f08)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 (int (*)(...))QWidgetItem::~QWidgetItem
+24 (int (*)(...))QWidgetItem::~QWidgetItem
+32 (int (*)(...))QWidgetItem::sizeHint
+40 (int (*)(...))QWidgetItem::minimumSize
+48 (int (*)(...))QWidgetItem::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x0x7f9a4a5a3f70) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x0x7f9a4a5ed7e0) 0
+ primary-for QWidgetItem (0x0x7f9a4a5a3f70)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+32 (int (*)(...))QWidgetItemV2::sizeHint
+40 (int (*)(...))QWidgetItemV2::minimumSize
+48 (int (*)(...))QWidgetItemV2::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItemV2::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x0x7f9a4a71d000) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x0x7f9a4a71d068) 0
+ primary-for QWidgetItemV2 (0x0x7f9a4a71d000)
+ QLayoutItem (0x0x7f9a4a5ed840) 0
+ primary-for QWidgetItem (0x0x7f9a4a71d068)
+
+Class QLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLayout::QPrivateSignal (0x0x7f9a4a5ed960) 0 empty
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 (int (*)(...))QLayout::metaObject
+24 (int (*)(...))QLayout::qt_metacast
+32 (int (*)(...))QLayout::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QLayout::setGeometry
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))-16
+232 (int (*)(...))(& _ZTI7QLayout)
+240 0u
+248 0u
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 (int (*)(...))QLayoutItem::hasHeightForWidth
+320 (int (*)(...))QLayoutItem::heightForWidth
+328 (int (*)(...))QLayoutItem::minimumHeightForWidth
+336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+344 (int (*)(...))QLayoutItem::widget
+352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+360 (int (*)(...))QLayoutItem::spacerItem
+368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x0x7f9a4a7028c0) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x0x7f9a4a5ed8a0) 0
+ primary-for QLayout (0x0x7f9a4a7028c0)
+ QLayoutItem (0x0x7f9a4a5ed900) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 240u)
+
+Class QGridLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGridLayout::QPrivateSignal (0x0x7f9a4a5eda80) 0 empty
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 (int (*)(...))QGridLayout::metaObject
+24 (int (*)(...))QGridLayout::qt_metacast
+32 (int (*)(...))QGridLayout::qt_metacall
+40 (int (*)(...))QGridLayout::~QGridLayout
+48 (int (*)(...))QGridLayout::~QGridLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGridLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QGridLayout::addItem
+136 (int (*)(...))QGridLayout::expandingDirections
+144 (int (*)(...))QGridLayout::minimumSize
+152 (int (*)(...))QGridLayout::maximumSize
+160 (int (*)(...))QGridLayout::setGeometry
+168 (int (*)(...))QGridLayout::itemAt
+176 (int (*)(...))QGridLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QGridLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QGridLayout::sizeHint
+232 (int (*)(...))QGridLayout::hasHeightForWidth
+240 (int (*)(...))QGridLayout::heightForWidth
+248 (int (*)(...))QGridLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QGridLayout)
+272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x0x7f9a4a71d0d0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x0x7f9a4a3470e0) 0
+ primary-for QGridLayout (0x0x7f9a4a71d0d0)
+ QObject (0x0x7f9a4a5ed9c0) 0
+ primary-for QLayout (0x0x7f9a4a3470e0)
+ QLayoutItem (0x0x7f9a4a5eda20) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 272u)
+
+Class QBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBoxLayout::QPrivateSignal (0x0x7f9a4a5edba0) 0 empty
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 (int (*)(...))QBoxLayout::metaObject
+24 (int (*)(...))QBoxLayout::qt_metacast
+32 (int (*)(...))QBoxLayout::qt_metacall
+40 (int (*)(...))QBoxLayout::~QBoxLayout
+48 (int (*)(...))QBoxLayout::~QBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI10QBoxLayout)
+272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x0x7f9a4a71d138) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x0x7f9a4a347690) 0
+ primary-for QBoxLayout (0x0x7f9a4a71d138)
+ QObject (0x0x7f9a4a5edae0) 0
+ primary-for QLayout (0x0x7f9a4a347690)
+ QLayoutItem (0x0x7f9a4a5edb40) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272u)
+
+Class QHBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHBoxLayout::QPrivateSignal (0x0x7f9a4a5edcc0) 0 empty
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 (int (*)(...))QHBoxLayout::metaObject
+24 (int (*)(...))QHBoxLayout::qt_metacast
+32 (int (*)(...))QHBoxLayout::qt_metacall
+40 (int (*)(...))QHBoxLayout::~QHBoxLayout
+48 (int (*)(...))QHBoxLayout::~QHBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QHBoxLayout)
+272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x0x7f9a4a71d208) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x0x7f9a4a71d270) 0
+ primary-for QHBoxLayout (0x0x7f9a4a71d208)
+ QLayout (0x0x7f9a4a347d20) 0
+ primary-for QBoxLayout (0x0x7f9a4a71d270)
+ QObject (0x0x7f9a4a5edc00) 0
+ primary-for QLayout (0x0x7f9a4a347d20)
+ QLayoutItem (0x0x7f9a4a5edc60) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272u)
+
+Class QVBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVBoxLayout::QPrivateSignal (0x0x7f9a4a5edde0) 0 empty
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 (int (*)(...))QVBoxLayout::metaObject
+24 (int (*)(...))QVBoxLayout::qt_metacast
+32 (int (*)(...))QVBoxLayout::qt_metacall
+40 (int (*)(...))QVBoxLayout::~QVBoxLayout
+48 (int (*)(...))QVBoxLayout::~QVBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QVBoxLayout)
+272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x0x7f9a4a71d2d8) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x0x7f9a4a71d340) 0
+ primary-for QVBoxLayout (0x0x7f9a4a71d2d8)
+ QLayout (0x0x7f9a4a347f50) 0
+ primary-for QBoxLayout (0x0x7f9a4a71d340)
+ QObject (0x0x7f9a4a5edd20) 0
+ primary-for QLayout (0x0x7f9a4a347f50)
+ QLayoutItem (0x0x7f9a4a5edd80) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272u)
+
+Class QButtonGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QButtonGroup::QPrivateSignal (0x0x7f9a4a5edea0) 0 empty
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 (int (*)(...))QButtonGroup::metaObject
+24 (int (*)(...))QButtonGroup::qt_metacast
+32 (int (*)(...))QButtonGroup::qt_metacall
+40 (int (*)(...))QButtonGroup::~QButtonGroup
+48 (int (*)(...))QButtonGroup::~QButtonGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x0x7f9a4a71d3a8) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x0x7f9a4a5ede40) 0
+ primary-for QButtonGroup (0x0x7f9a4a71d3a8)
+
+Class QCalendarWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCalendarWidget::QPrivateSignal (0x0x7f9a4a3b4000) 0 empty
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 (int (*)(...))QCalendarWidget::metaObject
+24 (int (*)(...))QCalendarWidget::qt_metacast
+32 (int (*)(...))QCalendarWidget::qt_metacall
+40 (int (*)(...))QCalendarWidget::~QCalendarWidget
+48 (int (*)(...))QCalendarWidget::~QCalendarWidget
+56 (int (*)(...))QCalendarWidget::event
+64 (int (*)(...))QCalendarWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCalendarWidget::sizeHint
+136 (int (*)(...))QCalendarWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QCalendarWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QCalendarWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QCalendarWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCalendarWidget::paintCell
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QCalendarWidget)
+456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCalendarWidget
+ size=48 align=8
+ base size=48 base align=8
+QCalendarWidget (0x0x7f9a4a71d410) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x0x7f9a4a391460) 0
+ primary-for QCalendarWidget (0x0x7f9a4a71d410)
+ QObject (0x0x7f9a4a5edf00) 0
+ primary-for QWidget (0x0x7f9a4a391460)
+ QPaintDevice (0x0x7f9a4a5edf60) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456u)
+
+Class QCheckBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCheckBox::QPrivateSignal (0x0x7f9a4a3b4120) 0 empty
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 (int (*)(...))QCheckBox::metaObject
+24 (int (*)(...))QCheckBox::qt_metacast
+32 (int (*)(...))QCheckBox::qt_metacall
+40 (int (*)(...))QCheckBox::~QCheckBox
+48 (int (*)(...))QCheckBox::~QCheckBox
+56 (int (*)(...))QCheckBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCheckBox::sizeHint
+136 (int (*)(...))QCheckBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QCheckBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCheckBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCheckBox::hitButton
+440 (int (*)(...))QCheckBox::checkStateSet
+448 (int (*)(...))QCheckBox::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI9QCheckBox)
+472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCheckBox
+ size=48 align=8
+ base size=48 base align=8
+QCheckBox (0x0x7f9a4a71d478) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x0x7f9a4a71d4e0) 0
+ primary-for QCheckBox (0x0x7f9a4a71d478)
+ QWidget (0x0x7f9a4a391d90) 0
+ primary-for QAbstractButton (0x0x7f9a4a71d4e0)
+ QObject (0x0x7f9a4a3b4060) 0
+ primary-for QWidget (0x0x7f9a4a391d90)
+ QPaintDevice (0x0x7f9a4a3b40c0) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 472u)
+
+Class QDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialog::QPrivateSignal (0x0x7f9a4a3b4240) 0 empty
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 (int (*)(...))QDialog::metaObject
+24 (int (*)(...))QDialog::qt_metacast
+32 (int (*)(...))QDialog::qt_metacall
+40 (int (*)(...))QDialog::~QDialog
+48 (int (*)(...))QDialog::~QDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QDialog)
+488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev
+496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialog
+ size=48 align=8
+ base size=48 base align=8
+QDialog (0x0x7f9a4a71d548) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x0x7f9a4a3eb0e0) 0
+ primary-for QDialog (0x0x7f9a4a71d548)
+ QObject (0x0x7f9a4a3b4180) 0
+ primary-for QWidget (0x0x7f9a4a3eb0e0)
+ QPaintDevice (0x0x7f9a4a3b41e0) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Class QColorDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColorDialog::QPrivateSignal (0x0x7f9a4a3b4360) 0 empty
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 (int (*)(...))QColorDialog::metaObject
+24 (int (*)(...))QColorDialog::qt_metacast
+32 (int (*)(...))QColorDialog::qt_metacall
+40 (int (*)(...))QColorDialog::~QColorDialog
+48 (int (*)(...))QColorDialog::~QColorDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QColorDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QColorDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QColorDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColorDialog
+ size=48 align=8
+ base size=48 base align=8
+QColorDialog (0x0x7f9a4a71d5b0) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x0x7f9a4a71d618) 0
+ primary-for QColorDialog (0x0x7f9a4a71d5b0)
+ QWidget (0x0x7f9a4a3eb5b0) 0
+ primary-for QDialog (0x0x7f9a4a71d618)
+ QObject (0x0x7f9a4a3b42a0) 0
+ primary-for QWidget (0x0x7f9a4a3eb5b0)
+ QPaintDevice (0x0x7f9a4a3b4300) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x0x7f9a4a3b45a0) 0
+
+Class QColumnView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColumnView::QPrivateSignal (0x0x7f9a4a3b46c0) 0 empty
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 (int (*)(...))QColumnView::metaObject
+24 (int (*)(...))QColumnView::qt_metacast
+32 (int (*)(...))QColumnView::qt_metacall
+40 (int (*)(...))QColumnView::~QColumnView
+48 (int (*)(...))QColumnView::~QColumnView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QColumnView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QColumnView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QColumnView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QColumnView::setModel
+472 (int (*)(...))QColumnView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QColumnView::visualRect
+496 (int (*)(...))QColumnView::scrollTo
+504 (int (*)(...))QColumnView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QColumnView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QColumnView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QColumnView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QColumnView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QColumnView::moveCursor
+688 (int (*)(...))QColumnView::horizontalOffset
+696 (int (*)(...))QColumnView::verticalOffset
+704 (int (*)(...))QColumnView::isIndexHidden
+712 (int (*)(...))QColumnView::setSelection
+720 (int (*)(...))QColumnView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QColumnView::createColumn
+776 (int (*)(...))-16
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColumnView
+ size=48 align=8
+ base size=48 base align=8
+QColumnView (0x0x7f9a4a71d750) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x0x7f9a4a71d7b8) 0
+ primary-for QColumnView (0x0x7f9a4a71d750)
+ QAbstractScrollArea (0x0x7f9a4a71d820) 0
+ primary-for QAbstractItemView (0x0x7f9a4a71d7b8)
+ QFrame (0x0x7f9a4a71d888) 0
+ primary-for QAbstractScrollArea (0x0x7f9a4a71d820)
+ QWidget (0x0x7f9a4a437a10) 0
+ primary-for QFrame (0x0x7f9a4a71d888)
+ QObject (0x0x7f9a4a3b4600) 0
+ primary-for QWidget (0x0x7f9a4a437a10)
+ QPaintDevice (0x0x7f9a4a3b4660) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Class QComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QComboBox::QPrivateSignal (0x0x7f9a4a3b47e0) 0 empty
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 (int (*)(...))QComboBox::metaObject
+24 (int (*)(...))QComboBox::qt_metacast
+32 (int (*)(...))QComboBox::qt_metacall
+40 (int (*)(...))QComboBox::~QComboBox
+48 (int (*)(...))QComboBox::~QComboBox
+56 (int (*)(...))QComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI9QComboBox)
+464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev
+472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QComboBox
+ size=48 align=8
+ base size=48 base align=8
+QComboBox (0x0x7f9a4a71d8f0) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x0x7f9a4a437d20) 0
+ primary-for QComboBox (0x0x7f9a4a71d8f0)
+ QObject (0x0x7f9a4a3b4720) 0
+ primary-for QWidget (0x0x7f9a4a437d20)
+ QPaintDevice (0x0x7f9a4a3b4780) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 464u)
+
+Class QPushButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPushButton::QPrivateSignal (0x0x7f9a4a3b4900) 0 empty
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 (int (*)(...))QPushButton::metaObject
+24 (int (*)(...))QPushButton::qt_metacast
+32 (int (*)(...))QPushButton::qt_metacall
+40 (int (*)(...))QPushButton::~QPushButton
+48 (int (*)(...))QPushButton::~QPushButton
+56 (int (*)(...))QPushButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QPushButton::sizeHint
+136 (int (*)(...))QPushButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPushButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QPushButton)
+472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev
+480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPushButton
+ size=48 align=8
+ base size=48 base align=8
+QPushButton (0x0x7f9a4a71d958) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x0x7f9a4a71d9c0) 0
+ primary-for QPushButton (0x0x7f9a4a71d958)
+ QWidget (0x0x7f9a4a47e930) 0
+ primary-for QAbstractButton (0x0x7f9a4a71d9c0)
+ QObject (0x0x7f9a4a3b4840) 0
+ primary-for QWidget (0x0x7f9a4a47e930)
+ QPaintDevice (0x0x7f9a4a3b48a0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 472u)
+
+Class QCommandLinkButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommandLinkButton::QPrivateSignal (0x0x7f9a4a3b4a20) 0 empty
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 (int (*)(...))QCommandLinkButton::metaObject
+24 (int (*)(...))QCommandLinkButton::qt_metacast
+32 (int (*)(...))QCommandLinkButton::qt_metacall
+40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+56 (int (*)(...))QCommandLinkButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCommandLinkButton::sizeHint
+136 (int (*)(...))QCommandLinkButton::minimumSizeHint
+144 (int (*)(...))QCommandLinkButton::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCommandLinkButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI18QCommandLinkButton)
+472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCommandLinkButton
+ size=48 align=8
+ base size=48 base align=8
+QCommandLinkButton (0x0x7f9a4a71da28) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x0x7f9a4a71da90) 0
+ primary-for QCommandLinkButton (0x0x7f9a4a71da28)
+ QAbstractButton (0x0x7f9a4a71daf8) 0
+ primary-for QPushButton (0x0x7f9a4a71da90)
+ QWidget (0x0x7f9a4a47ec40) 0
+ primary-for QAbstractButton (0x0x7f9a4a71daf8)
+ QObject (0x0x7f9a4a3b4960) 0
+ primary-for QWidget (0x0x7f9a4a47ec40)
+ QPaintDevice (0x0x7f9a4a3b49c0) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472u)
+
+Class QCommonStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommonStyle::QPrivateSignal (0x0x7f9a4a3b4ae0) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 (int (*)(...))QCommonStyle::metaObject
+24 (int (*)(...))QCommonStyle::qt_metacast
+32 (int (*)(...))QCommonStyle::qt_metacall
+40 (int (*)(...))QCommonStyle::~QCommonStyle
+48 (int (*)(...))QCommonStyle::~QCommonStyle
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCommonStyle::polish
+120 (int (*)(...))QCommonStyle::unpolish
+128 (int (*)(...))QCommonStyle::polish
+136 (int (*)(...))QCommonStyle::unpolish
+144 (int (*)(...))QCommonStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))QCommonStyle::drawPrimitive
+200 (int (*)(...))QCommonStyle::drawControl
+208 (int (*)(...))QCommonStyle::subElementRect
+216 (int (*)(...))QCommonStyle::drawComplexControl
+224 (int (*)(...))QCommonStyle::hitTestComplexControl
+232 (int (*)(...))QCommonStyle::subControlRect
+240 (int (*)(...))QCommonStyle::pixelMetric
+248 (int (*)(...))QCommonStyle::sizeFromContents
+256 (int (*)(...))QCommonStyle::styleHint
+264 (int (*)(...))QCommonStyle::standardPixmap
+272 (int (*)(...))QCommonStyle::standardIcon
+280 (int (*)(...))QCommonStyle::generatedIconPixmap
+288 (int (*)(...))QCommonStyle::layoutSpacing
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x0x7f9a4a71db60) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x0x7f9a4a71dbc8) 0
+ primary-for QCommonStyle (0x0x7f9a4a71db60)
+ QObject (0x0x7f9a4a3b4a80) 0
+ primary-for QStyle (0x0x7f9a4a71dbc8)
+
+Class QCompleter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompleter::QPrivateSignal (0x0x7f9a4a3b4ba0) 0 empty
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 (int (*)(...))QCompleter::metaObject
+24 (int (*)(...))QCompleter::qt_metacast
+32 (int (*)(...))QCompleter::qt_metacall
+40 (int (*)(...))QCompleter::~QCompleter
+48 (int (*)(...))QCompleter::~QCompleter
+56 (int (*)(...))QCompleter::event
+64 (int (*)(...))QCompleter::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompleter::pathFromIndex
+120 (int (*)(...))QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x0x7f9a4a71dc30) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x0x7f9a4a3b4b40) 0
+ primary-for QCompleter (0x0x7f9a4a71dc30)
+
+Class QDataWidgetMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDataWidgetMapper::QPrivateSignal (0x0x7f9a4a3b4c60) 0 empty
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 (int (*)(...))QDataWidgetMapper::metaObject
+24 (int (*)(...))QDataWidgetMapper::qt_metacast
+32 (int (*)(...))QDataWidgetMapper::qt_metacall
+40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x0x7f9a4a71dc98) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x0x7f9a4a3b4c00) 0
+ primary-for QDataWidgetMapper (0x0x7f9a4a71dc98)
+
+Class QDateTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateTimeEdit::QPrivateSignal (0x0x7f9a4a3b4d80) 0 empty
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 (int (*)(...))QDateTimeEdit::metaObject
+24 (int (*)(...))QDateTimeEdit::qt_metacast
+32 (int (*)(...))QDateTimeEdit::qt_metacall
+40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QDateTimeEdit)
+504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateTimeEdit (0x0x7f9a4a71dd00) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x0x7f9a4a71dd68) 0
+ primary-for QDateTimeEdit (0x0x7f9a4a71dd00)
+ QWidget (0x0x7f9a4a4e2c40) 0
+ primary-for QAbstractSpinBox (0x0x7f9a4a71dd68)
+ QObject (0x0x7f9a4a3b4cc0) 0
+ primary-for QWidget (0x0x7f9a4a4e2c40)
+ QPaintDevice (0x0x7f9a4a3b4d20) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504u)
+
+Class QTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeEdit::QPrivateSignal (0x0x7f9a4a169060) 0 empty
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 (int (*)(...))QTimeEdit::metaObject
+24 (int (*)(...))QTimeEdit::qt_metacast
+32 (int (*)(...))QTimeEdit::qt_metacall
+40 (int (*)(...))QTimeEdit::~QTimeEdit
+48 (int (*)(...))QTimeEdit::~QTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QTimeEdit)
+504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QTimeEdit (0x0x7f9a4a71dea0) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x0x7f9a4a71df08) 0
+ primary-for QTimeEdit (0x0x7f9a4a71dea0)
+ QAbstractSpinBox (0x0x7f9a4a71df70) 0
+ primary-for QDateTimeEdit (0x0x7f9a4a71df08)
+ QWidget (0x0x7f9a4a12a7e0) 0
+ primary-for QAbstractSpinBox (0x0x7f9a4a71df70)
+ QObject (0x0x7f9a4a3b4f60) 0
+ primary-for QWidget (0x0x7f9a4a12a7e0)
+ QPaintDevice (0x0x7f9a4a169000) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504u)
+
+Class QDateEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateEdit::QPrivateSignal (0x0x7f9a4a169180) 0 empty
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 (int (*)(...))QDateEdit::metaObject
+24 (int (*)(...))QDateEdit::qt_metacast
+32 (int (*)(...))QDateEdit::qt_metacall
+40 (int (*)(...))QDateEdit::~QDateEdit
+48 (int (*)(...))QDateEdit::~QDateEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QDateEdit)
+504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev
+512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateEdit (0x0x7f9a4a176000) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x0x7f9a4a176068) 0
+ primary-for QDateEdit (0x0x7f9a4a176000)
+ QAbstractSpinBox (0x0x7f9a4a1760d0) 0
+ primary-for QDateTimeEdit (0x0x7f9a4a176068)
+ QWidget (0x0x7f9a4a12aa10) 0
+ primary-for QAbstractSpinBox (0x0x7f9a4a1760d0)
+ QObject (0x0x7f9a4a1690c0) 0
+ primary-for QWidget (0x0x7f9a4a12aa10)
+ QPaintDevice (0x0x7f9a4a169120) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 504u)
+
+Class QDesktopWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDesktopWidget::QPrivateSignal (0x0x7f9a4a1692a0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 (int (*)(...))QDesktopWidget::metaObject
+24 (int (*)(...))QDesktopWidget::qt_metacast
+32 (int (*)(...))QDesktopWidget::qt_metacall
+40 (int (*)(...))QDesktopWidget::~QDesktopWidget
+48 (int (*)(...))QDesktopWidget::~QDesktopWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDesktopWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QDesktopWidget)
+448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDesktopWidget
+ size=48 align=8
+ base size=48 base align=8
+QDesktopWidget (0x0x7f9a4a176138) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x0x7f9a4a191460) 0
+ primary-for QDesktopWidget (0x0x7f9a4a176138)
+ QObject (0x0x7f9a4a1691e0) 0
+ primary-for QWidget (0x0x7f9a4a191460)
+ QPaintDevice (0x0x7f9a4a169240) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448u)
+
+Class QDial::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDial::QPrivateSignal (0x0x7f9a4a1693c0) 0 empty
+
+Vtable for QDial
+QDial::_ZTV5QDial: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 (int (*)(...))QDial::metaObject
+24 (int (*)(...))QDial::qt_metacast
+32 (int (*)(...))QDial::qt_metacall
+40 (int (*)(...))QDial::~QDial
+48 (int (*)(...))QDial::~QDial
+56 (int (*)(...))QDial::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDial::sizeHint
+136 (int (*)(...))QDial::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDial::mousePressEvent
+176 (int (*)(...))QDial::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QDial::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDial::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDial::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDial::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI5QDial)
+456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev
+464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDial
+ size=48 align=8
+ base size=48 base align=8
+QDial (0x0x7f9a4a1761a0) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x0x7f9a4a176208) 0
+ primary-for QDial (0x0x7f9a4a1761a0)
+ QWidget (0x0x7f9a4a1918c0) 0
+ primary-for QAbstractSlider (0x0x7f9a4a176208)
+ QObject (0x0x7f9a4a169300) 0
+ primary-for QWidget (0x0x7f9a4a1918c0)
+ QPaintDevice (0x0x7f9a4a169360) 16
+ vptr=((& QDial::_ZTV5QDial) + 456u)
+
+Class QDialogButtonBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialogButtonBox::QPrivateSignal (0x0x7f9a4a1694e0) 0 empty
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 (int (*)(...))QDialogButtonBox::metaObject
+24 (int (*)(...))QDialogButtonBox::qt_metacast
+32 (int (*)(...))QDialogButtonBox::qt_metacall
+40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+56 (int (*)(...))QDialogButtonBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDialogButtonBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QDialogButtonBox)
+448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialogButtonBox
+ size=48 align=8
+ base size=48 base align=8
+QDialogButtonBox (0x0x7f9a4a176270) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x0x7f9a4a191bd0) 0
+ primary-for QDialogButtonBox (0x0x7f9a4a176270)
+ QObject (0x0x7f9a4a169420) 0
+ primary-for QWidget (0x0x7f9a4a191bd0)
+ QPaintDevice (0x0x7f9a4a169480) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448u)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 (int (*)(...))QFileIconProvider::~QFileIconProvider
+24 (int (*)(...))QFileIconProvider::~QFileIconProvider
+32 (int (*)(...))QFileIconProvider::icon
+40 (int (*)(...))QFileIconProvider::icon
+48 (int (*)(...))QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x0x7f9a4a1696c0) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Class QDirModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDirModel::QPrivateSignal (0x0x7f9a4a1699c0) 0 empty
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 (int (*)(...))QDirModel::metaObject
+24 (int (*)(...))QDirModel::qt_metacast
+32 (int (*)(...))QDirModel::qt_metacall
+40 (int (*)(...))QDirModel::~QDirModel
+48 (int (*)(...))QDirModel::~QDirModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDirModel::index
+120 (int (*)(...))QDirModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QDirModel::rowCount
+144 (int (*)(...))QDirModel::columnCount
+152 (int (*)(...))QDirModel::hasChildren
+160 (int (*)(...))QDirModel::data
+168 (int (*)(...))QDirModel::setData
+176 (int (*)(...))QDirModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QDirModel::mimeTypes
+216 (int (*)(...))QDirModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QDirModel::dropMimeData
+240 (int (*)(...))QDirModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QDirModel::flags
+328 (int (*)(...))QDirModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x0x7f9a4a176478) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x0x7f9a4a1764e0) 0
+ primary-for QDirModel (0x0x7f9a4a176478)
+ QObject (0x0x7f9a4a169960) 0
+ primary-for QAbstractItemModel (0x0x7f9a4a1764e0)
+
+Class QDockWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDockWidget::QPrivateSignal (0x0x7f9a4a169ae0) 0 empty
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 (int (*)(...))QDockWidget::metaObject
+24 (int (*)(...))QDockWidget::qt_metacast
+32 (int (*)(...))QDockWidget::qt_metacall
+40 (int (*)(...))QDockWidget::~QDockWidget
+48 (int (*)(...))QDockWidget::~QDockWidget
+56 (int (*)(...))QDockWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDockWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QDockWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDockWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QDockWidget)
+448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDockWidget
+ size=48 align=8
+ base size=48 base align=8
+QDockWidget (0x0x7f9a4a176548) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x0x7f9a4a22ed90) 0
+ primary-for QDockWidget (0x0x7f9a4a176548)
+ QObject (0x0x7f9a4a169a20) 0
+ primary-for QWidget (0x0x7f9a4a22ed90)
+ QPaintDevice (0x0x7f9a4a169a80) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 448u)
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x0x7f9a4a2bb180) 0
+
+Class QErrorMessage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QErrorMessage::QPrivateSignal (0x0x7f9a4a2bb420) 0 empty
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 (int (*)(...))QErrorMessage::metaObject
+24 (int (*)(...))QErrorMessage::qt_metacast
+32 (int (*)(...))QErrorMessage::qt_metacall
+40 (int (*)(...))QErrorMessage::~QErrorMessage
+48 (int (*)(...))QErrorMessage::~QErrorMessage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QErrorMessage::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QErrorMessage::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QErrorMessage
+ size=48 align=8
+ base size=48 base align=8
+QErrorMessage (0x0x7f9a4a176c30) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x0x7f9a4a176c98) 0
+ primary-for QErrorMessage (0x0x7f9a4a176c30)
+ QWidget (0x0x7f9a4a2ef7e0) 0
+ primary-for QDialog (0x0x7f9a4a176c98)
+ QObject (0x0x7f9a4a2bb360) 0
+ primary-for QWidget (0x0x7f9a4a2ef7e0)
+ QPaintDevice (0x0x7f9a4a2bb3c0) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Class QFileDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDialog::QPrivateSignal (0x0x7f9a4a2bb540) 0 empty
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 (int (*)(...))QFileDialog::metaObject
+24 (int (*)(...))QFileDialog::qt_metacast
+32 (int (*)(...))QFileDialog::qt_metacall
+40 (int (*)(...))QFileDialog::~QFileDialog
+48 (int (*)(...))QFileDialog::~QFileDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFileDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFileDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFileDialog::done
+456 (int (*)(...))QFileDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFileDialog
+ size=48 align=8
+ base size=48 base align=8
+QFileDialog (0x0x7f9a4a176d00) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x0x7f9a4a176d68) 0
+ primary-for QFileDialog (0x0x7f9a4a176d00)
+ QWidget (0x0x7f9a4a2efaf0) 0
+ primary-for QDialog (0x0x7f9a4a176d68)
+ QObject (0x0x7f9a4a2bb480) 0
+ primary-for QWidget (0x0x7f9a4a2efaf0)
+ QPaintDevice (0x0x7f9a4a2bb4e0) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Class QFileSystemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemModel::QPrivateSignal (0x0x7f9a4a2bb780) 0 empty
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 (int (*)(...))QFileSystemModel::metaObject
+24 (int (*)(...))QFileSystemModel::qt_metacast
+32 (int (*)(...))QFileSystemModel::qt_metacall
+40 (int (*)(...))QFileSystemModel::~QFileSystemModel
+48 (int (*)(...))QFileSystemModel::~QFileSystemModel
+56 (int (*)(...))QFileSystemModel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QFileSystemModel::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileSystemModel::index
+120 (int (*)(...))QFileSystemModel::parent
+128 (int (*)(...))QFileSystemModel::sibling
+136 (int (*)(...))QFileSystemModel::rowCount
+144 (int (*)(...))QFileSystemModel::columnCount
+152 (int (*)(...))QFileSystemModel::hasChildren
+160 (int (*)(...))QFileSystemModel::data
+168 (int (*)(...))QFileSystemModel::setData
+176 (int (*)(...))QFileSystemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QFileSystemModel::mimeTypes
+216 (int (*)(...))QFileSystemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QFileSystemModel::dropMimeData
+240 (int (*)(...))QFileSystemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QFileSystemModel::fetchMore
+312 (int (*)(...))QFileSystemModel::canFetchMore
+320 (int (*)(...))QFileSystemModel::flags
+328 (int (*)(...))QFileSystemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x0x7f9a4a176ea0) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x0x7f9a4a176f08) 0
+ primary-for QFileSystemModel (0x0x7f9a4a176ea0)
+ QObject (0x0x7f9a4a2bb720) 0
+ primary-for QAbstractItemModel (0x0x7f9a4a176f08)
+
+Class QFocusFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFocusFrame::QPrivateSignal (0x0x7f9a4a2bb900) 0 empty
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 (int (*)(...))QFocusFrame::metaObject
+24 (int (*)(...))QFocusFrame::qt_metacast
+32 (int (*)(...))QFocusFrame::qt_metacall
+40 (int (*)(...))QFocusFrame::~QFocusFrame
+48 (int (*)(...))QFocusFrame::~QFocusFrame
+56 (int (*)(...))QFocusFrame::event
+64 (int (*)(...))QFocusFrame::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFocusFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QFocusFrame)
+448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFocusFrame
+ size=48 align=8
+ base size=48 base align=8
+QFocusFrame (0x0x7f9a4a176f70) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x0x7f9a49fc21c0) 0
+ primary-for QFocusFrame (0x0x7f9a4a176f70)
+ QObject (0x0x7f9a4a2bb840) 0
+ primary-for QWidget (0x0x7f9a49fc21c0)
+ QPaintDevice (0x0x7f9a4a2bb8a0) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448u)
+
+Class QFontComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontComboBox::QPrivateSignal (0x0x7f9a4a2bba20) 0 empty
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 (int (*)(...))QFontComboBox::metaObject
+24 (int (*)(...))QFontComboBox::qt_metacast
+32 (int (*)(...))QFontComboBox::qt_metacall
+40 (int (*)(...))QFontComboBox::~QFontComboBox
+48 (int (*)(...))QFontComboBox::~QFontComboBox
+56 (int (*)(...))QFontComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFontComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI13QFontComboBox)
+464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontComboBox
+ size=48 align=8
+ base size=48 base align=8
+QFontComboBox (0x0x7f9a49fd6000) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x0x7f9a49fd6068) 0
+ primary-for QFontComboBox (0x0x7f9a49fd6000)
+ QWidget (0x0x7f9a49fc24d0) 0
+ primary-for QComboBox (0x0x7f9a49fd6068)
+ QObject (0x0x7f9a4a2bb960) 0
+ primary-for QWidget (0x0x7f9a49fc24d0)
+ QPaintDevice (0x0x7f9a4a2bb9c0) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464u)
+
+Class QFontDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontDialog::QPrivateSignal (0x0x7f9a4a2bbcc0) 0 empty
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 (int (*)(...))QFontDialog::metaObject
+24 (int (*)(...))QFontDialog::qt_metacast
+32 (int (*)(...))QFontDialog::qt_metacall
+40 (int (*)(...))QFontDialog::~QFontDialog
+48 (int (*)(...))QFontDialog::~QFontDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QFontDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFontDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFontDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFontDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontDialog
+ size=48 align=8
+ base size=48 base align=8
+QFontDialog (0x0x7f9a49fd6208) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x0x7f9a49fd6270) 0
+ primary-for QFontDialog (0x0x7f9a49fd6208)
+ QWidget (0x0x7f9a4a00e4d0) 0
+ primary-for QDialog (0x0x7f9a49fd6270)
+ QObject (0x0x7f9a4a2bbc00) 0
+ primary-for QWidget (0x0x7f9a4a00e4d0)
+ QPaintDevice (0x0x7f9a4a2bbc60) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Class QFormLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFormLayout::QPrivateSignal (0x0x7f9a4a2bbf60) 0 empty
+
+Class QFormLayout::TakeRowResult
+ size=16 align=8
+ base size=16 base align=8
+QFormLayout::TakeRowResult (0x0x7f9a4a073000) 0
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 (int (*)(...))QFormLayout::metaObject
+24 (int (*)(...))QFormLayout::qt_metacast
+32 (int (*)(...))QFormLayout::qt_metacall
+40 (int (*)(...))QFormLayout::~QFormLayout
+48 (int (*)(...))QFormLayout::~QFormLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFormLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QFormLayout::addItem
+136 (int (*)(...))QFormLayout::expandingDirections
+144 (int (*)(...))QFormLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QFormLayout::setGeometry
+168 (int (*)(...))QFormLayout::itemAt
+176 (int (*)(...))QFormLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QFormLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QFormLayout::sizeHint
+232 (int (*)(...))QFormLayout::hasHeightForWidth
+240 (int (*)(...))QFormLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI11QFormLayout)
+264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x0x7f9a49fd63a8) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x0x7f9a4a04d8c0) 0
+ primary-for QFormLayout (0x0x7f9a49fd63a8)
+ QObject (0x0x7f9a4a2bbea0) 0
+ primary-for QLayout (0x0x7f9a4a04d8c0)
+ QLayoutItem (0x0x7f9a4a2bbf00) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 264u)
+
+Class QGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGesture::QPrivateSignal (0x0x7f9a4a073540) 0 empty
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 (int (*)(...))QGesture::metaObject
+24 (int (*)(...))QGesture::qt_metacast
+32 (int (*)(...))QGesture::qt_metacall
+40 (int (*)(...))QGesture::~QGesture
+48 (int (*)(...))QGesture::~QGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x0x7f9a49fd65b0) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x0x7f9a4a0734e0) 0
+ primary-for QGesture (0x0x7f9a49fd65b0)
+
+Class QPanGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPanGesture::QPrivateSignal (0x0x7f9a4a073600) 0 empty
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 (int (*)(...))QPanGesture::metaObject
+24 (int (*)(...))QPanGesture::qt_metacast
+32 (int (*)(...))QPanGesture::qt_metacall
+40 (int (*)(...))QPanGesture::~QPanGesture
+48 (int (*)(...))QPanGesture::~QPanGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x0x7f9a49fd6618) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x0x7f9a49fd6680) 0
+ primary-for QPanGesture (0x0x7f9a49fd6618)
+ QObject (0x0x7f9a4a0735a0) 0
+ primary-for QGesture (0x0x7f9a49fd6680)
+
+Class QPinchGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPinchGesture::QPrivateSignal (0x0x7f9a4a0736c0) 0 empty
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 (int (*)(...))QPinchGesture::metaObject
+24 (int (*)(...))QPinchGesture::qt_metacast
+32 (int (*)(...))QPinchGesture::qt_metacall
+40 (int (*)(...))QPinchGesture::~QPinchGesture
+48 (int (*)(...))QPinchGesture::~QPinchGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x0x7f9a49fd66e8) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x0x7f9a49fd6750) 0
+ primary-for QPinchGesture (0x0x7f9a49fd66e8)
+ QObject (0x0x7f9a4a073660) 0
+ primary-for QGesture (0x0x7f9a49fd6750)
+
+Class QSwipeGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSwipeGesture::QPrivateSignal (0x0x7f9a4a073a20) 0 empty
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 (int (*)(...))QSwipeGesture::metaObject
+24 (int (*)(...))QSwipeGesture::qt_metacast
+32 (int (*)(...))QSwipeGesture::qt_metacall
+40 (int (*)(...))QSwipeGesture::~QSwipeGesture
+48 (int (*)(...))QSwipeGesture::~QSwipeGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x0x7f9a49fd6888) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x0x7f9a49fd68f0) 0
+ primary-for QSwipeGesture (0x0x7f9a49fd6888)
+ QObject (0x0x7f9a4a0739c0) 0
+ primary-for QGesture (0x0x7f9a49fd68f0)
+
+Class QTapGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapGesture::QPrivateSignal (0x0x7f9a4a073b40) 0 empty
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 (int (*)(...))QTapGesture::metaObject
+24 (int (*)(...))QTapGesture::qt_metacast
+32 (int (*)(...))QTapGesture::qt_metacall
+40 (int (*)(...))QTapGesture::~QTapGesture
+48 (int (*)(...))QTapGesture::~QTapGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x0x7f9a49fd6958) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x0x7f9a49fd69c0) 0
+ primary-for QTapGesture (0x0x7f9a49fd6958)
+ QObject (0x0x7f9a4a073ae0) 0
+ primary-for QGesture (0x0x7f9a49fd69c0)
+
+Class QTapAndHoldGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapAndHoldGesture::QPrivateSignal (0x0x7f9a4a073c00) 0 empty
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 (int (*)(...))QTapAndHoldGesture::metaObject
+24 (int (*)(...))QTapAndHoldGesture::qt_metacast
+32 (int (*)(...))QTapAndHoldGesture::qt_metacall
+40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x0x7f9a49fd6a28) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x0x7f9a49fd6a90) 0
+ primary-for QTapAndHoldGesture (0x0x7f9a49fd6a28)
+ QObject (0x0x7f9a4a073ba0) 0
+ primary-for QGesture (0x0x7f9a49fd6a90)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 (int (*)(...))QGestureEvent::~QGestureEvent
+24 (int (*)(...))QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=56 align=8
+ base size=56 base align=8
+QGestureEvent (0x0x7f9a49fd6af8) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x0x7f9a4a073c60) 0
+ primary-for QGestureEvent (0x0x7f9a49fd6af8)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 0u
+24 0u
+32 (int (*)(...))QGestureRecognizer::create
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x0x7f9a5baf0660) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItem::isObscuredBy
+88 (int (*)(...))QGraphicsItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x0x7f9a5bb66660) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Class QGraphicsObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsObject::QPrivateSignal (0x0x7f9a5442b300) 0 empty
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 (int (*)(...))QGraphicsObject::metaObject
+24 (int (*)(...))QGraphicsObject::qt_metacast
+32 (int (*)(...))QGraphicsObject::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))-16
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 0u
+136 0u
+144 (int (*)(...))QGraphicsItem::advance
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QGraphicsItem::shape
+168 (int (*)(...))QGraphicsItem::contains
+176 (int (*)(...))QGraphicsItem::collidesWithItem
+184 (int (*)(...))QGraphicsItem::collidesWithPath
+192 (int (*)(...))QGraphicsItem::isObscuredBy
+200 (int (*)(...))QGraphicsItem::opaqueArea
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))QGraphicsItem::type
+224 (int (*)(...))QGraphicsItem::sceneEventFilter
+232 (int (*)(...))QGraphicsItem::sceneEvent
+240 (int (*)(...))QGraphicsItem::contextMenuEvent
+248 (int (*)(...))QGraphicsItem::dragEnterEvent
+256 (int (*)(...))QGraphicsItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsItem::dragMoveEvent
+272 (int (*)(...))QGraphicsItem::dropEvent
+280 (int (*)(...))QGraphicsItem::focusInEvent
+288 (int (*)(...))QGraphicsItem::focusOutEvent
+296 (int (*)(...))QGraphicsItem::hoverEnterEvent
+304 (int (*)(...))QGraphicsItem::hoverMoveEvent
+312 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+320 (int (*)(...))QGraphicsItem::keyPressEvent
+328 (int (*)(...))QGraphicsItem::keyReleaseEvent
+336 (int (*)(...))QGraphicsItem::mousePressEvent
+344 (int (*)(...))QGraphicsItem::mouseMoveEvent
+352 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+368 (int (*)(...))QGraphicsItem::wheelEvent
+376 (int (*)(...))QGraphicsItem::inputMethodEvent
+384 (int (*)(...))QGraphicsItem::inputMethodQuery
+392 (int (*)(...))QGraphicsItem::itemChange
+400 (int (*)(...))QGraphicsItem::supportsExtension
+408 (int (*)(...))QGraphicsItem::setExtension
+416 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x0x7f9a56ee2d90) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x0x7f9a55fc6ea0) 0
+ primary-for QGraphicsObject (0x0x7f9a56ee2d90)
+ QGraphicsItem (0x0x7f9a5442b2a0) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy
+88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x0x7f9a55e3a000) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x0x7f9a5442b600) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f9a55e3a000)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPathItem::boundingRect
+48 (int (*)(...))QGraphicsPathItem::shape
+56 (int (*)(...))QGraphicsPathItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPathItem::isObscuredBy
+88 (int (*)(...))QGraphicsPathItem::opaqueArea
+96 (int (*)(...))QGraphicsPathItem::paint
+104 (int (*)(...))QGraphicsPathItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPathItem::supportsExtension
+296 (int (*)(...))QGraphicsPathItem::setExtension
+304 (int (*)(...))QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x0x7f9a55e3a068) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f9a55e3a0d0) 0
+ primary-for QGraphicsPathItem (0x0x7f9a55e3a068)
+ QGraphicsItem (0x0x7f9a5442b660) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f9a55e3a0d0)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsRectItem::boundingRect
+48 (int (*)(...))QGraphicsRectItem::shape
+56 (int (*)(...))QGraphicsRectItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsRectItem::isObscuredBy
+88 (int (*)(...))QGraphicsRectItem::opaqueArea
+96 (int (*)(...))QGraphicsRectItem::paint
+104 (int (*)(...))QGraphicsRectItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsRectItem::supportsExtension
+296 (int (*)(...))QGraphicsRectItem::setExtension
+304 (int (*)(...))QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x0x7f9a55a8b068) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f9a55a8b208) 0
+ primary-for QGraphicsRectItem (0x0x7f9a55a8b068)
+ QGraphicsItem (0x0x7f9a54055c60) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f9a55a8b208)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsEllipseItem::boundingRect
+48 (int (*)(...))QGraphicsEllipseItem::shape
+56 (int (*)(...))QGraphicsEllipseItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy
+88 (int (*)(...))QGraphicsEllipseItem::opaqueArea
+96 (int (*)(...))QGraphicsEllipseItem::paint
+104 (int (*)(...))QGraphicsEllipseItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsEllipseItem::supportsExtension
+296 (int (*)(...))QGraphicsEllipseItem::setExtension
+304 (int (*)(...))QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x0x7f9a55a8b270) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f9a54bdc1a0) 0
+ primary-for QGraphicsEllipseItem (0x0x7f9a55a8b270)
+ QGraphicsItem (0x0x7f9a54055cc0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f9a54bdc1a0)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPolygonItem::boundingRect
+48 (int (*)(...))QGraphicsPolygonItem::shape
+56 (int (*)(...))QGraphicsPolygonItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy
+88 (int (*)(...))QGraphicsPolygonItem::opaqueArea
+96 (int (*)(...))QGraphicsPolygonItem::paint
+104 (int (*)(...))QGraphicsPolygonItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPolygonItem::supportsExtension
+296 (int (*)(...))QGraphicsPolygonItem::setExtension
+304 (int (*)(...))QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x0x7f9a54bdc8f0) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f9a54bdc958) 0
+ primary-for QGraphicsPolygonItem (0x0x7f9a54bdc8f0)
+ QGraphicsItem (0x0x7f9a53cad600) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f9a54bdc958)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsLineItem::boundingRect
+48 (int (*)(...))QGraphicsLineItem::shape
+56 (int (*)(...))QGraphicsLineItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsLineItem::isObscuredBy
+88 (int (*)(...))QGraphicsLineItem::opaqueArea
+96 (int (*)(...))QGraphicsLineItem::paint
+104 (int (*)(...))QGraphicsLineItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsLineItem::supportsExtension
+296 (int (*)(...))QGraphicsLineItem::setExtension
+304 (int (*)(...))QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x0x7f9a54bdc9c0) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x0x7f9a53cad660) 0
+ primary-for QGraphicsLineItem (0x0x7f9a54bdc9c0)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPixmapItem::boundingRect
+48 (int (*)(...))QGraphicsPixmapItem::shape
+56 (int (*)(...))QGraphicsPixmapItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy
+88 (int (*)(...))QGraphicsPixmapItem::opaqueArea
+96 (int (*)(...))QGraphicsPixmapItem::paint
+104 (int (*)(...))QGraphicsPixmapItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPixmapItem::supportsExtension
+296 (int (*)(...))QGraphicsPixmapItem::setExtension
+304 (int (*)(...))QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x0x7f9a54bdca28) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x0x7f9a53cadd20) 0
+ primary-for QGraphicsPixmapItem (0x0x7f9a54bdca28)
+
+Class QGraphicsTextItem::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTextItem::QPrivateSignal (0x0x7f9a53cadf00) 0 empty
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 (int (*)(...))QGraphicsTextItem::metaObject
+24 (int (*)(...))QGraphicsTextItem::qt_metacast
+32 (int (*)(...))QGraphicsTextItem::qt_metacall
+40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsTextItem::boundingRect
+120 (int (*)(...))QGraphicsTextItem::shape
+128 (int (*)(...))QGraphicsTextItem::contains
+136 (int (*)(...))QGraphicsTextItem::paint
+144 (int (*)(...))QGraphicsTextItem::isObscuredBy
+152 (int (*)(...))QGraphicsTextItem::opaqueArea
+160 (int (*)(...))QGraphicsTextItem::type
+168 (int (*)(...))QGraphicsTextItem::sceneEvent
+176 (int (*)(...))QGraphicsTextItem::mousePressEvent
+184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent
+192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent
+200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent
+208 (int (*)(...))QGraphicsTextItem::contextMenuEvent
+216 (int (*)(...))QGraphicsTextItem::keyPressEvent
+224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent
+232 (int (*)(...))QGraphicsTextItem::focusInEvent
+240 (int (*)(...))QGraphicsTextItem::focusOutEvent
+248 (int (*)(...))QGraphicsTextItem::dragEnterEvent
+256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsTextItem::dragMoveEvent
+272 (int (*)(...))QGraphicsTextItem::dropEvent
+280 (int (*)(...))QGraphicsTextItem::inputMethodEvent
+288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent
+296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent
+304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent
+312 (int (*)(...))QGraphicsTextItem::inputMethodQuery
+320 (int (*)(...))QGraphicsTextItem::supportsExtension
+328 (int (*)(...))QGraphicsTextItem::setExtension
+336 (int (*)(...))QGraphicsTextItem::extension
+344 (int (*)(...))-16
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 (int (*)(...))QGraphicsItem::advance
+384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 (int (*)(...))QGraphicsItem::collidesWithItem
+416 (int (*)(...))QGraphicsItem::collidesWithPath
+424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 (int (*)(...))QGraphicsItem::sceneEventFilter
+464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 (int (*)(...))QGraphicsItem::wheelEvent
+608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 (int (*)(...))QGraphicsItem::itemChange
+632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x0x7f9a54bdca90) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x0x7f9a56f164d0) 0
+ primary-for QGraphicsTextItem (0x0x7f9a54bdca90)
+ QObject (0x0x7f9a53cadd80) 0
+ primary-for QGraphicsObject (0x0x7f9a56f164d0)
+ QGraphicsItem (0x0x7f9a53cade40) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect
+48 (int (*)(...))QGraphicsSimpleTextItem::shape
+56 (int (*)(...))QGraphicsSimpleTextItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy
+88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea
+96 (int (*)(...))QGraphicsSimpleTextItem::paint
+104 (int (*)(...))QGraphicsSimpleTextItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension
+296 (int (*)(...))QGraphicsSimpleTextItem::setExtension
+304 (int (*)(...))QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x0x7f9a547e6dd0) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f9a547e6e38) 0
+ primary-for QGraphicsSimpleTextItem (0x0x7f9a547e6dd0)
+ QGraphicsItem (0x0x7f9a53cd1a80) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f9a547e6e38)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsItemGroup::boundingRect
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItemGroup::isObscuredBy
+88 (int (*)(...))QGraphicsItemGroup::opaqueArea
+96 (int (*)(...))QGraphicsItemGroup::paint
+104 (int (*)(...))QGraphicsItemGroup::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x0x7f9a53cb2068) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x0x7f9a53cfc180) 0
+ primary-for QGraphicsItemGroup (0x0x7f9a53cb2068)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins
+48 (int (*)(...))QGraphicsLayoutItem::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x0x7f9a53deed20) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))QGraphicsLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x0x7f9a53cb20d0) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x0x7f9a53b048a0) 0
+ primary-for QGraphicsLayout (0x0x7f9a53cb20d0)
+
+Class QGraphicsAnchor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsAnchor::QPrivateSignal (0x0x7f9a53b049c0) 0 empty
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 (int (*)(...))QGraphicsAnchor::metaObject
+24 (int (*)(...))QGraphicsAnchor::qt_metacast
+32 (int (*)(...))QGraphicsAnchor::qt_metacall
+40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x0x7f9a53cb2680) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x0x7f9a53b04960) 0
+ primary-for QGraphicsAnchor (0x0x7f9a53cb2680)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 (int (*)(...))QGraphicsAnchorLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsAnchorLayout::sizeHint
+64 (int (*)(...))QGraphicsAnchorLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsAnchorLayout::count
+88 (int (*)(...))QGraphicsAnchorLayout::itemAt
+96 (int (*)(...))QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x0x7f9a53cb26e8) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x0x7f9a53cd0680) 0
+ primary-for QGraphicsAnchorLayout (0x0x7f9a53cb26e8)
+ QGraphicsLayoutItem (0x0x7f9a53b04a20) 0
+ primary-for QGraphicsLayout (0x0x7f9a53cd0680)
+
+Class QGraphicsEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsEffect::QPrivateSignal (0x0x7f9a53b04ae0) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 (int (*)(...))QGraphicsEffect::metaObject
+24 (int (*)(...))QGraphicsEffect::qt_metacast
+32 (int (*)(...))QGraphicsEffect::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x0x7f9a53cd06e8) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x0x7f9a53b04a80) 0
+ primary-for QGraphicsEffect (0x0x7f9a53cd06e8)
+
+Class QGraphicsColorizeEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsColorizeEffect::QPrivateSignal (0x0x7f9a53b04d80) 0 empty
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 (int (*)(...))QGraphicsColorizeEffect::metaObject
+24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast
+32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall
+40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsColorizeEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x0x7f9a53cee680) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x0x7f9a53cee6e8) 0
+ primary-for QGraphicsColorizeEffect (0x0x7f9a53cee680)
+ QObject (0x0x7f9a53b04d20) 0
+ primary-for QGraphicsEffect (0x0x7f9a53cee6e8)
+
+Class QGraphicsBlurEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsBlurEffect::QPrivateSignal (0x0x7f9a53882ea0) 0 empty
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 (int (*)(...))QGraphicsBlurEffect::metaObject
+24 (int (*)(...))QGraphicsBlurEffect::qt_metacast
+32 (int (*)(...))QGraphicsBlurEffect::qt_metacall
+40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor
+120 (int (*)(...))QGraphicsBlurEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x0x7f9a53ceeb60) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x0x7f9a53ceebc8) 0
+ primary-for QGraphicsBlurEffect (0x0x7f9a53ceeb60)
+ QObject (0x0x7f9a53b04de0) 0
+ primary-for QGraphicsEffect (0x0x7f9a53ceebc8)
+
+Class QGraphicsDropShadowEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsDropShadowEffect::QPrivateSignal (0x0x7f9a53a1a3c0) 0 empty
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 (int (*)(...))QGraphicsDropShadowEffect::metaObject
+24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast
+32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall
+40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor
+120 (int (*)(...))QGraphicsDropShadowEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x0x7f9a53ac88f0) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x0x7f9a53ac8958) 0
+ primary-for QGraphicsDropShadowEffect (0x0x7f9a53ac88f0)
+ QObject (0x0x7f9a53a1a360) 0
+ primary-for QGraphicsEffect (0x0x7f9a53ac8958)
+
+Class QGraphicsOpacityEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsOpacityEffect::QPrivateSignal (0x0x7f9a534f2480) 0 empty
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 (int (*)(...))QGraphicsOpacityEffect::metaObject
+24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast
+32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall
+40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsOpacityEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x0x7f9a53ac89c0) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x0x7f9a53ac8a28) 0
+ primary-for QGraphicsOpacityEffect (0x0x7f9a53ac89c0)
+ QObject (0x0x7f9a534f2420) 0
+ primary-for QGraphicsEffect (0x0x7f9a53ac8a28)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+32 (int (*)(...))QGraphicsGridLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsGridLayout::sizeHint
+64 (int (*)(...))QGraphicsGridLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsGridLayout::count
+88 (int (*)(...))QGraphicsGridLayout::itemAt
+96 (int (*)(...))QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x0x7f9a53ac8a90) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x0x7f9a53ac8af8) 0
+ primary-for QGraphicsGridLayout (0x0x7f9a53ac8a90)
+ QGraphicsLayoutItem (0x0x7f9a534f2540) 0
+ primary-for QGraphicsLayout (0x0x7f9a53ac8af8)
+
+Class QGraphicsItemAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsItemAnimation::QPrivateSignal (0x0x7f9a534f2780) 0 empty
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 (int (*)(...))QGraphicsItemAnimation::metaObject
+24 (int (*)(...))QGraphicsItemAnimation::qt_metacast
+32 (int (*)(...))QGraphicsItemAnimation::qt_metacall
+40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep
+120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x0x7f9a53ac8bc8) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x0x7f9a534f2720) 0
+ primary-for QGraphicsItemAnimation (0x0x7f9a53ac8bc8)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 (int (*)(...))QGraphicsLinearLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsLinearLayout::sizeHint
+64 (int (*)(...))QGraphicsLinearLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsLinearLayout::count
+88 (int (*)(...))QGraphicsLinearLayout::itemAt
+96 (int (*)(...))QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x0x7f9a53ac8c30) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x0x7f9a53ac8c98) 0
+ primary-for QGraphicsLinearLayout (0x0x7f9a53ac8c30)
+ QGraphicsLayoutItem (0x0x7f9a53518300) 0
+ primary-for QGraphicsLayout (0x0x7f9a53ac8c98)
+
+Class QGraphicsWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsWidget::QPrivateSignal (0x0x7f9a53518d80) 0 empty
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 (int (*)(...))QGraphicsWidget::metaObject
+24 (int (*)(...))QGraphicsWidget::qt_metacast
+32 (int (*)(...))QGraphicsWidget::qt_metacall
+40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+56 (int (*)(...))QGraphicsWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsWidget::type
+136 (int (*)(...))QGraphicsWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsWidget::focusInEvent
+256 (int (*)(...))QGraphicsWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsWidget::focusOutEvent
+272 (int (*)(...))QGraphicsWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsWidget::resizeEvent
+304 (int (*)(...))QGraphicsWidget::showEvent
+312 (int (*)(...))QGraphicsWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-16
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 (int (*)(...))QGraphicsItem::advance
+400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 (int (*)(...))QGraphicsItem::contains
+424 (int (*)(...))QGraphicsItem::collidesWithItem
+432 (int (*)(...))QGraphicsItem::collidesWithPath
+440 (int (*)(...))QGraphicsItem::isObscuredBy
+448 (int (*)(...))QGraphicsItem::opaqueArea
+456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 (int (*)(...))QGraphicsItem::sceneEventFilter
+480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 (int (*)(...))QGraphicsItem::contextMenuEvent
+496 (int (*)(...))QGraphicsItem::dragEnterEvent
+504 (int (*)(...))QGraphicsItem::dragLeaveEvent
+512 (int (*)(...))QGraphicsItem::dragMoveEvent
+520 (int (*)(...))QGraphicsItem::dropEvent
+528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 (int (*)(...))QGraphicsItem::hoverEnterEvent
+552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 (int (*)(...))QGraphicsItem::keyPressEvent
+576 (int (*)(...))QGraphicsItem::keyReleaseEvent
+584 (int (*)(...))QGraphicsItem::mousePressEvent
+592 (int (*)(...))QGraphicsItem::mouseMoveEvent
+600 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+616 (int (*)(...))QGraphicsItem::wheelEvent
+624 (int (*)(...))QGraphicsItem::inputMethodEvent
+632 (int (*)(...))QGraphicsItem::inputMethodQuery
+640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 (int (*)(...))QGraphicsItem::supportsExtension
+656 (int (*)(...))QGraphicsItem::setExtension
+664 (int (*)(...))QGraphicsItem::extension
+672 (int (*)(...))-32
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x0x7f9a56aca8c0) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x0x7f9a56aca9a0) 0
+ primary-for QGraphicsWidget (0x0x7f9a56aca8c0)
+ QObject (0x0x7f9a53518360) 0
+ primary-for QGraphicsObject (0x0x7f9a56aca9a0)
+ QGraphicsItem (0x0x7f9a53518c60) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x0x7f9a53518cc0) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Class QGraphicsProxyWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsProxyWidget::QPrivateSignal (0x0x7f9a53537f60) 0 empty
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 (int (*)(...))QGraphicsProxyWidget::metaObject
+24 (int (*)(...))QGraphicsProxyWidget::qt_metacast
+32 (int (*)(...))QGraphicsProxyWidget::qt_metacall
+40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 (int (*)(...))QGraphicsProxyWidget::event
+64 (int (*)(...))QGraphicsProxyWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsProxyWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsProxyWidget::type
+136 (int (*)(...))QGraphicsProxyWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsProxyWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsProxyWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsProxyWidget::focusInEvent
+256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent
+272 (int (*)(...))QGraphicsProxyWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsProxyWidget::resizeEvent
+304 (int (*)(...))QGraphicsProxyWidget::showEvent
+312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent
+368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent
+376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent
+384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent
+392 (int (*)(...))QGraphicsProxyWidget::dropEvent
+400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent
+408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent
+416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent
+424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent
+432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent
+440 (int (*)(...))QGraphicsProxyWidget::wheelEvent
+448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent
+456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery
+472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent
+480 (int (*)(...))-16
+488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+512 (int (*)(...))QGraphicsItem::advance
+520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+536 (int (*)(...))QGraphicsItem::contains
+544 (int (*)(...))QGraphicsItem::collidesWithItem
+552 (int (*)(...))QGraphicsItem::collidesWithPath
+560 (int (*)(...))QGraphicsItem::isObscuredBy
+568 (int (*)(...))QGraphicsItem::opaqueArea
+576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+592 (int (*)(...))QGraphicsItem::sceneEventFilter
+600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent
+752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE
+760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+768 (int (*)(...))QGraphicsItem::supportsExtension
+776 (int (*)(...))QGraphicsItem::setExtension
+784 (int (*)(...))QGraphicsItem::extension
+792 (int (*)(...))-32
+800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x0x7f9a53ac8dd0) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x0x7f9a56ae2620) 0
+ primary-for QGraphicsProxyWidget (0x0x7f9a53ac8dd0)
+ QGraphicsObject (0x0x7f9a56ae2700) 0
+ primary-for QGraphicsWidget (0x0x7f9a56ae2620)
+ QObject (0x0x7f9a53537660) 0
+ primary-for QGraphicsObject (0x0x7f9a56ae2700)
+ QGraphicsItem (0x0x7f9a53537e40) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496u)
+ QGraphicsLayoutItem (0x0x7f9a53537ea0) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808u)
+
+Class QGraphicsScene::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScene::QPrivateSignal (0x0x7f9a52d3db40) 0 empty
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 (int (*)(...))QGraphicsScene::metaObject
+24 (int (*)(...))QGraphicsScene::qt_metacast
+32 (int (*)(...))QGraphicsScene::qt_metacall
+40 (int (*)(...))QGraphicsScene::~QGraphicsScene
+48 (int (*)(...))QGraphicsScene::~QGraphicsScene
+56 (int (*)(...))QGraphicsScene::event
+64 (int (*)(...))QGraphicsScene::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScene::inputMethodQuery
+120 (int (*)(...))QGraphicsScene::contextMenuEvent
+128 (int (*)(...))QGraphicsScene::dragEnterEvent
+136 (int (*)(...))QGraphicsScene::dragMoveEvent
+144 (int (*)(...))QGraphicsScene::dragLeaveEvent
+152 (int (*)(...))QGraphicsScene::dropEvent
+160 (int (*)(...))QGraphicsScene::focusInEvent
+168 (int (*)(...))QGraphicsScene::focusOutEvent
+176 (int (*)(...))QGraphicsScene::helpEvent
+184 (int (*)(...))QGraphicsScene::keyPressEvent
+192 (int (*)(...))QGraphicsScene::keyReleaseEvent
+200 (int (*)(...))QGraphicsScene::mousePressEvent
+208 (int (*)(...))QGraphicsScene::mouseMoveEvent
+216 (int (*)(...))QGraphicsScene::mouseReleaseEvent
+224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent
+232 (int (*)(...))QGraphicsScene::wheelEvent
+240 (int (*)(...))QGraphicsScene::inputMethodEvent
+248 (int (*)(...))QGraphicsScene::drawBackground
+256 (int (*)(...))QGraphicsScene::drawForeground
+264 (int (*)(...))QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x0x7f9a53b43000) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x0x7f9a52d3d720) 0
+ primary-for QGraphicsScene (0x0x7f9a53b43000)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x0x7f9a53b437b8) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x0x7f9a52a97ea0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a53b437b8)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x0x7f9a53b43888) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a53b438f0) 0
+ primary-for QGraphicsSceneMouseEvent (0x0x7f9a53b43888)
+ QEvent (0x0x7f9a52abdb40) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a53b438f0)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x0x7f9a53b43958) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a53b439c0) 0
+ primary-for QGraphicsSceneWheelEvent (0x0x7f9a53b43958)
+ QEvent (0x0x7f9a52abdd80) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a53b439c0)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x0x7f9a53b43a28) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a53b43a90) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x0x7f9a53b43a28)
+ QEvent (0x0x7f9a52abdde0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a53b43a90)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x0x7f9a53b43af8) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a53b43b60) 0
+ primary-for QGraphicsSceneHoverEvent (0x0x7f9a53b43af8)
+ QEvent (0x0x7f9a5239d060) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a53b43b60)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x0x7f9a53b43bc8) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a538f7d00) 0
+ primary-for QGraphicsSceneHelpEvent (0x0x7f9a53b43bc8)
+ QEvent (0x0x7f9a5239d0c0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a538f7d00)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x0x7f9a538f7dd0) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a5366bf70) 0
+ primary-for QGraphicsSceneDragDropEvent (0x0x7f9a538f7dd0)
+ QEvent (0x0x7f9a5239d4e0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a5366bf70)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x0x7f9a5366b888) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a5366b8f0) 0
+ primary-for QGraphicsSceneResizeEvent (0x0x7f9a5366b888)
+ QEvent (0x0x7f9a5239d540) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a5366b8f0)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x0x7f9a5366b958) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f9a5366bb60) 0
+ primary-for QGraphicsSceneMoveEvent (0x0x7f9a5366b958)
+ QEvent (0x0x7f9a5239dc60) 0
+ primary-for QGraphicsSceneEvent (0x0x7f9a5366bb60)
+
+Class QGraphicsTransform::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTransform::QPrivateSignal (0x0x7f9a523d9540) 0 empty
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 (int (*)(...))QGraphicsTransform::metaObject
+24 (int (*)(...))QGraphicsTransform::qt_metacast
+32 (int (*)(...))QGraphicsTransform::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x0x7f9a5366bbc8) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x0x7f9a5239dcc0) 0
+ primary-for QGraphicsTransform (0x0x7f9a5366bbc8)
+
+Class QGraphicsScale::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScale::QPrivateSignal (0x0x7f9a523d96c0) 0 empty
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 (int (*)(...))QGraphicsScale::metaObject
+24 (int (*)(...))QGraphicsScale::qt_metacast
+32 (int (*)(...))QGraphicsScale::qt_metacall
+40 (int (*)(...))QGraphicsScale::~QGraphicsScale
+48 (int (*)(...))QGraphicsScale::~QGraphicsScale
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x0x7f9a5366bc30) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x0x7f9a5366bc98) 0
+ primary-for QGraphicsScale (0x0x7f9a5366bc30)
+ QObject (0x0x7f9a523d95a0) 0
+ primary-for QGraphicsTransform (0x0x7f9a5366bc98)
+
+Class QGraphicsRotation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsRotation::QPrivateSignal (0x0x7f9a523d97e0) 0 empty
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 (int (*)(...))QGraphicsRotation::metaObject
+24 (int (*)(...))QGraphicsRotation::qt_metacast
+32 (int (*)(...))QGraphicsRotation::qt_metacall
+40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x0x7f9a5378c0d0) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x0x7f9a5378c138) 0
+ primary-for QGraphicsRotation (0x0x7f9a5378c0d0)
+ QObject (0x0x7f9a523d9720) 0
+ primary-for QGraphicsTransform (0x0x7f9a5378c138)
+
+Class QScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollArea::QPrivateSignal (0x0x7f9a523d9d80) 0 empty
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 (int (*)(...))QScrollArea::metaObject
+24 (int (*)(...))QScrollArea::qt_metacast
+32 (int (*)(...))QScrollArea::qt_metacall
+40 (int (*)(...))QScrollArea::~QScrollArea
+48 (int (*)(...))QScrollArea::~QScrollArea
+56 (int (*)(...))QScrollArea::event
+64 (int (*)(...))QScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QScrollArea::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QScrollArea::scrollContentsBy
+456 (int (*)(...))QScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QScrollArea (0x0x7f9a5378c1a0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x0x7f9a5378c208) 0
+ primary-for QScrollArea (0x0x7f9a5378c1a0)
+ QFrame (0x0x7f9a5378c680) 0
+ primary-for QAbstractScrollArea (0x0x7f9a5378c208)
+ QWidget (0x0x7f9a56b42cb0) 0
+ primary-for QFrame (0x0x7f9a5378c680)
+ QObject (0x0x7f9a523d9c60) 0
+ primary-for QWidget (0x0x7f9a56b42cb0)
+ QPaintDevice (0x0x7f9a523d9cc0) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Class QGraphicsView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsView::QPrivateSignal (0x0x7f9a523d9f00) 0 empty
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 (int (*)(...))QGraphicsView::metaObject
+24 (int (*)(...))QGraphicsView::qt_metacast
+32 (int (*)(...))QGraphicsView::qt_metacall
+40 (int (*)(...))QGraphicsView::~QGraphicsView
+48 (int (*)(...))QGraphicsView::~QGraphicsView
+56 (int (*)(...))QGraphicsView::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QGraphicsView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGraphicsView::mousePressEvent
+176 (int (*)(...))QGraphicsView::mouseReleaseEvent
+184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent
+192 (int (*)(...))QGraphicsView::mouseMoveEvent
+200 (int (*)(...))QGraphicsView::wheelEvent
+208 (int (*)(...))QGraphicsView::keyPressEvent
+216 (int (*)(...))QGraphicsView::keyReleaseEvent
+224 (int (*)(...))QGraphicsView::focusInEvent
+232 (int (*)(...))QGraphicsView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGraphicsView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGraphicsView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QGraphicsView::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QGraphicsView::dragEnterEvent
+320 (int (*)(...))QGraphicsView::dragMoveEvent
+328 (int (*)(...))QGraphicsView::dragLeaveEvent
+336 (int (*)(...))QGraphicsView::dropEvent
+344 (int (*)(...))QGraphicsView::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QGraphicsView::inputMethodEvent
+416 (int (*)(...))QGraphicsView::inputMethodQuery
+424 (int (*)(...))QGraphicsView::focusNextPrevChild
+432 (int (*)(...))QGraphicsView::setupViewport
+440 (int (*)(...))QGraphicsView::viewportEvent
+448 (int (*)(...))QGraphicsView::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QGraphicsView::drawBackground
+472 (int (*)(...))QGraphicsView::drawForeground
+480 (int (*)(...))QGraphicsView::drawItems
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGraphicsView
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsView (0x0x7f9a5378cc30) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x0x7f9a53840680) 0
+ primary-for QGraphicsView (0x0x7f9a5378cc30)
+ QFrame (0x0x7f9a538403a8) 0
+ primary-for QAbstractScrollArea (0x0x7f9a53840680)
+ QWidget (0x0x7f9a56c1c000) 0
+ primary-for QFrame (0x0x7f9a538403a8)
+ QObject (0x0x7f9a523d9de0) 0
+ primary-for QWidget (0x0x7f9a56c1c000)
+ QPaintDevice (0x0x7f9a523d9ea0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Class QGroupBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGroupBox::QPrivateSignal (0x0x7f9a52123720) 0 empty
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 (int (*)(...))QGroupBox::metaObject
+24 (int (*)(...))QGroupBox::qt_metacast
+32 (int (*)(...))QGroupBox::qt_metacall
+40 (int (*)(...))QGroupBox::~QGroupBox
+48 (int (*)(...))QGroupBox::~QGroupBox
+56 (int (*)(...))QGroupBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QGroupBox::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QGroupBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGroupBox::mousePressEvent
+176 (int (*)(...))QGroupBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QGroupBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QGroupBox::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGroupBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGroupBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QGroupBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QGroupBox)
+448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGroupBox
+ size=48 align=8
+ base size=48 base align=8
+QGroupBox (0x0x7f9a53509410) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x0x7f9a56c3ba80) 0
+ primary-for QGroupBox (0x0x7f9a53509410)
+ QObject (0x0x7f9a521235a0) 0
+ primary-for QWidget (0x0x7f9a56c3ba80)
+ QPaintDevice (0x0x7f9a521236c0) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 448u)
+
+Class QHeaderView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHeaderView::QPrivateSignal (0x0x7f9a51a8dd80) 0 empty
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 108u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 (int (*)(...))QHeaderView::metaObject
+24 (int (*)(...))QHeaderView::qt_metacast
+32 (int (*)(...))QHeaderView::qt_metacall
+40 (int (*)(...))QHeaderView::~QHeaderView
+48 (int (*)(...))QHeaderView::~QHeaderView
+56 (int (*)(...))QHeaderView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QHeaderView::setVisible
+128 (int (*)(...))QHeaderView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QHeaderView::mousePressEvent
+176 (int (*)(...))QHeaderView::mouseReleaseEvent
+184 (int (*)(...))QHeaderView::mouseDoubleClickEvent
+192 (int (*)(...))QHeaderView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QHeaderView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QHeaderView::viewportEvent
+448 (int (*)(...))QHeaderView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QHeaderView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QHeaderView::visualRect
+496 (int (*)(...))QHeaderView::scrollTo
+504 (int (*)(...))QHeaderView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QHeaderView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QHeaderView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QHeaderView::dataChanged
+568 (int (*)(...))QHeaderView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QHeaderView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QHeaderView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QHeaderView::moveCursor
+688 (int (*)(...))QHeaderView::horizontalOffset
+696 (int (*)(...))QHeaderView::verticalOffset
+704 (int (*)(...))QHeaderView::isIndexHidden
+712 (int (*)(...))QHeaderView::setSelection
+720 (int (*)(...))QHeaderView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QHeaderView::paintSection
+776 (int (*)(...))QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QHeaderView
+ size=48 align=8
+ base size=48 base align=8
+QHeaderView (0x0x7f9a53509478) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x0x7f9a5352d000) 0
+ primary-for QHeaderView (0x0x7f9a53509478)
+ QAbstractScrollArea (0x0x7f9a5352d068) 0
+ primary-for QAbstractItemView (0x0x7f9a5352d000)
+ QFrame (0x0x7f9a5352d208) 0
+ primary-for QAbstractScrollArea (0x0x7f9a5352d068)
+ QWidget (0x0x7f9a56c3be00) 0
+ primary-for QFrame (0x0x7f9a5352d208)
+ QObject (0x0x7f9a51a8d240) 0
+ primary-for QWidget (0x0x7f9a56c3be00)
+ QPaintDevice (0x0x7f9a51a8d2a0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Class QLineEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLineEdit::QPrivateSignal (0x0x7f9a51882840) 0 empty
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 (int (*)(...))QLineEdit::metaObject
+24 (int (*)(...))QLineEdit::qt_metacast
+32 (int (*)(...))QLineEdit::qt_metacall
+40 (int (*)(...))QLineEdit::~QLineEdit
+48 (int (*)(...))QLineEdit::~QLineEdit
+56 (int (*)(...))QLineEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLineEdit::sizeHint
+136 (int (*)(...))QLineEdit::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLineEdit::mousePressEvent
+176 (int (*)(...))QLineEdit::mouseReleaseEvent
+184 (int (*)(...))QLineEdit::mouseDoubleClickEvent
+192 (int (*)(...))QLineEdit::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLineEdit::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLineEdit::focusInEvent
+232 (int (*)(...))QLineEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLineEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLineEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QLineEdit::dragEnterEvent
+320 (int (*)(...))QLineEdit::dragMoveEvent
+328 (int (*)(...))QLineEdit::dragLeaveEvent
+336 (int (*)(...))QLineEdit::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLineEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QLineEdit::inputMethodEvent
+416 (int (*)(...))QLineEdit::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QLineEdit)
+448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev
+456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLineEdit
+ size=48 align=8
+ base size=48 base align=8
+QLineEdit (0x0x7f9a530ccd00) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x0x7f9a56c45c40) 0
+ primary-for QLineEdit (0x0x7f9a530ccd00)
+ QObject (0x0x7f9a51882120) 0
+ primary-for QWidget (0x0x7f9a56c45c40)
+ QPaintDevice (0x0x7f9a518827e0) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 448u)
+
+Class QInputDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputDialog::QPrivateSignal (0x0x7f9a518a9780) 0 empty
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 (int (*)(...))QInputDialog::metaObject
+24 (int (*)(...))QInputDialog::qt_metacast
+32 (int (*)(...))QInputDialog::qt_metacall
+40 (int (*)(...))QInputDialog::~QInputDialog
+48 (int (*)(...))QInputDialog::~QInputDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QInputDialog::setVisible
+128 (int (*)(...))QInputDialog::sizeHint
+136 (int (*)(...))QInputDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QInputDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QInputDialog
+ size=48 align=8
+ base size=48 base align=8
+QInputDialog (0x0x7f9a530ccd68) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x0x7f9a52ed65b0) 0
+ primary-for QInputDialog (0x0x7f9a530ccd68)
+ QWidget (0x0x7f9a56c66540) 0
+ primary-for QDialog (0x0x7f9a52ed65b0)
+ QObject (0x0x7f9a518a9000) 0
+ primary-for QWidget (0x0x7f9a56c66540)
+ QPaintDevice (0x0x7f9a518a9060) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Class QItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemDelegate::QPrivateSignal (0x0x7f9a5166c660) 0 empty
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 (int (*)(...))QItemDelegate::metaObject
+24 (int (*)(...))QItemDelegate::qt_metacast
+32 (int (*)(...))QItemDelegate::qt_metacall
+40 (int (*)(...))QItemDelegate::~QItemDelegate
+48 (int (*)(...))QItemDelegate::~QItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemDelegate::paint
+120 (int (*)(...))QItemDelegate::sizeHint
+128 (int (*)(...))QItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QItemDelegate::setEditorData
+152 (int (*)(...))QItemDelegate::setModelData
+160 (int (*)(...))QItemDelegate::updateEditorGeometry
+168 (int (*)(...))QItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QItemDelegate::drawDisplay
+200 (int (*)(...))QItemDelegate::drawDecoration
+208 (int (*)(...))QItemDelegate::drawFocus
+216 (int (*)(...))QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x0x7f9a52a7f270) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x0x7f9a52a7fd00) 0
+ primary-for QItemDelegate (0x0x7f9a52a7f270)
+ QObject (0x0x7f9a5166c5a0) 0
+ primary-for QAbstractItemDelegate (0x0x7f9a52a7fd00)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x0x7f9a5166c780) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+32 (int (*)(...))QItemEditorFactory::createEditor
+40 (int (*)(...))QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x0x7f9a5166c900) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Class QKeyEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeyEventTransition::QPrivateSignal (0x0x7f9a5166cc60) 0 empty
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 (int (*)(...))QKeyEventTransition::metaObject
+24 (int (*)(...))QKeyEventTransition::qt_metacast
+32 (int (*)(...))QKeyEventTransition::qt_metacall
+40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QKeyEventTransition::eventTest
+120 (int (*)(...))QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x0x7f9a52aa69c0) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x0x7f9a52aa6d68) 0
+ primary-for QKeyEventTransition (0x0x7f9a52aa69c0)
+ QAbstractTransition (0x0x7f9a52aa6dd0) 0
+ primary-for QEventTransition (0x0x7f9a52aa6d68)
+ QObject (0x0x7f9a5166cba0) 0
+ primary-for QAbstractTransition (0x0x7f9a52aa6dd0)
+
+Class QKeySequenceEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeySequenceEdit::QPrivateSignal (0x0x7f9a5127e660) 0 empty
+
+Vtable for QKeySequenceEdit
+QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+16 (int (*)(...))QKeySequenceEdit::metaObject
+24 (int (*)(...))QKeySequenceEdit::qt_metacast
+32 (int (*)(...))QKeySequenceEdit::qt_metacall
+40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+56 (int (*)(...))QKeySequenceEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QKeySequenceEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QKeySequenceEdit::keyPressEvent
+216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev
+456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QKeySequenceEdit
+ size=48 align=8
+ base size=48 base align=8
+QKeySequenceEdit (0x0x7f9a52ac2958) 0
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16u)
+ QWidget (0x0x7f9a568a38c0) 0
+ primary-for QKeySequenceEdit (0x0x7f9a52ac2958)
+ QObject (0x0x7f9a51626ae0) 0
+ primary-for QWidget (0x0x7f9a568a38c0)
+ QPaintDevice (0x0x7f9a51626b40) 16
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448u)
+
+Class QLabel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLabel::QPrivateSignal (0x0x7f9a512af300) 0 empty
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 (int (*)(...))QLabel::metaObject
+24 (int (*)(...))QLabel::qt_metacast
+32 (int (*)(...))QLabel::qt_metacall
+40 (int (*)(...))QLabel::~QLabel
+48 (int (*)(...))QLabel::~QLabel
+56 (int (*)(...))QLabel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLabel::sizeHint
+136 (int (*)(...))QLabel::minimumSizeHint
+144 (int (*)(...))QLabel::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLabel::mousePressEvent
+176 (int (*)(...))QLabel::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QLabel::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLabel::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLabel::focusInEvent
+232 (int (*)(...))QLabel::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLabel::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLabel::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLabel::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QLabel::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QLabel)
+448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev
+456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLabel
+ size=48 align=8
+ base size=48 base align=8
+QLabel (0x0x7f9a52ac29c0) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x0x7f9a52ae4750) 0
+ primary-for QLabel (0x0x7f9a52ac29c0)
+ QWidget (0x0x7f9a568a3bd0) 0
+ primary-for QFrame (0x0x7f9a52ae4750)
+ QObject (0x0x7f9a5127e6c0) 0
+ primary-for QWidget (0x0x7f9a568a3bd0)
+ QPaintDevice (0x0x7f9a512af2a0) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 448u)
+
+Class QLCDNumber::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLCDNumber::QPrivateSignal (0x0x7f9a51177960) 0 empty
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 (int (*)(...))QLCDNumber::metaObject
+24 (int (*)(...))QLCDNumber::qt_metacast
+32 (int (*)(...))QLCDNumber::qt_metacall
+40 (int (*)(...))QLCDNumber::~QLCDNumber
+48 (int (*)(...))QLCDNumber::~QLCDNumber
+56 (int (*)(...))QLCDNumber::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLCDNumber::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLCDNumber::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QLCDNumber)
+448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLCDNumber
+ size=48 align=8
+ base size=48 base align=8
+QLCDNumber (0x0x7f9a52ae48f0) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x0x7f9a52ae4958) 0
+ primary-for QLCDNumber (0x0x7f9a52ae48f0)
+ QWidget (0x0x7f9a568fd000) 0
+ primary-for QFrame (0x0x7f9a52ae4958)
+ QObject (0x0x7f9a511774e0) 0
+ primary-for QWidget (0x0x7f9a568fd000)
+ QPaintDevice (0x0x7f9a51177540) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448u)
+
+Class QListView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListView::QPrivateSignal (0x0x7f9a51177d20) 0 empty
+
+Vtable for QListView
+QListView::_ZTV9QListView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 (int (*)(...))QListView::metaObject
+24 (int (*)(...))QListView::qt_metacast
+32 (int (*)(...))QListView::qt_metacall
+40 (int (*)(...))QListView::~QListView
+48 (int (*)(...))QListView::~QListView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QListView)
+784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev
+792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListView
+ size=48 align=8
+ base size=48 base align=8
+QListView (0x0x7f9a52ae49c0) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x0x7f9a527669c0) 0
+ primary-for QListView (0x0x7f9a52ae49c0)
+ QAbstractScrollArea (0x0x7f9a524e85b0) 0
+ primary-for QAbstractItemView (0x0x7f9a527669c0)
+ QFrame (0x0x7f9a524e8750) 0
+ primary-for QAbstractScrollArea (0x0x7f9a524e85b0)
+ QWidget (0x0x7f9a568fd7e0) 0
+ primary-for QFrame (0x0x7f9a524e8750)
+ QObject (0x0x7f9a511779c0) 0
+ primary-for QWidget (0x0x7f9a568fd7e0)
+ QPaintDevice (0x0x7f9a51177cc0) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 (int (*)(...))QListWidgetItem::~QListWidgetItem
+24 (int (*)(...))QListWidgetItem::~QListWidgetItem
+32 (int (*)(...))QListWidgetItem::clone
+40 (int (*)(...))QListWidgetItem::setBackgroundColor
+48 (int (*)(...))QListWidgetItem::data
+56 (int (*)(...))QListWidgetItem::setData
+64 (int (*)(...))QListWidgetItem::operator<
+72 (int (*)(...))QListWidgetItem::read
+80 (int (*)(...))QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x0x7f9a51177ea0) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Class QListWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListWidget::QPrivateSignal (0x0x7f9a50df1d20) 0 empty
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 110u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 (int (*)(...))QListWidget::metaObject
+24 (int (*)(...))QListWidget::qt_metacast
+32 (int (*)(...))QListWidget::qt_metacall
+40 (int (*)(...))QListWidget::~QListWidget
+48 (int (*)(...))QListWidget::~QListWidget
+56 (int (*)(...))QListWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QListWidget::setModel
+472 (int (*)(...))QListWidget::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))QListWidget::mimeTypes
+776 (int (*)(...))QListWidget::mimeData
+784 (int (*)(...))QListWidget::dropMimeData
+792 (int (*)(...))QListWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListWidget
+ size=48 align=8
+ base size=48 base align=8
+QListWidget (0x0x7f9a524e8a90) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x0x7f9a52312d00) 0
+ primary-for QListWidget (0x0x7f9a524e8a90)
+ QAbstractItemView (0x0x7f9a52312d68) 0
+ primary-for QListView (0x0x7f9a52312d00)
+ QAbstractScrollArea (0x0x7f9a523ac8f0) 0
+ primary-for QAbstractItemView (0x0x7f9a52312d68)
+ QFrame (0x0x7f9a523eb680) 0
+ primary-for QAbstractScrollArea (0x0x7f9a523ac8f0)
+ QWidget (0x0x7f9a569824d0) 0
+ primary-for QFrame (0x0x7f9a523eb680)
+ QObject (0x0x7f9a50df1120) 0
+ primary-for QWidget (0x0x7f9a569824d0)
+ QPaintDevice (0x0x7f9a50df1cc0) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Class QMainWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMainWindow::QPrivateSignal (0x0x7f9a50e1aba0) 0 empty
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 (int (*)(...))QMainWindow::metaObject
+24 (int (*)(...))QMainWindow::qt_metacast
+32 (int (*)(...))QMainWindow::qt_metacall
+40 (int (*)(...))QMainWindow::~QMainWindow
+48 (int (*)(...))QMainWindow::~QMainWindow
+56 (int (*)(...))QMainWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QMainWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMainWindow::createPopupMenu
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI11QMainWindow)
+456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev
+464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMainWindow
+ size=48 align=8
+ base size=48 base align=8
+QMainWindow (0x0x7f9a523eb6e8) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x0x7f9a56982f50) 0
+ primary-for QMainWindow (0x0x7f9a523eb6e8)
+ QObject (0x0x7f9a50e1a900) 0
+ primary-for QWidget (0x0x7f9a56982f50)
+ QPaintDevice (0x0x7f9a50e1a960) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 456u)
+
+Class QMdiArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiArea::QPrivateSignal (0x0x7f9a50cf9ae0) 0 empty
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 (int (*)(...))QMdiArea::metaObject
+24 (int (*)(...))QMdiArea::qt_metacast
+32 (int (*)(...))QMdiArea::qt_metacall
+40 (int (*)(...))QMdiArea::~QMdiArea
+48 (int (*)(...))QMdiArea::~QMdiArea
+56 (int (*)(...))QMdiArea::event
+64 (int (*)(...))QMdiArea::eventFilter
+72 (int (*)(...))QMdiArea::timerEvent
+80 (int (*)(...))QMdiArea::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiArea::sizeHint
+136 (int (*)(...))QMdiArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QMdiArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMdiArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QMdiArea::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMdiArea::setupViewport
+440 (int (*)(...))QMdiArea::viewportEvent
+448 (int (*)(...))QMdiArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiArea
+ size=48 align=8
+ base size=48 base align=8
+QMdiArea (0x0x7f9a523ebaf8) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x0x7f9a523ebd00) 0
+ primary-for QMdiArea (0x0x7f9a523ebaf8)
+ QFrame (0x0x7f9a523ebdd0) 0
+ primary-for QAbstractScrollArea (0x0x7f9a523ebd00)
+ QWidget (0x0x7f9a56a31230) 0
+ primary-for QFrame (0x0x7f9a523ebdd0)
+ QObject (0x0x7f9a50cf9840) 0
+ primary-for QWidget (0x0x7f9a56a31230)
+ QPaintDevice (0x0x7f9a50cf9900) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Class QMdiSubWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiSubWindow::QPrivateSignal (0x0x7f9a50d1e9c0) 0 empty
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 (int (*)(...))QMdiSubWindow::metaObject
+24 (int (*)(...))QMdiSubWindow::qt_metacast
+32 (int (*)(...))QMdiSubWindow::qt_metacall
+40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+56 (int (*)(...))QMdiSubWindow::event
+64 (int (*)(...))QMdiSubWindow::eventFilter
+72 (int (*)(...))QMdiSubWindow::timerEvent
+80 (int (*)(...))QMdiSubWindow::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiSubWindow::sizeHint
+136 (int (*)(...))QMdiSubWindow::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMdiSubWindow::mousePressEvent
+176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent
+184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent
+192 (int (*)(...))QMdiSubWindow::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMdiSubWindow::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMdiSubWindow::focusInEvent
+232 (int (*)(...))QMdiSubWindow::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMdiSubWindow::leaveEvent
+256 (int (*)(...))QMdiSubWindow::paintEvent
+264 (int (*)(...))QMdiSubWindow::moveEvent
+272 (int (*)(...))QMdiSubWindow::resizeEvent
+280 (int (*)(...))QMdiSubWindow::closeEvent
+288 (int (*)(...))QMdiSubWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMdiSubWindow::showEvent
+352 (int (*)(...))QMdiSubWindow::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMdiSubWindow::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI13QMdiSubWindow)
+448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiSubWindow
+ size=48 align=8
+ base size=48 base align=8
+QMdiSubWindow (0x0x7f9a520ebc98) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x0x7f9a56a3e4d0) 0
+ primary-for QMdiSubWindow (0x0x7f9a520ebc98)
+ QObject (0x0x7f9a50d1e720) 0
+ primary-for QWidget (0x0x7f9a56a3e4d0)
+ QPaintDevice (0x0x7f9a50d1e960) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448u)
+
+Class QMenu::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenu::QPrivateSignal (0x0x7f9a50a705a0) 0 empty
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 (int (*)(...))QMenu::metaObject
+24 (int (*)(...))QMenu::qt_metacast
+32 (int (*)(...))QMenu::qt_metacall
+40 (int (*)(...))QMenu::~QMenu
+48 (int (*)(...))QMenu::~QMenu
+56 (int (*)(...))QMenu::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QMenu::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMenu::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenu::mousePressEvent
+176 (int (*)(...))QMenu::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenu::mouseMoveEvent
+200 (int (*)(...))QMenu::wheelEvent
+208 (int (*)(...))QMenu::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QMenu::enterEvent
+248 (int (*)(...))QMenu::leaveEvent
+256 (int (*)(...))QMenu::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenu::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QMenu::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenu::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QMenu::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI5QMenu)
+448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev
+456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenu
+ size=48 align=8
+ base size=48 base align=8
+QMenu (0x0x7f9a5214e068) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x0x7f9a56a528c0) 0
+ primary-for QMenu (0x0x7f9a5214e068)
+ QObject (0x0x7f9a50a70180) 0
+ primary-for QWidget (0x0x7f9a56a528c0)
+ QPaintDevice (0x0x7f9a50a70540) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 448u)
+
+Class QMenuBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenuBar::QPrivateSignal (0x0x7f9a50a95180) 0 empty
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 (int (*)(...))QMenuBar::metaObject
+24 (int (*)(...))QMenuBar::qt_metacast
+32 (int (*)(...))QMenuBar::qt_metacall
+40 (int (*)(...))QMenuBar::~QMenuBar
+48 (int (*)(...))QMenuBar::~QMenuBar
+56 (int (*)(...))QMenuBar::event
+64 (int (*)(...))QMenuBar::eventFilter
+72 (int (*)(...))QMenuBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QMenuBar::setVisible
+128 (int (*)(...))QMenuBar::sizeHint
+136 (int (*)(...))QMenuBar::minimumSizeHint
+144 (int (*)(...))QMenuBar::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenuBar::mousePressEvent
+176 (int (*)(...))QMenuBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenuBar::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMenuBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMenuBar::focusInEvent
+232 (int (*)(...))QMenuBar::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMenuBar::leaveEvent
+256 (int (*)(...))QMenuBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMenuBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenuBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenuBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QMenuBar)
+448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev
+456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenuBar
+ size=48 align=8
+ base size=48 base align=8
+QMenuBar (0x0x7f9a5214e0d0) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x0x7f9a56810150) 0
+ primary-for QMenuBar (0x0x7f9a5214e0d0)
+ QObject (0x0x7f9a50a70ae0) 0
+ primary-for QWidget (0x0x7f9a56810150)
+ QPaintDevice (0x0x7f9a50a70b40) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 448u)
+
+Class QMessageBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMessageBox::QPrivateSignal (0x0x7f9a50a95a80) 0 empty
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 (int (*)(...))QMessageBox::metaObject
+24 (int (*)(...))QMessageBox::qt_metacast
+32 (int (*)(...))QMessageBox::qt_metacall
+40 (int (*)(...))QMessageBox::~QMessageBox
+48 (int (*)(...))QMessageBox::~QMessageBox
+56 (int (*)(...))QMessageBox::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMessageBox::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMessageBox::resizeEvent
+280 (int (*)(...))QMessageBox::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMessageBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMessageBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMessageBox
+ size=48 align=8
+ base size=48 base align=8
+QMessageBox (0x0x7f9a5214e208) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x0x7f9a5214e270) 0
+ primary-for QMessageBox (0x0x7f9a5214e208)
+ QWidget (0x0x7f9a56810700) 0
+ primary-for QDialog (0x0x7f9a5214e270)
+ QObject (0x0x7f9a50a951e0) 0
+ primary-for QWidget (0x0x7f9a56810700)
+ QPaintDevice (0x0x7f9a50a95a20) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Class QMouseEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMouseEventTransition::QPrivateSignal (0x0x7f9a50aeb1e0) 0 empty
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 (int (*)(...))QMouseEventTransition::metaObject
+24 (int (*)(...))QMouseEventTransition::qt_metacast
+32 (int (*)(...))QMouseEventTransition::qt_metacall
+40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMouseEventTransition::eventTest
+120 (int (*)(...))QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x0x7f9a51eaec30) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x0x7f9a51fea9c0) 0
+ primary-for QMouseEventTransition (0x0x7f9a51eaec30)
+ QAbstractTransition (0x0x7f9a51feac30) 0
+ primary-for QEventTransition (0x0x7f9a51fea9c0)
+ QObject (0x0x7f9a50aeb180) 0
+ primary-for QAbstractTransition (0x0x7f9a51feac30)
+
+Class QOpenGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWidget::QPrivateSignal (0x0x7f9a50aeb480) 0 empty
+
+Vtable for QOpenGLWidget
+QOpenGLWidget::_ZTV13QOpenGLWidget: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWidget)
+16 (int (*)(...))QOpenGLWidget::metaObject
+24 (int (*)(...))QOpenGLWidget::qt_metacast
+32 (int (*)(...))QOpenGLWidget::qt_metacall
+40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+56 (int (*)(...))QOpenGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QOpenGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QOpenGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QOpenGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QOpenGLWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QOpenGLWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QOpenGLWidget::initializeGL
+440 (int (*)(...))QOpenGLWidget::resizeGL
+448 (int (*)(...))QOpenGLWidget::paintGL
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI13QOpenGLWidget)
+472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev
+480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv
+504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QOpenGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLWidget (0x0x7f9a51a91000) 0
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16u)
+ QWidget (0x0x7f9a56526620) 0
+ primary-for QOpenGLWidget (0x0x7f9a51a91000)
+ QObject (0x0x7f9a50aeb360) 0
+ primary-for QWidget (0x0x7f9a56526620)
+ QPaintDevice (0x0x7f9a50aeb3c0) 16
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472u)
+
+Class QTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextEdit::QPrivateSignal (0x0x7f9a50aeb660) 0 empty
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x0x7f9a50aeb6c0) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 (int (*)(...))QTextEdit::metaObject
+24 (int (*)(...))QTextEdit::qt_metacast
+32 (int (*)(...))QTextEdit::qt_metacall
+40 (int (*)(...))QTextEdit::~QTextEdit
+48 (int (*)(...))QTextEdit::~QTextEdit
+56 (int (*)(...))QTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextEdit::mousePressEvent
+176 (int (*)(...))QTextEdit::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextEdit::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextEdit::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextEdit::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI9QTextEdit)
+520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev
+528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QTextEdit (0x0x7f9a51a91548) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x0x7f9a51a915b0) 0
+ primary-for QTextEdit (0x0x7f9a51a91548)
+ QFrame (0x0x7f9a51a91888) 0
+ primary-for QAbstractScrollArea (0x0x7f9a51a915b0)
+ QWidget (0x0x7f9a56526a80) 0
+ primary-for QFrame (0x0x7f9a51a91888)
+ QObject (0x0x7f9a50aeb540) 0
+ primary-for QWidget (0x0x7f9a56526a80)
+ QPaintDevice (0x0x7f9a50aeb5a0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 520u)
+
+Class QPlainTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextEdit::QPrivateSignal (0x0x7f9a50b0bba0) 0 empty
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 (int (*)(...))QPlainTextEdit::metaObject
+24 (int (*)(...))QPlainTextEdit::qt_metacast
+32 (int (*)(...))QPlainTextEdit::qt_metacall
+40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+56 (int (*)(...))QPlainTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QPlainTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QPlainTextEdit::mousePressEvent
+176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent
+184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QPlainTextEdit::mouseMoveEvent
+200 (int (*)(...))QPlainTextEdit::wheelEvent
+208 (int (*)(...))QPlainTextEdit::keyPressEvent
+216 (int (*)(...))QPlainTextEdit::keyReleaseEvent
+224 (int (*)(...))QPlainTextEdit::focusInEvent
+232 (int (*)(...))QPlainTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPlainTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QPlainTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QPlainTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QPlainTextEdit::dragEnterEvent
+320 (int (*)(...))QPlainTextEdit::dragMoveEvent
+328 (int (*)(...))QPlainTextEdit::dragLeaveEvent
+336 (int (*)(...))QPlainTextEdit::dropEvent
+344 (int (*)(...))QPlainTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QPlainTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QPlainTextEdit::inputMethodEvent
+416 (int (*)(...))QPlainTextEdit::inputMethodQuery
+424 (int (*)(...))QPlainTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QPlainTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QPlainTextEdit::loadResource
+472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData
+488 (int (*)(...))QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))QPlainTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI14QPlainTextEdit)
+520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPlainTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QPlainTextEdit (0x0x7f9a51a91af8) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x0x7f9a51a91c98) 0
+ primary-for QPlainTextEdit (0x0x7f9a51a91af8)
+ QFrame (0x0x7f9a51a91d00) 0
+ primary-for QAbstractScrollArea (0x0x7f9a51a91c98)
+ QWidget (0x0x7f9a5665e000) 0
+ primary-for QFrame (0x0x7f9a51a91d00)
+ QObject (0x0x7f9a50b0ba20) 0
+ primary-for QWidget (0x0x7f9a5665e000)
+ QPaintDevice (0x0x7f9a50b0ba80) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520u)
+
+Class QPlainTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextDocumentLayout::QPrivateSignal (0x0x7f9a50b0be40) 0 empty
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 (int (*)(...))QPlainTextDocumentLayout::metaObject
+24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast
+32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall
+40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPlainTextDocumentLayout::draw
+120 (int (*)(...))QPlainTextDocumentLayout::hitTest
+128 (int (*)(...))QPlainTextDocumentLayout::pageCount
+136 (int (*)(...))QPlainTextDocumentLayout::documentSize
+144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect
+152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect
+160 (int (*)(...))QPlainTextDocumentLayout::documentChanged
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x0x7f9a51a91d68) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x0x7f9a51ab1c98) 0
+ primary-for QPlainTextDocumentLayout (0x0x7f9a51a91d68)
+ QObject (0x0x7f9a50b0bc00) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7f9a51ab1c98)
+
+Class QProgressBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressBar::QPrivateSignal (0x0x7f9a50b2d960) 0 empty
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 (int (*)(...))QProgressBar::metaObject
+24 (int (*)(...))QProgressBar::qt_metacast
+32 (int (*)(...))QProgressBar::qt_metacall
+40 (int (*)(...))QProgressBar::~QProgressBar
+48 (int (*)(...))QProgressBar::~QProgressBar
+56 (int (*)(...))QProgressBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QProgressBar::sizeHint
+136 (int (*)(...))QProgressBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QProgressBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QProgressBar::text
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI12QProgressBar)
+456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev
+464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressBar
+ size=48 align=8
+ base size=48 base align=8
+QProgressBar (0x0x7f9a51ab1d00) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x0x7f9a5665ed20) 0
+ primary-for QProgressBar (0x0x7f9a51ab1d00)
+ QObject (0x0x7f9a50b0bea0) 0
+ primary-for QWidget (0x0x7f9a5665ed20)
+ QPaintDevice (0x0x7f9a50b2d900) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 456u)
+
+Class QProgressDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressDialog::QPrivateSignal (0x0x7f9a50b2dc60) 0 empty
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 (int (*)(...))QProgressDialog::metaObject
+24 (int (*)(...))QProgressDialog::qt_metacast
+32 (int (*)(...))QProgressDialog::qt_metacall
+40 (int (*)(...))QProgressDialog::~QProgressDialog
+48 (int (*)(...))QProgressDialog::~QProgressDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QProgressDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QProgressDialog::resizeEvent
+280 (int (*)(...))QProgressDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QProgressDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QProgressDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressDialog
+ size=48 align=8
+ base size=48 base align=8
+QProgressDialog (0x0x7f9a51ab1dd0) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x0x7f9a51ab1e38) 0
+ primary-for QProgressDialog (0x0x7f9a51ab1dd0)
+ QWidget (0x0x7f9a562b62a0) 0
+ primary-for QDialog (0x0x7f9a51ab1e38)
+ QObject (0x0x7f9a50b2da20) 0
+ primary-for QWidget (0x0x7f9a562b62a0)
+ QPaintDevice (0x0x7f9a50b2dc00) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Class QProxyStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProxyStyle::QPrivateSignal (0x0x7f9a50b58840) 0 empty
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 (int (*)(...))QProxyStyle::metaObject
+24 (int (*)(...))QProxyStyle::qt_metacast
+32 (int (*)(...))QProxyStyle::qt_metacall
+40 (int (*)(...))QProxyStyle::~QProxyStyle
+48 (int (*)(...))QProxyStyle::~QProxyStyle
+56 (int (*)(...))QProxyStyle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProxyStyle::polish
+120 (int (*)(...))QProxyStyle::unpolish
+128 (int (*)(...))QProxyStyle::polish
+136 (int (*)(...))QProxyStyle::unpolish
+144 (int (*)(...))QProxyStyle::polish
+152 (int (*)(...))QProxyStyle::itemTextRect
+160 (int (*)(...))QProxyStyle::itemPixmapRect
+168 (int (*)(...))QProxyStyle::drawItemText
+176 (int (*)(...))QProxyStyle::drawItemPixmap
+184 (int (*)(...))QProxyStyle::standardPalette
+192 (int (*)(...))QProxyStyle::drawPrimitive
+200 (int (*)(...))QProxyStyle::drawControl
+208 (int (*)(...))QProxyStyle::subElementRect
+216 (int (*)(...))QProxyStyle::drawComplexControl
+224 (int (*)(...))QProxyStyle::hitTestComplexControl
+232 (int (*)(...))QProxyStyle::subControlRect
+240 (int (*)(...))QProxyStyle::pixelMetric
+248 (int (*)(...))QProxyStyle::sizeFromContents
+256 (int (*)(...))QProxyStyle::styleHint
+264 (int (*)(...))QProxyStyle::standardPixmap
+272 (int (*)(...))QProxyStyle::standardIcon
+280 (int (*)(...))QProxyStyle::generatedIconPixmap
+288 (int (*)(...))QProxyStyle::layoutSpacing
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x0x7f9a51acf1a0) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x0x7f9a51acf208) 0
+ primary-for QProxyStyle (0x0x7f9a51acf1a0)
+ QStyle (0x0x7f9a51acf820) 0
+ primary-for QCommonStyle (0x0x7f9a51acf208)
+ QObject (0x0x7f9a50b587e0) 0
+ primary-for QStyle (0x0x7f9a51acf820)
+
+Class QRadioButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRadioButton::QPrivateSignal (0x0x7f9a50b812a0) 0 empty
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 (int (*)(...))QRadioButton::metaObject
+24 (int (*)(...))QRadioButton::qt_metacast
+32 (int (*)(...))QRadioButton::qt_metacall
+40 (int (*)(...))QRadioButton::~QRadioButton
+48 (int (*)(...))QRadioButton::~QRadioButton
+56 (int (*)(...))QRadioButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QRadioButton::sizeHint
+136 (int (*)(...))QRadioButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QRadioButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRadioButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QRadioButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI12QRadioButton)
+472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRadioButton
+ size=48 align=8
+ base size=48 base align=8
+QRadioButton (0x0x7f9a51acf888) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x0x7f9a51acfbc8) 0
+ primary-for QRadioButton (0x0x7f9a51acf888)
+ QWidget (0x0x7f9a562b6930) 0
+ primary-for QAbstractButton (0x0x7f9a51acfbc8)
+ QObject (0x0x7f9a50b81180) 0
+ primary-for QWidget (0x0x7f9a562b6930)
+ QPaintDevice (0x0x7f9a50b811e0) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 472u)
+
+Class QScrollBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollBar::QPrivateSignal (0x0x7f9a50b81b40) 0 empty
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 (int (*)(...))QScrollBar::metaObject
+24 (int (*)(...))QScrollBar::qt_metacast
+32 (int (*)(...))QScrollBar::qt_metacall
+40 (int (*)(...))QScrollBar::~QScrollBar
+48 (int (*)(...))QScrollBar::~QScrollBar
+56 (int (*)(...))QScrollBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollBar::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QScrollBar::mousePressEvent
+176 (int (*)(...))QScrollBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QScrollBar::mouseMoveEvent
+200 (int (*)(...))QScrollBar::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QScrollBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QScrollBar::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QScrollBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QScrollBar::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI10QScrollBar)
+456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev
+464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollBar
+ size=48 align=8
+ base size=48 base align=8
+QScrollBar (0x0x7f9a51acfc30) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x0x7f9a51aedc98) 0
+ primary-for QScrollBar (0x0x7f9a51acfc30)
+ QWidget (0x0x7f9a562b6cb0) 0
+ primary-for QAbstractSlider (0x0x7f9a51aedc98)
+ QObject (0x0x7f9a50b81a20) 0
+ primary-for QWidget (0x0x7f9a562b6cb0)
+ QPaintDevice (0x0x7f9a50b81a80) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 456u)
+
+Vtable for QScrollerProperties
+QScrollerProperties::_ZTV19QScrollerProperties: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollerProperties)
+16 (int (*)(...))QScrollerProperties::~QScrollerProperties
+24 (int (*)(...))QScrollerProperties::~QScrollerProperties
+
+Class QScrollerProperties
+ size=16 align=8
+ base size=16 base align=8
+QScrollerProperties (0x0x7f9a50ba6480) 0
+ vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16u)
+
+Class QScroller::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScroller::QPrivateSignal (0x0x7f9a50bd52a0) 0 empty
+
+Vtable for QScroller
+QScroller::_ZTV9QScroller: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QScroller)
+16 (int (*)(...))QScroller::metaObject
+24 (int (*)(...))QScroller::qt_metacast
+32 (int (*)(...))QScroller::qt_metacall
+40 (int (*)(...))QScroller::~QScroller
+48 (int (*)(...))QScroller::~QScroller
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScroller
+ size=24 align=8
+ base size=24 base align=8
+QScroller (0x0x7f9a51bf3270) 0
+ vptr=((& QScroller::_ZTV9QScroller) + 16u)
+ QObject (0x0x7f9a50bd5240) 0
+ primary-for QScroller (0x0x7f9a51bf3270)
+
+Class QShortcut::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QShortcut::QPrivateSignal (0x0x7f9a507f7660) 0 empty
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 (int (*)(...))QShortcut::metaObject
+24 (int (*)(...))QShortcut::qt_metacast
+32 (int (*)(...))QShortcut::qt_metacall
+40 (int (*)(...))QShortcut::~QShortcut
+48 (int (*)(...))QShortcut::~QShortcut
+56 (int (*)(...))QShortcut::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x0x7f9a51bf3f70) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x0x7f9a507f7600) 0
+ primary-for QShortcut (0x0x7f9a51bf3f70)
+
+Class QSizeGrip::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSizeGrip::QPrivateSignal (0x0x7f9a50631ae0) 0 empty
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 (int (*)(...))QSizeGrip::metaObject
+24 (int (*)(...))QSizeGrip::qt_metacast
+32 (int (*)(...))QSizeGrip::qt_metacall
+40 (int (*)(...))QSizeGrip::~QSizeGrip
+48 (int (*)(...))QSizeGrip::~QSizeGrip
+56 (int (*)(...))QSizeGrip::event
+64 (int (*)(...))QSizeGrip::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QSizeGrip::setVisible
+128 (int (*)(...))QSizeGrip::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSizeGrip::mousePressEvent
+176 (int (*)(...))QSizeGrip::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSizeGrip::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSizeGrip::paintEvent
+264 (int (*)(...))QSizeGrip::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QSizeGrip::showEvent
+352 (int (*)(...))QSizeGrip::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QSizeGrip)
+448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSizeGrip
+ size=48 align=8
+ base size=48 base align=8
+QSizeGrip (0x0x7f9a51898548) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x0x7f9a560cb4d0) 0
+ primary-for QSizeGrip (0x0x7f9a51898548)
+ QObject (0x0x7f9a506313c0) 0
+ primary-for QWidget (0x0x7f9a560cb4d0)
+ QPaintDevice (0x0x7f9a50631420) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448u)
+
+Class QSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSpinBox::QPrivateSignal (0x0x7f9a50657300) 0 empty
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 (int (*)(...))QSpinBox::metaObject
+24 (int (*)(...))QSpinBox::qt_metacast
+32 (int (*)(...))QSpinBox::qt_metacall
+40 (int (*)(...))QSpinBox::~QSpinBox
+48 (int (*)(...))QSpinBox::~QSpinBox
+56 (int (*)(...))QSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSpinBox::validate
+440 (int (*)(...))QSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QSpinBox::valueFromText
+480 (int (*)(...))QSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI8QSpinBox)
+504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QSpinBox (0x0x7f9a518985b0) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x0x7f9a51898f08) 0
+ primary-for QSpinBox (0x0x7f9a518985b0)
+ QWidget (0x0x7f9a560cb850) 0
+ primary-for QAbstractSpinBox (0x0x7f9a51898f08)
+ QObject (0x0x7f9a50631b40) 0
+ primary-for QWidget (0x0x7f9a560cb850)
+ QPaintDevice (0x0x7f9a506572a0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 504u)
+
+Class QDoubleSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleSpinBox::QPrivateSignal (0x0x7f9a50657840) 0 empty
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 (int (*)(...))QDoubleSpinBox::metaObject
+24 (int (*)(...))QDoubleSpinBox::qt_metacast
+32 (int (*)(...))QDoubleSpinBox::qt_metacall
+40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDoubleSpinBox::validate
+440 (int (*)(...))QDoubleSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QDoubleSpinBox::valueFromText
+480 (int (*)(...))QDoubleSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDoubleSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QDoubleSpinBox (0x0x7f9a51898f70) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x0x7f9a51a01a90) 0
+ primary-for QDoubleSpinBox (0x0x7f9a51898f70)
+ QWidget (0x0x7f9a560cbb60) 0
+ primary-for QAbstractSpinBox (0x0x7f9a51a01a90)
+ QObject (0x0x7f9a50657720) 0
+ primary-for QWidget (0x0x7f9a560cbb60)
+ QPaintDevice (0x0x7f9a50657780) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504u)
+
+Class QSplashScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplashScreen::QPrivateSignal (0x0x7f9a50678480) 0 empty
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 (int (*)(...))QSplashScreen::metaObject
+24 (int (*)(...))QSplashScreen::qt_metacast
+32 (int (*)(...))QSplashScreen::qt_metacall
+40 (int (*)(...))QSplashScreen::~QSplashScreen
+48 (int (*)(...))QSplashScreen::~QSplashScreen
+56 (int (*)(...))QSplashScreen::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplashScreen::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplashScreen::drawContents
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI13QSplashScreen)
+456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplashScreen
+ size=48 align=8
+ base size=48 base align=8
+QSplashScreen (0x0x7f9a51a01af8) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x0x7f9a560cbe70) 0
+ primary-for QSplashScreen (0x0x7f9a51a01af8)
+ QObject (0x0x7f9a50657a20) 0
+ primary-for QWidget (0x0x7f9a560cbe70)
+ QPaintDevice (0x0x7f9a50657a80) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456u)
+
+Class QSplitter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitter::QPrivateSignal (0x0x7f9a506788a0) 0 empty
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 (int (*)(...))QSplitter::metaObject
+24 (int (*)(...))QSplitter::qt_metacast
+32 (int (*)(...))QSplitter::qt_metacall
+40 (int (*)(...))QSplitter::~QSplitter
+48 (int (*)(...))QSplitter::~QSplitter
+56 (int (*)(...))QSplitter::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QSplitter::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitter::sizeHint
+136 (int (*)(...))QSplitter::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitter::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QSplitter::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplitter::createHandle
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI9QSplitter)
+456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev
+464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitter
+ size=48 align=8
+ base size=48 base align=8
+QSplitter (0x0x7f9a51a01c98) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x0x7f9a51a01ea0) 0
+ primary-for QSplitter (0x0x7f9a51a01c98)
+ QWidget (0x0x7f9a561b9620) 0
+ primary-for QFrame (0x0x7f9a51a01ea0)
+ QObject (0x0x7f9a506784e0) 0
+ primary-for QWidget (0x0x7f9a561b9620)
+ QPaintDevice (0x0x7f9a50678840) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 456u)
+
+Class QSplitterHandle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitterHandle::QPrivateSignal (0x0x7f9a50678d80) 0 empty
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 (int (*)(...))QSplitterHandle::metaObject
+24 (int (*)(...))QSplitterHandle::qt_metacast
+32 (int (*)(...))QSplitterHandle::qt_metacall
+40 (int (*)(...))QSplitterHandle::~QSplitterHandle
+48 (int (*)(...))QSplitterHandle::~QSplitterHandle
+56 (int (*)(...))QSplitterHandle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitterHandle::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplitterHandle::mousePressEvent
+176 (int (*)(...))QSplitterHandle::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSplitterHandle::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSplitterHandle::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitterHandle::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI15QSplitterHandle)
+448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitterHandle
+ size=48 align=8
+ base size=48 base align=8
+QSplitterHandle (0x0x7f9a51a01f08) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x0x7f9a561b9930) 0
+ primary-for QSplitterHandle (0x0x7f9a51a01f08)
+ QObject (0x0x7f9a50678ba0) 0
+ primary-for QWidget (0x0x7f9a561b9930)
+ QPaintDevice (0x0x7f9a50678c00) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448u)
+
+Class QStackedLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedLayout::QPrivateSignal (0x0x7f9a50678f60) 0 empty
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 (int (*)(...))QStackedLayout::metaObject
+24 (int (*)(...))QStackedLayout::qt_metacast
+32 (int (*)(...))QStackedLayout::qt_metacall
+40 (int (*)(...))QStackedLayout::~QStackedLayout
+48 (int (*)(...))QStackedLayout::~QStackedLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QStackedLayout::addItem
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QStackedLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QStackedLayout::setGeometry
+168 (int (*)(...))QStackedLayout::itemAt
+176 (int (*)(...))QStackedLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QStackedLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QStackedLayout::sizeHint
+232 (int (*)(...))QStackedLayout::hasHeightForWidth
+240 (int (*)(...))QStackedLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI14QStackedLayout)
+264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv
+344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x0x7f9a5164ac98) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x0x7f9a561b9c40) 0
+ primary-for QStackedLayout (0x0x7f9a5164ac98)
+ QObject (0x0x7f9a50678de0) 0
+ primary-for QLayout (0x0x7f9a561b9c40)
+ QLayoutItem (0x0x7f9a50678ea0) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264u)
+
+Class QStackedWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedWidget::QPrivateSignal (0x0x7f9a5069ea80) 0 empty
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 (int (*)(...))QStackedWidget::metaObject
+24 (int (*)(...))QStackedWidget::qt_metacast
+32 (int (*)(...))QStackedWidget::qt_metacall
+40 (int (*)(...))QStackedWidget::~QStackedWidget
+48 (int (*)(...))QStackedWidget::~QStackedWidget
+56 (int (*)(...))QStackedWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QStackedWidget)
+448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStackedWidget
+ size=48 align=8
+ base size=48 base align=8
+QStackedWidget (0x0x7f9a5164ad00) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x0x7f9a5166e750) 0
+ primary-for QStackedWidget (0x0x7f9a5164ad00)
+ QWidget (0x0x7f9a56256150) 0
+ primary-for QFrame (0x0x7f9a5166e750)
+ QObject (0x0x7f9a5069e000) 0
+ primary-for QWidget (0x0x7f9a56256150)
+ QPaintDevice (0x0x7f9a5069ea20) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448u)
+
+Class QStatusBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStatusBar::QPrivateSignal (0x0x7f9a5069ee40) 0 empty
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 (int (*)(...))QStatusBar::metaObject
+24 (int (*)(...))QStatusBar::qt_metacast
+32 (int (*)(...))QStatusBar::qt_metacall
+40 (int (*)(...))QStatusBar::~QStatusBar
+48 (int (*)(...))QStatusBar::~QStatusBar
+56 (int (*)(...))QStatusBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QStatusBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QStatusBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QStatusBar::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QStatusBar)
+448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev
+456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStatusBar
+ size=48 align=8
+ base size=48 base align=8
+QStatusBar (0x0x7f9a5166e7b8) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x0x7f9a562564d0) 0
+ primary-for QStatusBar (0x0x7f9a5166e7b8)
+ QObject (0x0x7f9a5069eba0) 0
+ primary-for QWidget (0x0x7f9a562564d0)
+ QPaintDevice (0x0x7f9a5069ec00) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 448u)
+
+Class QStyledItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyledItemDelegate::QPrivateSignal (0x0x7f9a5046ef00) 0 empty
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 (int (*)(...))QStyledItemDelegate::metaObject
+24 (int (*)(...))QStyledItemDelegate::qt_metacast
+32 (int (*)(...))QStyledItemDelegate::qt_metacall
+40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QStyledItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyledItemDelegate::paint
+120 (int (*)(...))QStyledItemDelegate::sizeHint
+128 (int (*)(...))QStyledItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QStyledItemDelegate::setEditorData
+152 (int (*)(...))QStyledItemDelegate::setModelData
+160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry
+168 (int (*)(...))QStyledItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QStyledItemDelegate::displayText
+200 (int (*)(...))QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x0x7f9a5166e8f0) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x0x7f9a5168e1a0) 0
+ primary-for QStyledItemDelegate (0x0x7f9a5166e8f0)
+ QObject (0x0x7f9a5069eea0) 0
+ primary-for QAbstractItemDelegate (0x0x7f9a5168e1a0)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x0x7f9a5046ef60) 0 empty
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x0x7f9a5168e208) 0
+ QPainter (0x0x7f9a50537a80) 0
+
+Class QStylePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStylePlugin::QPrivateSignal (0x0x7f9a5055f720) 0 empty
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 (int (*)(...))QStylePlugin::metaObject
+24 (int (*)(...))QStylePlugin::qt_metacast
+32 (int (*)(...))QStylePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QStylePlugin
+ size=16 align=8
+ base size=16 base align=8
+QStylePlugin (0x0x7f9a5168e3a8) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x0x7f9a5055f6c0) 0
+ primary-for QStylePlugin (0x0x7f9a5168e3a8)
+
+Class QSystemTrayIcon::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSystemTrayIcon::QPrivateSignal (0x0x7f9a502cd600) 0 empty
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 (int (*)(...))QSystemTrayIcon::metaObject
+24 (int (*)(...))QSystemTrayIcon::qt_metacast
+32 (int (*)(...))QSystemTrayIcon::qt_metacall
+40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+56 (int (*)(...))QSystemTrayIcon::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x0x7f9a516b1e38) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x0x7f9a502cd5a0) 0
+ primary-for QSystemTrayIcon (0x0x7f9a516b1e38)
+
+Class QTableView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableView::QPrivateSignal (0x0x7f9a502cdea0) 0 empty
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 (int (*)(...))QTableView::metaObject
+24 (int (*)(...))QTableView::qt_metacast
+32 (int (*)(...))QTableView::qt_metacall
+40 (int (*)(...))QTableView::~QTableView
+48 (int (*)(...))QTableView::~QTableView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableView::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI10QTableView)
+784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev
+792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableView
+ size=48 align=8
+ base size=48 base align=8
+QTableView (0x0x7f9a5179b0d0) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x0x7f9a5179b7b8) 0
+ primary-for QTableView (0x0x7f9a5179b0d0)
+ QAbstractScrollArea (0x0x7f9a5162b6e8) 0
+ primary-for QAbstractItemView (0x0x7f9a5179b7b8)
+ QFrame (0x0x7f9a5162b750) 0
+ primary-for QAbstractScrollArea (0x0x7f9a5162b6e8)
+ QWidget (0x0x7f9a56262e70) 0
+ primary-for QFrame (0x0x7f9a5162b750)
+ QObject (0x0x7f9a502cdd80) 0
+ primary-for QWidget (0x0x7f9a56262e70)
+ QPaintDevice (0x0x7f9a502cdde0) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x0x7f9a5031f4e0) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+32 (int (*)(...))QTableWidgetItem::clone
+40 (int (*)(...))QTableWidgetItem::data
+48 (int (*)(...))QTableWidgetItem::setData
+56 (int (*)(...))QTableWidgetItem::operator<
+64 (int (*)(...))QTableWidgetItem::read
+72 (int (*)(...))QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x0x7f9a5031f540) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Class QTableWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableWidget::QPrivateSignal (0x0x7f9a5033f300) 0 empty
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 110u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 (int (*)(...))QTableWidget::metaObject
+24 (int (*)(...))QTableWidget::qt_metacast
+32 (int (*)(...))QTableWidget::qt_metacall
+40 (int (*)(...))QTableWidget::~QTableWidget
+48 (int (*)(...))QTableWidget::~QTableWidget
+56 (int (*)(...))QTableWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTableWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableWidget::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))QTableWidget::mimeTypes
+776 (int (*)(...))QTableWidget::mimeData
+784 (int (*)(...))QTableWidget::dropMimeData
+792 (int (*)(...))QTableWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableWidget
+ size=48 align=8
+ base size=48 base align=8
+QTableWidget (0x0x7f9a5162bf70) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x0x7f9a5128a000) 0
+ primary-for QTableWidget (0x0x7f9a5162bf70)
+ QAbstractItemView (0x0x7f9a5128a1a0) 0
+ primary-for QTableView (0x0x7f9a5128a000)
+ QAbstractScrollArea (0x0x7f9a5128a208) 0
+ primary-for QAbstractItemView (0x0x7f9a5128a1a0)
+ QFrame (0x0x7f9a5128a3a8) 0
+ primary-for QAbstractScrollArea (0x0x7f9a5128a208)
+ QWidget (0x0x7f9a562844d0) 0
+ primary-for QFrame (0x0x7f9a5128a3a8)
+ QObject (0x0x7f9a5031f960) 0
+ primary-for QWidget (0x0x7f9a562844d0)
+ QPaintDevice (0x0x7f9a5033f2a0) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Class QTextBrowser::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBrowser::QPrivateSignal (0x0x7f9a5038d0c0) 0 empty
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 78u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 (int (*)(...))QTextBrowser::metaObject
+24 (int (*)(...))QTextBrowser::qt_metacast
+32 (int (*)(...))QTextBrowser::qt_metacall
+40 (int (*)(...))QTextBrowser::~QTextBrowser
+48 (int (*)(...))QTextBrowser::~QTextBrowser
+56 (int (*)(...))QTextBrowser::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextBrowser::mousePressEvent
+176 (int (*)(...))QTextBrowser::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextBrowser::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextBrowser::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextBrowser::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextBrowser::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextBrowser::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextBrowser::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))QTextBrowser::setSource
+512 (int (*)(...))QTextBrowser::backward
+520 (int (*)(...))QTextBrowser::forward
+528 (int (*)(...))QTextBrowser::home
+536 (int (*)(...))QTextBrowser::reload
+544 (int (*)(...))-16
+552 (int (*)(...))(& _ZTI12QTextBrowser)
+560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextBrowser
+ size=48 align=8
+ base size=48 base align=8
+QTextBrowser (0x0x7f9a5128a410) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x0x7f9a5128a478) 0
+ primary-for QTextBrowser (0x0x7f9a5128a410)
+ QAbstractScrollArea (0x0x7f9a512ac1a0) 0
+ primary-for QTextEdit (0x0x7f9a5128a478)
+ QFrame (0x0x7f9a512ac208) 0
+ primary-for QAbstractScrollArea (0x0x7f9a512ac1a0)
+ QWidget (0x0x7f9a56284bd0) 0
+ primary-for QFrame (0x0x7f9a512ac208)
+ QObject (0x0x7f9a5033f600) 0
+ primary-for QWidget (0x0x7f9a56284bd0)
+ QPaintDevice (0x0x7f9a5033f660) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560u)
+
+Class QToolBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBar::QPrivateSignal (0x0x7f9a5038d900) 0 empty
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 (int (*)(...))QToolBar::metaObject
+24 (int (*)(...))QToolBar::qt_metacast
+32 (int (*)(...))QToolBar::qt_metacall
+40 (int (*)(...))QToolBar::~QToolBar
+48 (int (*)(...))QToolBar::~QToolBar
+56 (int (*)(...))QToolBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QToolBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QToolBar)
+448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev
+456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBar
+ size=48 align=8
+ base size=48 base align=8
+QToolBar (0x0x7f9a512ac548) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x0x7f9a56284ee0) 0
+ primary-for QToolBar (0x0x7f9a512ac548)
+ QObject (0x0x7f9a5038d120) 0
+ primary-for QWidget (0x0x7f9a56284ee0)
+ QPaintDevice (0x0x7f9a5038d8a0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 448u)
+
+Class QToolBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBox::QPrivateSignal (0x0x7f9a501aed80) 0 empty
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 (int (*)(...))QToolBox::metaObject
+24 (int (*)(...))QToolBox::qt_metacast
+32 (int (*)(...))QToolBox::qt_metacall
+40 (int (*)(...))QToolBox::~QToolBox
+48 (int (*)(...))QToolBox::~QToolBox
+56 (int (*)(...))QToolBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QToolBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolBox::itemInserted
+440 (int (*)(...))QToolBox::itemRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI8QToolBox)
+464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev
+472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBox
+ size=48 align=8
+ base size=48 base align=8
+QToolBox (0x0x7f9a50e03548) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x0x7f9a50e035b0) 0
+ primary-for QToolBox (0x0x7f9a50e03548)
+ QWidget (0x0x7f9a55f47150) 0
+ primary-for QFrame (0x0x7f9a50e035b0)
+ QObject (0x0x7f9a501aec60) 0
+ primary-for QWidget (0x0x7f9a55f47150)
+ QPaintDevice (0x0x7f9a501aecc0) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 464u)
+
+Class QToolButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolButton::QPrivateSignal (0x0x7f9a4fdcd9c0) 0 empty
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 (int (*)(...))QToolButton::metaObject
+24 (int (*)(...))QToolButton::qt_metacast
+32 (int (*)(...))QToolButton::qt_metacall
+40 (int (*)(...))QToolButton::~QToolButton
+48 (int (*)(...))QToolButton::~QToolButton
+56 (int (*)(...))QToolButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QToolButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QToolButton::sizeHint
+136 (int (*)(...))QToolButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QToolButton::mousePressEvent
+176 (int (*)(...))QToolButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QToolButton::enterEvent
+248 (int (*)(...))QToolButton::leaveEvent
+256 (int (*)(...))QToolButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolButton::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QToolButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QToolButton)
+472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev
+480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolButton
+ size=48 align=8
+ base size=48 base align=8
+QToolButton (0x0x7f9a50e03958) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x0x7f9a50e039c0) 0
+ primary-for QToolButton (0x0x7f9a50e03958)
+ QWidget (0x0x7f9a55f47620) 0
+ primary-for QAbstractButton (0x0x7f9a50e039c0)
+ QObject (0x0x7f9a501aef60) 0
+ primary-for QWidget (0x0x7f9a55f47620)
+ QPaintDevice (0x0x7f9a4fdcd000) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 472u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x0x7f9a4fdcda20) 0 empty
+
+Class QTreeView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeView::QPrivateSignal (0x0x7f9a4fdcdd20) 0 empty
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 108u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 (int (*)(...))QTreeView::metaObject
+24 (int (*)(...))QTreeView::qt_metacast
+32 (int (*)(...))QTreeView::qt_metacall
+40 (int (*)(...))QTreeView::~QTreeView
+48 (int (*)(...))QTreeView::~QTreeView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeView::setModel
+472 (int (*)(...))QTreeView::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeView
+ size=48 align=8
+ base size=48 base align=8
+QTreeView (0x0x7f9a50e1f548) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x0x7f9a50e1f5b0) 0
+ primary-for QTreeView (0x0x7f9a50e1f548)
+ QAbstractScrollArea (0x0x7f9a50f2af70) 0
+ primary-for QAbstractItemView (0x0x7f9a50e1f5b0)
+ QFrame (0x0x7f9a50f54340) 0
+ primary-for QAbstractScrollArea (0x0x7f9a50f2af70)
+ QWidget (0x0x7f9a55f47cb0) 0
+ primary-for QFrame (0x0x7f9a50f54340)
+ QObject (0x0x7f9a4fdcdae0) 0
+ primary-for QWidget (0x0x7f9a55f47cb0)
+ QPaintDevice (0x0x7f9a4fdcdcc0) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x0x7f9a4ff754e0) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+32 (int (*)(...))QTreeWidgetItem::clone
+40 (int (*)(...))QTreeWidgetItem::data
+48 (int (*)(...))QTreeWidgetItem::setData
+56 (int (*)(...))QTreeWidgetItem::operator<
+64 (int (*)(...))QTreeWidgetItem::read
+72 (int (*)(...))QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x0x7f9a4fd23f00) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Class QTreeWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeWidget::QPrivateSignal (0x0x7f9a4f9f19c0) 0 empty
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 112u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 (int (*)(...))QTreeWidget::metaObject
+24 (int (*)(...))QTreeWidget::qt_metacast
+32 (int (*)(...))QTreeWidget::qt_metacall
+40 (int (*)(...))QTreeWidget::~QTreeWidget
+48 (int (*)(...))QTreeWidget::~QTreeWidget
+56 (int (*)(...))QTreeWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTreeWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeWidget::setModel
+472 (int (*)(...))QTreeWidget::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))QTreeWidget::mimeTypes
+792 (int (*)(...))QTreeWidget::mimeData
+800 (int (*)(...))QTreeWidget::dropMimeData
+808 (int (*)(...))QTreeWidget::supportedDropActions
+816 (int (*)(...))-16
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeWidget
+ size=48 align=8
+ base size=48 base align=8
+QTreeWidget (0x0x7f9a50f54e38) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x0x7f9a50f54f08) 0
+ primary-for QTreeWidget (0x0x7f9a50f54e38)
+ QAbstractItemView (0x0x7f9a50c35d68) 0
+ primary-for QTreeView (0x0x7f9a50f54f08)
+ QAbstractScrollArea (0x0x7f9a50c35dd0) 0
+ primary-for QAbstractItemView (0x0x7f9a50c35d68)
+ QFrame (0x0x7f9a50c35f70) 0
+ primary-for QAbstractScrollArea (0x0x7f9a50c35dd0)
+ QWidget (0x0x7f9a55cbe150) 0
+ primary-for QFrame (0x0x7f9a50c35f70)
+ QObject (0x0x7f9a4f9f18a0) 0
+ primary-for QWidget (0x0x7f9a55cbe150)
+ QPaintDevice (0x0x7f9a4f9f1900) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QUndoGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoGroup::QPrivateSignal (0x0x7f9a4fa1e780) 0 empty
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 (int (*)(...))QUndoGroup::metaObject
+24 (int (*)(...))QUndoGroup::qt_metacast
+32 (int (*)(...))QUndoGroup::qt_metacall
+40 (int (*)(...))QUndoGroup::~QUndoGroup
+48 (int (*)(...))QUndoGroup::~QUndoGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x0x7f9a50a0b1a0) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x0x7f9a4fa1e720) 0
+ primary-for QUndoGroup (0x0x7f9a50a0b1a0)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 (int (*)(...))QUndoCommand::~QUndoCommand
+24 (int (*)(...))QUndoCommand::~QUndoCommand
+32 (int (*)(...))QUndoCommand::undo
+40 (int (*)(...))QUndoCommand::redo
+48 (int (*)(...))QUndoCommand::id
+56 (int (*)(...))QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x0x7f9a4fa1ee40) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Class QUndoStack::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoStack::QPrivateSignal (0x0x7f9a4fa453c0) 0 empty
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 (int (*)(...))QUndoStack::metaObject
+24 (int (*)(...))QUndoStack::qt_metacast
+32 (int (*)(...))QUndoStack::qt_metacall
+40 (int (*)(...))QUndoStack::~QUndoStack
+48 (int (*)(...))QUndoStack::~QUndoStack
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x0x7f9a50a0b208) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x0x7f9a4fa1eea0) 0
+ primary-for QUndoStack (0x0x7f9a50a0b208)
+
+Class QUndoView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoView::QPrivateSignal (0x0x7f9a4fa459c0) 0 empty
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 (int (*)(...))QUndoView::metaObject
+24 (int (*)(...))QUndoView::qt_metacast
+32 (int (*)(...))QUndoView::qt_metacall
+40 (int (*)(...))QUndoView::~QUndoView
+48 (int (*)(...))QUndoView::~QUndoView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QUndoView
+ size=48 align=8
+ base size=48 base align=8
+QUndoView (0x0x7f9a50a0b270) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x0x7f9a50a0b2d8) 0
+ primary-for QUndoView (0x0x7f9a50a0b270)
+ QAbstractItemView (0x0x7f9a50a0b410) 0
+ primary-for QListView (0x0x7f9a50a0b2d8)
+ QAbstractScrollArea (0x0x7f9a50a0b478) 0
+ primary-for QAbstractItemView (0x0x7f9a50a0b410)
+ QFrame (0x0x7f9a50a0b9c0) 0
+ primary-for QAbstractScrollArea (0x0x7f9a50a0b478)
+ QWidget (0x0x7f9a55ccfa10) 0
+ primary-for QFrame (0x0x7f9a50a0b9c0)
+ QObject (0x0x7f9a4fa45420) 0
+ primary-for QWidget (0x0x7f9a55ccfa10)
+ QPaintDevice (0x0x7f9a4fa45960) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x0x7f9a4fa45a80) 0 empty
+
+Class QWidgetAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidgetAction::QPrivateSignal (0x0x7f9a4fa45cc0) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 (int (*)(...))QWidgetAction::metaObject
+24 (int (*)(...))QWidgetAction::qt_metacast
+32 (int (*)(...))QWidgetAction::qt_metacall
+40 (int (*)(...))QWidgetAction::~QWidgetAction
+48 (int (*)(...))QWidgetAction::~QWidgetAction
+56 (int (*)(...))QWidgetAction::event
+64 (int (*)(...))QWidgetAction::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidgetAction::createWidget
+120 (int (*)(...))QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x0x7f9a50a0ba28) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x0x7f9a50a0be38) 0
+ primary-for QWidgetAction (0x0x7f9a50a0ba28)
+ QObject (0x0x7f9a4fa45c60) 0
+ primary-for QAction (0x0x7f9a50a0be38)
+
+Class QWizard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizard::QPrivateSignal (0x0x7f9a4fa677e0) 0 empty
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 (int (*)(...))QWizard::metaObject
+24 (int (*)(...))QWizard::qt_metacast
+32 (int (*)(...))QWizard::qt_metacall
+40 (int (*)(...))QWizard::~QWizard
+48 (int (*)(...))QWizard::~QWizard
+56 (int (*)(...))QWizard::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWizard::setVisible
+128 (int (*)(...))QWizard::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWizard::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWizard::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QWizard::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))QWizard::validateCurrentPage
+480 (int (*)(...))QWizard::nextId
+488 (int (*)(...))QWizard::initializePage
+496 (int (*)(...))QWizard::cleanupPage
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI7QWizard)
+520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev
+528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizard
+ size=48 align=8
+ base size=48 base align=8
+QWizard (0x0x7f9a50a0bea0) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x0x7f9a50a75f08) 0
+ primary-for QWizard (0x0x7f9a50a0bea0)
+ QWidget (0x0x7f9a55ce2150) 0
+ primary-for QDialog (0x0x7f9a50a75f08)
+ QObject (0x0x7f9a4fa676c0) 0
+ primary-for QWidget (0x0x7f9a55ce2150)
+ QPaintDevice (0x0x7f9a4fa67720) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Class QWizardPage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizardPage::QPrivateSignal (0x0x7f9a4fa989c0) 0 empty
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 (int (*)(...))QWizardPage::metaObject
+24 (int (*)(...))QWizardPage::qt_metacast
+32 (int (*)(...))QWizardPage::qt_metacall
+40 (int (*)(...))QWizardPage::~QWizardPage
+48 (int (*)(...))QWizardPage::~QWizardPage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QWizardPage::initializePage
+440 (int (*)(...))QWizardPage::cleanupPage
+448 (int (*)(...))QWizardPage::validatePage
+456 (int (*)(...))QWizardPage::isComplete
+464 (int (*)(...))QWizardPage::nextId
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QWizardPage)
+488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev
+496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizardPage
+ size=48 align=8
+ base size=48 base align=8
+QWizardPage (0x0x7f9a50a9b3a8) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x0x7f9a55c4f000) 0
+ primary-for QWizardPage (0x0x7f9a50a9b3a8)
+ QObject (0x0x7f9a4fa98660) 0
+ primary-for QWidget (0x0x7f9a55c4f000)
+ QPaintDevice (0x0x7f9a4fa986c0) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 488u)
+
+Class QAbstractPrintDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractPrintDialog::QPrivateSignal (0x0x7f9a4fa98cc0) 0 empty
+
+Vtable for QAbstractPrintDialog
+QAbstractPrintDialog::_ZTV20QAbstractPrintDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+16 (int (*)(...))QAbstractPrintDialog::metaObject
+24 (int (*)(...))QAbstractPrintDialog::qt_metacast
+32 (int (*)(...))QAbstractPrintDialog::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))__cxa_pure_virtual
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI20QAbstractPrintDialog)
+488 0u
+496 0u
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractPrintDialog
+ size=48 align=8
+ base size=48 base align=8
+QAbstractPrintDialog (0x0x7f9a50ab7d00) 0
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 16u)
+ QDialog (0x0x7f9a50ade548) 0
+ primary-for QAbstractPrintDialog (0x0x7f9a50ab7d00)
+ QWidget (0x0x7f9a55c4f310) 0
+ primary-for QDialog (0x0x7f9a50ade548)
+ QObject (0x0x7f9a4fa98a20) 0
+ primary-for QWidget (0x0x7f9a55c4f310)
+ QPaintDevice (0x0x7f9a4fa98c60) 16
+ vptr=((& QAbstractPrintDialog::_ZTV20QAbstractPrintDialog) + 488u)
+
+Class QPageSetupDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPageSetupDialog::QPrivateSignal (0x0x7f9a4fb53d20) 0 empty
+
+Vtable for QPageSetupDialog
+QPageSetupDialog::_ZTV16QPageSetupDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPageSetupDialog)
+16 (int (*)(...))QPageSetupDialog::metaObject
+24 (int (*)(...))QPageSetupDialog::qt_metacast
+32 (int (*)(...))QPageSetupDialog::qt_metacall
+40 (int (*)(...))QPageSetupDialog::~QPageSetupDialog
+48 (int (*)(...))QPageSetupDialog::~QPageSetupDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QPageSetupDialog::exec
+448 (int (*)(...))QPageSetupDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QPageSetupDialog)
+488 (int (*)(...))QPageSetupDialog::_ZThn16_N16QPageSetupDialogD1Ev
+496 (int (*)(...))QPageSetupDialog::_ZThn16_N16QPageSetupDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPageSetupDialog
+ size=48 align=8
+ base size=48 base align=8
+QPageSetupDialog (0x0x7f9a50b07068) 0
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 16u)
+ QDialog (0x0x7f9a50b28a28) 0
+ primary-for QPageSetupDialog (0x0x7f9a50b07068)
+ QWidget (0x0x7f9a558e27e0) 0
+ primary-for QDialog (0x0x7f9a50b28a28)
+ QObject (0x0x7f9a4fb53c00) 0
+ primary-for QWidget (0x0x7f9a558e27e0)
+ QPaintDevice (0x0x7f9a4fb53c60) 16
+ vptr=((& QPageSetupDialog::_ZTV16QPageSetupDialog) + 488u)
+
+Class QPrintDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPrintDialog::QPrivateSignal (0x0x7f9a4fbc3ae0) 0 empty
+
+Vtable for QPrintDialog
+QPrintDialog::_ZTV12QPrintDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintDialog)
+16 (int (*)(...))QPrintDialog::metaObject
+24 (int (*)(...))QPrintDialog::qt_metacast
+32 (int (*)(...))QPrintDialog::qt_metacall
+40 (int (*)(...))QPrintDialog::~QPrintDialog
+48 (int (*)(...))QPrintDialog::~QPrintDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QPrintDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QPrintDialog::exec
+448 (int (*)(...))QPrintDialog::done
+456 (int (*)(...))QPrintDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QPrintDialog)
+488 (int (*)(...))QPrintDialog::_ZThn16_N12QPrintDialogD1Ev
+496 (int (*)(...))QPrintDialog::_ZThn16_N12QPrintDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPrintDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintDialog (0x0x7f9a50b28a90) 0
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 16u)
+ QAbstractPrintDialog (0x0x7f9a50b28af8) 0
+ primary-for QPrintDialog (0x0x7f9a50b28a90)
+ QDialog (0x0x7f9a50b28b60) 0
+ primary-for QAbstractPrintDialog (0x0x7f9a50b28af8)
+ QWidget (0x0x7f9a558e2bd0) 0
+ primary-for QDialog (0x0x7f9a50b28b60)
+ QObject (0x0x7f9a4fb53f00) 0
+ primary-for QWidget (0x0x7f9a558e2bd0)
+ QPaintDevice (0x0x7f9a4fb53f60) 16
+ vptr=((& QPrintDialog::_ZTV12QPrintDialog) + 488u)
+
+Vtable for QPrinter
+QPrinter::_ZTV8QPrinter: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPrinter)
+16 (int (*)(...))QPrinter::~QPrinter
+24 (int (*)(...))QPrinter::~QPrinter
+32 (int (*)(...))QPrinter::devType
+40 (int (*)(...))QPrinter::paintEngine
+48 (int (*)(...))QPrinter::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPrinter::newPage
+88 (int (*)(...))QPrinter::setPageSize
+96 (int (*)(...))QPrinter::setPageSizeMM
+104 (int (*)(...))QPrinter::setMargins
+
+Class QPrinter
+ size=40 align=8
+ base size=40 base align=8
+QPrinter (0x0x7f9a50b489c0) 0
+ vptr=((& QPrinter::_ZTV8QPrinter) + 16u)
+ QPagedPaintDevice (0x0x7f9a50b48a28) 0
+ primary-for QPrinter (0x0x7f9a50b489c0)
+ QPaintDevice (0x0x7f9a4fbc3b40) 0
+ primary-for QPagedPaintDevice (0x0x7f9a50b48a28)
+
+Vtable for QPrintEngine
+QPrintEngine::_ZTV12QPrintEngine: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPrintEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+
+Class QPrintEngine
+ size=8 align=8
+ base size=8 base align=8
+QPrintEngine (0x0x7f9a4f7f4de0) 0 nearly-empty
+ vptr=((& QPrintEngine::_ZTV12QPrintEngine) + 16u)
+
+Class QPrinterInfo
+ size=8 align=8
+ base size=8 base align=8
+QPrinterInfo (0x0x7f9a4f7f4e40) 0
+
+Class QPrintPreviewDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPrintPreviewDialog::QPrivateSignal (0x0x7f9a4f8bf660) 0 empty
+
+Vtable for QPrintPreviewDialog
+QPrintPreviewDialog::_ZTV19QPrintPreviewDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+16 (int (*)(...))QPrintPreviewDialog::metaObject
+24 (int (*)(...))QPrintPreviewDialog::qt_metacast
+32 (int (*)(...))QPrintPreviewDialog::qt_metacall
+40 (int (*)(...))QPrintPreviewDialog::~QPrintPreviewDialog
+48 (int (*)(...))QPrintPreviewDialog::~QPrintPreviewDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QPrintPreviewDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QPrintPreviewDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI19QPrintPreviewDialog)
+488 (int (*)(...))QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD1Ev
+496 (int (*)(...))QPrintPreviewDialog::_ZThn16_N19QPrintPreviewDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPrintPreviewDialog
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewDialog (0x0x7f9a50b6e5b0) 0
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 16u)
+ QDialog (0x0x7f9a50b6e618) 0
+ primary-for QPrintPreviewDialog (0x0x7f9a50b6e5b0)
+ QWidget (0x0x7f9a554d01c0) 0
+ primary-for QDialog (0x0x7f9a50b6e618)
+ QObject (0x0x7f9a4f81a120) 0
+ primary-for QWidget (0x0x7f9a554d01c0)
+ QPaintDevice (0x0x7f9a4f81a180) 16
+ vptr=((& QPrintPreviewDialog::_ZTV19QPrintPreviewDialog) + 488u)
+
+Class QPrintPreviewWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPrintPreviewWidget::QPrivateSignal (0x0x7f9a4f8bf960) 0 empty
+
+Vtable for QPrintPreviewWidget
+QPrintPreviewWidget::_ZTV19QPrintPreviewWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+16 (int (*)(...))QPrintPreviewWidget::metaObject
+24 (int (*)(...))QPrintPreviewWidget::qt_metacast
+32 (int (*)(...))QPrintPreviewWidget::qt_metacall
+40 (int (*)(...))QPrintPreviewWidget::~QPrintPreviewWidget
+48 (int (*)(...))QPrintPreviewWidget::~QPrintPreviewWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QPrintPreviewWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI19QPrintPreviewWidget)
+448 (int (*)(...))QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD1Ev
+456 (int (*)(...))QPrintPreviewWidget::_ZThn16_N19QPrintPreviewWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPrintPreviewWidget
+ size=48 align=8
+ base size=48 base align=8
+QPrintPreviewWidget (0x0x7f9a50b6e7b8) 0
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 16u)
+ QWidget (0x0x7f9a554d05b0) 0
+ primary-for QPrintPreviewWidget (0x0x7f9a50b6e7b8)
+ QObject (0x0x7f9a4f8bf6c0) 0
+ primary-for QWidget (0x0x7f9a554d05b0)
+ QPaintDevice (0x0x7f9a4f8bf780) 16
+ vptr=((& QPrintPreviewWidget::_ZTV19QPrintPreviewWidget) + 448u)
+
diff --git a/tests/auto/bic/data/QtSql.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSql.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..18dd2246fa
--- /dev/null
+++ b/tests/auto/bic/data/QtSql.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,5034 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7efcad586360) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7efcad5cfae0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7efcad5cfd20) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7efcad5cff60) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7efcab17a1e0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7efcab17a360) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7efcab17a720) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7efcab208ea0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7efcab208f60) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7efcab235300) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7efcab2353c0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7efcab235480) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7efcab235540) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7efcab2357e0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7efcab2359c0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7efcab235e40) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7efcab235ea0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7efcab2efb40) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7efcab2efba0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7efcab1d9c98) 0 empty
+ std::input_iterator_tag (0x0x7efcab2efc00) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7efcab1d9d00) 0 empty
+ std::forward_iterator_tag (0x0x7efcab1d9d68) 0 empty
+ std::input_iterator_tag (0x0x7efcab2efc60) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7efcab1d9dd0) 0 empty
+ std::bidirectional_iterator_tag (0x0x7efcab1d9e38) 0 empty
+ std::forward_iterator_tag (0x0x7efcab1d9ea0) 0 empty
+ std::input_iterator_tag (0x0x7efcab2efcc0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7efcab320960) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7efcab3209c0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7efcab320a20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7efcab320a80) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7efcab320ae0) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7efcab009600) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7efcab009840) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7efcab009900) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7efcab009960) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7efcab009a20) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7efcab009a80) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7efcab009f00) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7efcab009f60) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7efcab14a000) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7efcab32c410) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7efcab14a060) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7efcab32c410)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7efcab14a0c0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7efcab14a120) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7efcab32c618) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7efcab14a540) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7efcab32c618)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7efcab32c680) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7efcab32c6e8) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7efcab32c680)
+ std::exception (0x0x7efcab14a5a0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7efcab32c6e8)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7efcab14a600) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7efcaae26240) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7efcaae26f00) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7efcaae26f60) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7efcaac72e40) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7efcaac72ea0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7efcaac72f60) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7efcaacfb000) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7efcaacfb060) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7efcaacfb0c0) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7efcaacfb1e0) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7efcaacfb240) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7efcaacfb660) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7efcaacfb6c0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7efcaab35ea0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7efcaab35f00) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7efcaa80dea0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7efcaa5b1cc0) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7efcaa93f2d8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7efcaa5b1d80) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7efcaa93f340) 0
+ std::_Bit_iterator_base (0x0x7efcaa93f3a8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7efcaa5b1de0) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7efcaa93f410) 0
+ std::_Bit_iterator_base (0x0x7efcaa93f478) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7efcaa5b1e40) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7efcaa39ac60) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7efcaa4dca20) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7efcaa4dc9c0) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7efcaa2639c0) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7efca8eaf4e0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7efca8eaf540) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7efca8b85000) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7efca8b85060) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7efca8b850c0) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7efca8b85120) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7efca8b853c0) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7efca8b85900) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7efca8bc9340) 0
+ std::__atomic_flag_base (0x0x7efca8b85960) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7efca8bc9a90) 0
+ QAtomicInteger<int> (0x0x7efca8bc9af8) 0
+ QBasicAtomicInteger<int> (0x0x7efca87ba0c0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7efca86b2660) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7efca8426840) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7efca8426960) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7efca87516e8) 0
+ QGenericArgument (0x0x7efca84269c0) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7efca8426b40) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7efca8426c00) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7efca8513c60) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7efca8513cc0) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7efca8513f60) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7efca81fe000) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7efca81fe360) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7efca81fe3c0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7efca81fe420) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7efca81fe480) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7efca81fe4e0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7efca81fe8a0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7efca8532d00) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7efca81fe960) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efca8532d00)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7efca8532d68) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7efca8532dd0) 0
+ primary-for std::domain_error (0x0x7efca8532d68)
+ std::exception (0x0x7efca81fe9c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efca8532dd0)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7efca8532e38) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7efca8532ea0) 0
+ primary-for std::invalid_argument (0x0x7efca8532e38)
+ std::exception (0x0x7efca81fea20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efca8532ea0)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7efca8532f08) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7efca8532f70) 0
+ primary-for std::length_error (0x0x7efca8532f08)
+ std::exception (0x0x7efca81fea80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efca8532f70)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7efca8532a28) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7efca8532af8) 0
+ primary-for std::out_of_range (0x0x7efca8532a28)
+ std::exception (0x0x7efca81feae0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efca8532af8)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7efca82ed000) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7efca81feb40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efca82ed000)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7efca82ed068) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7efca82ed0d0) 0
+ primary-for std::range_error (0x0x7efca82ed068)
+ std::exception (0x0x7efca81feba0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efca82ed0d0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7efca82ed138) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7efca82ed1a0) 0
+ primary-for std::overflow_error (0x0x7efca82ed138)
+ std::exception (0x0x7efca81fec00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efca82ed1a0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7efca82ed208) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7efca82ed270) 0
+ primary-for std::underflow_error (0x0x7efca82ed208)
+ std::exception (0x0x7efca81fec60) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efca82ed270)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7efca81fede0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7efca830d060) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7efca830d1e0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7efca82ed750) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7efca82ed7b8) 0
+ primary-for std::system_error (0x0x7efca82ed750)
+ std::exception (0x0x7efca830d420) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efca82ed7b8)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7efca7f653a8) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7efca7f65410) 0
+ primary-for std::ios_base::failure (0x0x7efca7f653a8)
+ std::runtime_error (0x0x7efca7f65478) 0
+ primary-for std::system_error (0x0x7efca7f65410)
+ std::exception (0x0x7efca830d720) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efca7f65478)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7efca830d780) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7efca830d7e0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7efca830d840) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7efca830d6c0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7efca806f000) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7efca806f6c0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7efca7bb0068 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7efca7bb03a8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7efca7c66138 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7efca7c66208 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7efca7e09f00) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7efca7e09f60) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7efca799e300) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7efca799e660) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7efca799eae0) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7efca7ab5960) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7efca7820000) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7efca7ab5f60) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7efca79360c0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7efca7936cc0) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7efca76fb960) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7efca76fb9c0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7efca76fba20) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7efca76fbde0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7efca76fbe40) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7efca76f9d00) 0 empty
+ QListData::NotIndirectLayout (0x0x7efca76fbea0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7efca754d4d0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7efca76fbf00) 0 empty
+ QListData::NotIndirectLayout (0x0x7efca76fbf60) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7efca76f9d68) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7efca7552000) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7efca7552060) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7efca76fbd80) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7efca75524e0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7efca7305720) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7efca73056c0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7efca730b7b8) 0
+ QList<QString> (0x0x7efca730b820) 0
+ QListSpecialMethods<QString> (0x0x7efca7305900) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7efca7305d20) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7efca6ff2900) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7efca6ff2f60) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7efca6dc6120) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7efca6dc61e0) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7efca6dc9000) 0
+ std::__uses_alloc_base (0x0x7efca6dc6180) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7efca6eb6240) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7efca6eb6480) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7efca6eb6540) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7efca6eb6660) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7efca6eb67e0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7efca6eb6c00) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7efca6eb6d20) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7efca6c3a6c0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7efca6c3aae0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7efca6c3ade0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7efca6b307e0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7efca688d660) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7efca688d6c0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7efca688d8a0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7efca688d840) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7efca6957b40) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7efca6957ba0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7efca6957c60) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7efca6583340) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7efca6957c00) 0
+ primary-for QAbstractAnimation (0x0x7efca6583340)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7efca6957d20) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7efca65833a8) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7efca6957cc0) 0
+ primary-for QAnimationDriver (0x0x7efca65833a8)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7efca6957de0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7efca6583410) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7efca6957d80) 0
+ primary-for QEventLoop (0x0x7efca6583410)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7efca6605000) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7efca66050c0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7efca6605120) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7efca6583548) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7efca6605060) 0
+ primary-for QAbstractEventDispatcher (0x0x7efca6583548)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7efca66053c0) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7efca6583750) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7efca6605420) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7efca6583750)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7efca65837b8) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7efca6605480) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7efca65837b8)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7efca66f2a28) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7efca63a3540) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7efca66f2a28)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7efca63a3600) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7efca63a3660) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7efca63a3780) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7efca63a3c60) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7efca645a1e0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7efca645a5a0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7efca645a540) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7efca645a600) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7efca645aea0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7efca645af60) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7efca645af00) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7efca62a4000) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7efca645ae40) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7efca6340ae0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7efca5fec180) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7efca5fec120) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7efca5fec240) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7efca5fec1e0) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7efca610d540) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7efca610dc00) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7efca5ef9360) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7efca5ef87b8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7efca5ef9300) 0
+ primary-for QAbstractItemModel (0x0x7efca5ef87b8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7efca5ef9c00) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7efca5ef8ea0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7efca5ef8f08) 0
+ primary-for QAbstractTableModel (0x0x7efca5ef8ea0)
+ QObject (0x0x7efca5ef9ba0) 0
+ primary-for QAbstractItemModel (0x0x7efca5ef8f08)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7efca5ef9cc0) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7efca5ef8f70) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7efca5bde000) 0
+ primary-for QAbstractListModel (0x0x7efca5ef8f70)
+ QObject (0x0x7efca5ef9c60) 0
+ primary-for QAbstractItemModel (0x0x7efca5bde000)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7efca5ef9f60) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7efca5c38060) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7efca5bde138) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7efca5bde1a0) 0
+ primary-for QAbstractProxyModel (0x0x7efca5bde138)
+ QObject (0x0x7efca5c38000) 0
+ primary-for QAbstractItemModel (0x0x7efca5bde1a0)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7efca5c38120) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7efca5bde208) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7efca5c380c0) 0
+ primary-for QAbstractState (0x0x7efca5bde208)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7efca5c381e0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7efca5bde270) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7efca5c38180) 0
+ primary-for QAbstractTransition (0x0x7efca5bde270)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7efca5c382a0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7efca5bde2d8) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7efca5bde340) 0
+ primary-for QAnimationGroup (0x0x7efca5bde2d8)
+ QObject (0x0x7efca5c38240) 0
+ primary-for QAbstractAnimation (0x0x7efca5bde340)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7efca5cde000) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7efca5cde2a0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7efca5cde360) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7efca5cde660) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7efca5bde9c0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7efca5cde600) 0
+ primary-for QIODevice (0x0x7efca5bde9c0)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7efca5cde8a0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7efca5bdeaf8) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7efca5bdeb60) 0
+ primary-for QBuffer (0x0x7efca5bdeaf8)
+ QObject (0x0x7efca5cde840) 0
+ primary-for QIODevice (0x0x7efca5bdeb60)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7efca5cde960) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7efca5cde900) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7efca5cdea80) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7efca5cdea20) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7efca5cdec60) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7efca5cdee40) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7efca5a54120) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7efca5a548a0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7efca5a54900) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7efca5a54840) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7efca5b18a20) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7efca57ed060) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7efca57ed300) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7efca57ed540) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7efca57edc00) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7efca57edd80) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7efca557d300) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7efca557d2a0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7efca5372600) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7efca53726c0) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7efca53f6a20) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7efca53f6ba0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7efca54801e0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7efca54804e0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7efca54808a0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7efca51c9f60) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7efca52485a0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7efca5248600) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7efca50ab600) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7efca50abba0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7efca50abc00) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7efca50abb40) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7efca4ddcc60) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7efca4ddccc0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7efca4ddcc00) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7efca4ba1840) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7efca4ba1c00) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7efca4cf7600) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7efca4cf7c60) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7efca4cf7d20) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7efca49f7d20) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7efca4a331e0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7efca4a36138) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7efca4a33240) 0
+ primary-for QTimerEvent (0x0x7efca4a36138)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7efca4a361a0) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7efca4a332a0) 0
+ primary-for QChildEvent (0x0x7efca4a361a0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7efca4a366e8) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7efca4a33780) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7efca4a366e8)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7efca4a36750) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7efca4a337e0) 0
+ primary-for QDeferredDeleteEvent (0x0x7efca4a36750)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7efca4a338a0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7efca4a367b8) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7efca4a33840) 0
+ primary-for QCoreApplication (0x0x7efca4a367b8)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7efca4a33900) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7efca4a33960) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7efca4a339c0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7efca4a33a80) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7efca4a33f60) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7efca4755480) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7efca4879300) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7efca486ec30) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7efca486ec98) 0
+ primary-for QFileDevice (0x0x7efca486ec30)
+ QObject (0x0x7efca48792a0) 0
+ primary-for QIODevice (0x0x7efca486ec98)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7efca4879540) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7efca486edd0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7efca486ee38) 0
+ primary-for QFile (0x0x7efca486edd0)
+ QIODevice (0x0x7efca486eea0) 0
+ primary-for QFileDevice (0x0x7efca486ee38)
+ QObject (0x0x7efca48794e0) 0
+ primary-for QIODevice (0x0x7efca486eea0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7efca4879720) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7efca4879b40) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7efca45a1180) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7efca45a13c0) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7efca46827e0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7efca467cea0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7efca467cf08) 0
+ primary-for QEventTransition (0x0x7efca467cea0)
+ QObject (0x0x7efca4682780) 0
+ primary-for QAbstractTransition (0x0x7efca467cf08)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7efca467cf70) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7efca4682840) 0 nearly-empty
+ primary-for QException (0x0x7efca467cf70)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7efca46f8000) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7efca46f8068) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7efca46f8000)
+ std::exception (0x0x7efca46828a0) 0 nearly-empty
+ primary-for QException (0x0x7efca46f8068)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7efca4682900) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7efca46829c0) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7efca4682a20) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7efca4682b40) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7efca46f80d0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7efca4682ae0) 0
+ primary-for QFileSelector (0x0x7efca46f80d0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7efca4682c00) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7efca46f8138) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7efca4682ba0) 0
+ primary-for QFileSystemWatcher (0x0x7efca46f8138)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7efca4682cc0) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7efca46f81a0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7efca46f8208) 0
+ primary-for QFinalState (0x0x7efca46f81a0)
+ QObject (0x0x7efca4682c60) 0
+ primary-for QAbstractState (0x0x7efca46f8208)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7efca4682d20) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7efca4682d80) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7efca46f8340) 0
+ QBasicMutex (0x0x7efca4682f60) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7efca43cd000) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7efca43cd060) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7efca43cd0c0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7efca43cd1e0) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7efca43cda20) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7efca44b8240) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7efca44b4478) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7efca44b81e0) 0
+ primary-for QFutureWatcherBase (0x0x7efca44b4478)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7efca44b8840) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7efca44b4d68) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7efca44b4dd0) 0
+ primary-for QHistoryState (0x0x7efca44b4d68)
+ QObject (0x0x7efca44b87e0) 0
+ primary-for QAbstractState (0x0x7efca44b4dd0)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7efca44b8900) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7efca44b4e38) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7efca44b4ea0) 0
+ primary-for QIdentityProxyModel (0x0x7efca44b4e38)
+ QAbstractItemModel (0x0x7efca44b4f08) 0
+ primary-for QAbstractProxyModel (0x0x7efca44b4ea0)
+ QObject (0x0x7efca44b88a0) 0
+ primary-for QAbstractItemModel (0x0x7efca44b4f08)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7efca44b8960) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7efca4197060) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7efca415c750) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7efca4197000) 0
+ primary-for QItemSelectionModel (0x0x7efca415c750)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7efca415c958) 0
+ QList<QItemSelectionRange> (0x0x7efca415c9c0) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7efca4197360) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7efca4197840) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7efca3f6ef60) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7efca3fb94e0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7efca3fb9540) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7efca3fb9720) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7efca3fb9780) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7efca3fb96c0) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7efca40a99c0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7efca40a9a20) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7efca41280c0) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7efca4128120) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7efca4128060) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7efca3ddd3c0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7efca3dd1d00) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7efca3ddd360) 0
+ primary-for QLibrary (0x0x7efca3dd1d00)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7efca3ddda80) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7efca3ddd5a0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7efca3dddf60) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7efca3edc000) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7efca3edc2a0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7efca3edc8a0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7efca3b7b240) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7efca3b7b840) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7efca3b7bba0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7efca3b7bd20) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7efca3b7bcc0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7efca3b7bea0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7efca3d00180) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7efca3d007e0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7efca3d00840) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7efca3d00e40) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7efca38ea180) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7efca38ea1e0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7efca38ea4e0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7efca3847f70) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7efca38ea480) 0
+ primary-for QMimeData (0x0x7efca3847f70)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7efca38ea540) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7efca38ea840) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7efca38ea900) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7efca39331a0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7efca38ea8a0) 0
+ primary-for QObjectCleanupHandler (0x0x7efca39331a0)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7efca38ea960) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7efca397d120) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7efca39338f0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7efca3933958) 0
+ primary-for QParallelAnimationGroup (0x0x7efca39338f0)
+ QAbstractAnimation (0x0x7efca39339c0) 0
+ primary-for QAnimationGroup (0x0x7efca3933958)
+ QObject (0x0x7efca397d0c0) 0
+ primary-for QAbstractAnimation (0x0x7efca39339c0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7efca397d1e0) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7efca3933a28) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7efca3933a90) 0
+ primary-for QPauseAnimation (0x0x7efca3933a28)
+ QObject (0x0x7efca397d180) 0
+ primary-for QAbstractAnimation (0x0x7efca3933a90)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7efca397d3c0) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7efca397d6c0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7efca3933c98) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7efca397d660) 0
+ primary-for QPluginLoader (0x0x7efca3933c98)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7efca397d720) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7efca397dde0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7efca39e62d8) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7efca39e6340) 0
+ primary-for QProcess (0x0x7efca39e62d8)
+ QObject (0x0x7efca397dd80) 0
+ primary-for QIODevice (0x0x7efca39e6340)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7efca397dea0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7efca39e63a8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7efca39e6410) 0
+ primary-for QVariantAnimation (0x0x7efca39e63a8)
+ QObject (0x0x7efca397de40) 0
+ primary-for QAbstractAnimation (0x0x7efca39e6410)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7efca397df60) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7efca39e64e0) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7efca39e6548) 0
+ primary-for QPropertyAnimation (0x0x7efca39e64e0)
+ QAbstractAnimation (0x0x7efca39e65b0) 0
+ primary-for QVariantAnimation (0x0x7efca39e6548)
+ QObject (0x0x7efca397df00) 0
+ primary-for QAbstractAnimation (0x0x7efca39e65b0)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7efca36520c0) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7efca3652060) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7efca36ce888) 0
+ QRandomGenerator (0x0x7efca36f4060) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7efca36f4120) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7efca36f43c0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7efca36f4480) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7efca36f4540) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7efca36f47e0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7efca36f4a80) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7efca36f4d20) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7efca3544000) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7efca3544180) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7efca3817410) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7efca3817478) 0
+ primary-for QSaveFile (0x0x7efca3817410)
+ QIODevice (0x0x7efca38174e0) 0
+ primary-for QFileDevice (0x0x7efca3817478)
+ QObject (0x0x7efca3544120) 0
+ primary-for QIODevice (0x0x7efca38174e0)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7efca35442a0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7efca3544420) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7efca3298a20) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7efca3292d68) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7efca3292dd0) 0
+ primary-for QSequentialAnimationGroup (0x0x7efca3292d68)
+ QAbstractAnimation (0x0x7efca3292e38) 0
+ primary-for QAnimationGroup (0x0x7efca3292dd0)
+ QObject (0x0x7efca32989c0) 0
+ primary-for QAbstractAnimation (0x0x7efca3292e38)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7efca3298ae0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7efca3292ea0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7efca3298a80) 0
+ primary-for QSettings (0x0x7efca3292ea0)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7efca3298ba0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7efca3292f08) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7efca3298b40) 0
+ primary-for QSharedMemory (0x0x7efca3292f08)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7efca3298c60) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7efca3292f70) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7efca3298c00) 0
+ primary-for QSignalMapper (0x0x7efca3292f70)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7efca3298d20) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7efca3303000) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7efca3303068) 0
+ primary-for QSignalTransition (0x0x7efca3303000)
+ QObject (0x0x7efca3298cc0) 0
+ primary-for QAbstractTransition (0x0x7efca3303068)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7efca3298de0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7efca33030d0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7efca3298d80) 0
+ primary-for QSocketNotifier (0x0x7efca33030d0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7efca3298ea0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7efca3303138) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7efca33031a0) 0
+ primary-for QSortFilterProxyModel (0x0x7efca3303138)
+ QAbstractItemModel (0x0x7efca3303208) 0
+ primary-for QAbstractProxyModel (0x0x7efca33031a0)
+ QObject (0x0x7efca3298e40) 0
+ primary-for QAbstractItemModel (0x0x7efca3303208)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7efca3298f60) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7efca33601e0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7efca33033a8) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7efca3303410) 0
+ primary-for QState (0x0x7efca33033a8)
+ QObject (0x0x7efca3360180) 0
+ primary-for QAbstractState (0x0x7efca3303410)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7efca3360300) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7efca33035b0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7efca3360360) 0
+ primary-for QStateMachine::SignalEvent (0x0x7efca33035b0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7efca3303618) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7efca33603c0) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7efca3303618)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7efca3303478) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7efca33034e0) 0
+ primary-for QStateMachine (0x0x7efca3303478)
+ QAbstractState (0x0x7efca3303548) 0
+ primary-for QState (0x0x7efca33034e0)
+ QObject (0x0x7efca33602a0) 0
+ primary-for QAbstractState (0x0x7efca3303548)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7efca3360420) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7efca340f360) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7efca309d720) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7efca30a4618) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7efca30a4680) 0
+ primary-for QStringListModel (0x0x7efca30a4618)
+ QAbstractItemModel (0x0x7efca30a46e8) 0
+ primary-for QAbstractListModel (0x0x7efca30a4680)
+ QObject (0x0x7efca309d6c0) 0
+ primary-for QAbstractItemModel (0x0x7efca30a46e8)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7efca309d780) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7efca309d840) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7efca309d960) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7efca30a4750) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7efca30a47b8) 0
+ primary-for QTemporaryFile (0x0x7efca30a4750)
+ QFileDevice (0x0x7efca30a4820) 0
+ primary-for QFile (0x0x7efca30a47b8)
+ QIODevice (0x0x7efca30a4888) 0
+ primary-for QFileDevice (0x0x7efca30a4820)
+ QObject (0x0x7efca309d900) 0
+ primary-for QIODevice (0x0x7efca30a4888)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7efca309d9c0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7efca309dc00) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7efca309dba0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7efca309dde0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7efca309de40) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7efca309dea0) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7efca309df00) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7efca30a4a90) 0
+ std::__mutex_base (0x0x7efca309df60) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7efca30a4af8) 0
+ std::__recursive_mutex_base (0x0x7efca319d000) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7efca31a55b0) 0
+ std::__mutex_base (0x0x7efca319d120) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7efca319d180) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7efca31a5f50) 0
+ std::__recursive_mutex_base (0x0x7efca319d240) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7efca319d2a0) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7efca319d300) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7efca319d360) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7efca319d3c0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7efca319d600) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7efca30a4c30) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7efca319d6c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7efca30a4c30)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7efca30a4c98) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7efca319d780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7efca30a4c98)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7efca30a4d00) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7efca319d840) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7efca30a4d00)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7efca30a4dd0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7efca319d900) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7efca30a4dd0)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7efca319d9c0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7efca319da20) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7efca319da80) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7efca319dae0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7efca30a4f08) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7efca319de40) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7efca30a4f08)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7efca2ef56c0) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7efca2ef5ea0) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7efca2c890c0) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7efca2c89120) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7efca2c89060) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7efca2dc6d20) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7efca2dc6de0) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7efca2dc6e40) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7efca2a934e0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7efca2a98410) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7efca2a98478) 0
+ primary-for std::future_error (0x0x7efca2a98410)
+ std::exception (0x0x7efca2a93600) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efca2a98478)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7efca2a93720) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7efca2a936c0) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7efca2bf0c60) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7efca2bf1a28) 0
+ std::__at_thread_exit_elt (0x0x7efca2bf0d20) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7efca2a938a0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7efca2a93660) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7efca2570618) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7efca2563c00) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7efca2570618)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7efca25ca360) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7efca25f10d0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7efca25ca300) 0
+ primary-for QThread (0x0x7efca25f10d0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7efca25ca480) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7efca25f1138) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7efca25ca420) 0
+ primary-for QThreadPool (0x0x7efca25f1138)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7efca25ca4e0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7efca25ca600) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7efca25f11a0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7efca25ca5a0) 0
+ primary-for QTimeLine (0x0x7efca25f11a0)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7efca25ca6c0) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7efca25f1208) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7efca25ca660) 0
+ primary-for QTimer (0x0x7efca25f1208)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7efca25cade0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7efca25cad80) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7efca22b33c0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7efca25f1dd0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7efca22b3360) 0
+ primary-for QTranslator (0x0x7efca25f1dd0)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7efca22b3420) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7efca22b3a80) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7efca22b3ae0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7efca22b3d80) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7efca22f5a90) 0
+ QVector<QXmlStreamAttribute> (0x0x7efca2366180) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7efca23661e0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7efca2366480) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7efca2366720) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7efca23669c0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7efca2366a20) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7efca206a480) 0
+
+Vtable for QSqlDriverCreatorBase
+QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSqlDriverCreatorBase)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QSqlDriverCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDriverCreatorBase (0x0x7efca206a720) 0 nearly-empty
+ vptr=((& QSqlDriverCreatorBase::_ZTV21QSqlDriverCreatorBase) + 16u)
+
+Class QSqlDatabase
+ size=8 align=8
+ base size=8 base align=8
+QSqlDatabase (0x0x7efca206a7e0) 0
+
+Class QSqlDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlDriver::QPrivateSignal (0x0x7efca206a8a0) 0 empty
+
+Vtable for QSqlDriver
+QSqlDriver::_ZTV10QSqlDriver: 38u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlDriver)
+16 (int (*)(...))QSqlDriver::metaObject
+24 (int (*)(...))QSqlDriver::qt_metacast
+32 (int (*)(...))QSqlDriver::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSqlDriver::isOpen
+120 (int (*)(...))QSqlDriver::beginTransaction
+128 (int (*)(...))QSqlDriver::commitTransaction
+136 (int (*)(...))QSqlDriver::rollbackTransaction
+144 (int (*)(...))QSqlDriver::tables
+152 (int (*)(...))QSqlDriver::primaryIndex
+160 (int (*)(...))QSqlDriver::record
+168 (int (*)(...))QSqlDriver::formatValue
+176 (int (*)(...))QSqlDriver::escapeIdentifier
+184 (int (*)(...))QSqlDriver::sqlStatement
+192 (int (*)(...))QSqlDriver::handle
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))QSqlDriver::subscribeToNotification
+240 (int (*)(...))QSqlDriver::unsubscribeFromNotification
+248 (int (*)(...))QSqlDriver::subscribedToNotifications
+256 (int (*)(...))QSqlDriver::isIdentifierEscaped
+264 (int (*)(...))QSqlDriver::stripDelimiters
+272 (int (*)(...))QSqlDriver::cancelQuery
+280 (int (*)(...))QSqlDriver::setOpen
+288 (int (*)(...))QSqlDriver::setOpenError
+296 (int (*)(...))QSqlDriver::setLastError
+
+Class QSqlDriver
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriver (0x0x7efca23f3d00) 0
+ vptr=((& QSqlDriver::_ZTV10QSqlDriver) + 16u)
+ QObject (0x0x7efca206a840) 0
+ primary-for QSqlDriver (0x0x7efca23f3d00)
+
+Class QSqlDriverPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlDriverPlugin::QPrivateSignal (0x0x7efca206a960) 0 empty
+
+Vtable for QSqlDriverPlugin
+QSqlDriverPlugin::_ZTV16QSqlDriverPlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QSqlDriverPlugin)
+16 (int (*)(...))QSqlDriverPlugin::metaObject
+24 (int (*)(...))QSqlDriverPlugin::qt_metacast
+32 (int (*)(...))QSqlDriverPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSqlDriverPlugin
+ size=16 align=8
+ base size=16 base align=8
+QSqlDriverPlugin (0x0x7efca23f3d68) 0
+ vptr=((& QSqlDriverPlugin::_ZTV16QSqlDriverPlugin) + 16u)
+ QObject (0x0x7efca206a900) 0
+ primary-for QSqlDriverPlugin (0x0x7efca23f3d68)
+
+Class QSqlError::Unused
+ size=8 align=4
+ base size=8 base align=4
+QSqlError::Unused (0x0x7efca206aa20) 0
+
+Class QSqlError
+ size=24 align=8
+ base size=24 base align=8
+QSqlError (0x0x7efca206a9c0) 0
+
+Class QSqlField
+ size=24 align=8
+ base size=24 base align=8
+QSqlField (0x0x7efca2175840) 0
+
+Class QSqlRecord
+ size=8 align=8
+ base size=8 base align=8
+QSqlRecord (0x0x7efca21758a0) 0
+
+Class QSqlIndex
+ size=32 align=8
+ base size=32 base align=8
+QSqlIndex (0x0x7efca21778f0) 0
+ QSqlRecord (0x0x7efca2175900) 0
+
+Class QSqlQuery
+ size=8 align=8
+ base size=8 base align=8
+QSqlQuery (0x0x7efca2175a20) 0
+
+Class QSqlQueryModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlQueryModel::QPrivateSignal (0x0x7efca2175ae0) 0 empty
+
+Vtable for QSqlQueryModel
+QSqlQueryModel::_ZTV14QSqlQueryModel: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlQueryModel)
+16 (int (*)(...))QSqlQueryModel::metaObject
+24 (int (*)(...))QSqlQueryModel::qt_metacast
+32 (int (*)(...))QSqlQueryModel::qt_metacall
+40 (int (*)(...))QSqlQueryModel::~QSqlQueryModel
+48 (int (*)(...))QSqlQueryModel::~QSqlQueryModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))QSqlQueryModel::rowCount
+144 (int (*)(...))QSqlQueryModel::columnCount
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))QSqlQueryModel::data
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QSqlQueryModel::headerData
+184 (int (*)(...))QSqlQueryModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QSqlQueryModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QSqlQueryModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSqlQueryModel::fetchMore
+312 (int (*)(...))QSqlQueryModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QSqlQueryModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+384 (int (*)(...))QSqlQueryModel::clear
+392 (int (*)(...))QSqlQueryModel::queryChange
+400 (int (*)(...))QSqlQueryModel::indexInQuery
+
+Class QSqlQueryModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlQueryModel (0x0x7efca2177a28) 0
+ vptr=((& QSqlQueryModel::_ZTV14QSqlQueryModel) + 16u)
+ QAbstractTableModel (0x0x7efca2177a90) 0
+ primary-for QSqlQueryModel (0x0x7efca2177a28)
+ QAbstractItemModel (0x0x7efca2177af8) 0
+ primary-for QAbstractTableModel (0x0x7efca2177a90)
+ QObject (0x0x7efca2175a80) 0
+ primary-for QAbstractItemModel (0x0x7efca2177af8)
+
+Class QSqlTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlTableModel::QPrivateSignal (0x0x7efca2175ba0) 0 empty
+
+Vtable for QSqlTableModel
+QSqlTableModel::_ZTV14QSqlTableModel: 63u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSqlTableModel)
+16 (int (*)(...))QSqlTableModel::metaObject
+24 (int (*)(...))QSqlTableModel::qt_metacast
+32 (int (*)(...))QSqlTableModel::qt_metacall
+40 (int (*)(...))QSqlTableModel::~QSqlTableModel
+48 (int (*)(...))QSqlTableModel::~QSqlTableModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))QSqlTableModel::rowCount
+144 (int (*)(...))QSqlQueryModel::columnCount
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))QSqlTableModel::data
+168 (int (*)(...))QSqlTableModel::setData
+176 (int (*)(...))QSqlTableModel::headerData
+184 (int (*)(...))QSqlQueryModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QSqlTableModel::insertRows
+264 (int (*)(...))QSqlQueryModel::insertColumns
+272 (int (*)(...))QSqlTableModel::removeRows
+280 (int (*)(...))QSqlTableModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSqlQueryModel::fetchMore
+312 (int (*)(...))QSqlQueryModel::canFetchMore
+320 (int (*)(...))QSqlTableModel::flags
+328 (int (*)(...))QSqlTableModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QSqlQueryModel::roleNames
+368 (int (*)(...))QSqlTableModel::submit
+376 (int (*)(...))QSqlTableModel::revert
+384 (int (*)(...))QSqlTableModel::clear
+392 (int (*)(...))QSqlQueryModel::queryChange
+400 (int (*)(...))QSqlTableModel::indexInQuery
+408 (int (*)(...))QSqlTableModel::setTable
+416 (int (*)(...))QSqlTableModel::setEditStrategy
+424 (int (*)(...))QSqlTableModel::setSort
+432 (int (*)(...))QSqlTableModel::setFilter
+440 (int (*)(...))QSqlTableModel::revertRow
+448 (int (*)(...))QSqlTableModel::select
+456 (int (*)(...))QSqlTableModel::selectRow
+464 (int (*)(...))QSqlTableModel::updateRowInTable
+472 (int (*)(...))QSqlTableModel::insertRowIntoTable
+480 (int (*)(...))QSqlTableModel::deleteRowFromTable
+488 (int (*)(...))QSqlTableModel::orderByClause
+496 (int (*)(...))QSqlTableModel::selectStatement
+
+Class QSqlTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlTableModel (0x0x7efca2177b60) 0
+ vptr=((& QSqlTableModel::_ZTV14QSqlTableModel) + 16u)
+ QSqlQueryModel (0x0x7efca2177bc8) 0
+ primary-for QSqlTableModel (0x0x7efca2177b60)
+ QAbstractTableModel (0x0x7efca2177c30) 0
+ primary-for QSqlQueryModel (0x0x7efca2177bc8)
+ QAbstractItemModel (0x0x7efca2177c98) 0
+ primary-for QAbstractTableModel (0x0x7efca2177c30)
+ QObject (0x0x7efca2175b40) 0
+ primary-for QAbstractItemModel (0x0x7efca2177c98)
+
+Class QSqlRelation
+ size=24 align=8
+ base size=24 base align=8
+QSqlRelation (0x0x7efca2175c00) 0
+
+Class QSqlRelationalTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSqlRelationalTableModel::QPrivateSignal (0x0x7efca2175f00) 0 empty
+
+Vtable for QSqlRelationalTableModel
+QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSqlRelationalTableModel)
+16 (int (*)(...))QSqlRelationalTableModel::metaObject
+24 (int (*)(...))QSqlRelationalTableModel::qt_metacast
+32 (int (*)(...))QSqlRelationalTableModel::qt_metacall
+40 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel
+48 (int (*)(...))QSqlRelationalTableModel::~QSqlRelationalTableModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))QSqlTableModel::rowCount
+144 (int (*)(...))QSqlQueryModel::columnCount
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))QSqlRelationalTableModel::data
+168 (int (*)(...))QSqlRelationalTableModel::setData
+176 (int (*)(...))QSqlTableModel::headerData
+184 (int (*)(...))QSqlQueryModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QSqlTableModel::insertRows
+264 (int (*)(...))QSqlQueryModel::insertColumns
+272 (int (*)(...))QSqlTableModel::removeRows
+280 (int (*)(...))QSqlRelationalTableModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSqlQueryModel::fetchMore
+312 (int (*)(...))QSqlQueryModel::canFetchMore
+320 (int (*)(...))QSqlTableModel::flags
+328 (int (*)(...))QSqlTableModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QSqlQueryModel::roleNames
+368 (int (*)(...))QSqlTableModel::submit
+376 (int (*)(...))QSqlTableModel::revert
+384 (int (*)(...))QSqlRelationalTableModel::clear
+392 (int (*)(...))QSqlQueryModel::queryChange
+400 (int (*)(...))QSqlTableModel::indexInQuery
+408 (int (*)(...))QSqlRelationalTableModel::setTable
+416 (int (*)(...))QSqlTableModel::setEditStrategy
+424 (int (*)(...))QSqlTableModel::setSort
+432 (int (*)(...))QSqlTableModel::setFilter
+440 (int (*)(...))QSqlRelationalTableModel::revertRow
+448 (int (*)(...))QSqlRelationalTableModel::select
+456 (int (*)(...))QSqlTableModel::selectRow
+464 (int (*)(...))QSqlRelationalTableModel::updateRowInTable
+472 (int (*)(...))QSqlRelationalTableModel::insertRowIntoTable
+480 (int (*)(...))QSqlTableModel::deleteRowFromTable
+488 (int (*)(...))QSqlRelationalTableModel::orderByClause
+496 (int (*)(...))QSqlRelationalTableModel::selectStatement
+504 (int (*)(...))QSqlRelationalTableModel::setRelation
+512 (int (*)(...))QSqlRelationalTableModel::relationModel
+
+Class QSqlRelationalTableModel
+ size=16 align=8
+ base size=16 base align=8
+QSqlRelationalTableModel (0x0x7efca2177f08) 0
+ vptr=((& QSqlRelationalTableModel::_ZTV24QSqlRelationalTableModel) + 16u)
+ QSqlTableModel (0x0x7efca2177f70) 0
+ primary-for QSqlRelationalTableModel (0x0x7efca2177f08)
+ QSqlQueryModel (0x0x7efca1e3f000) 0
+ primary-for QSqlTableModel (0x0x7efca2177f70)
+ QAbstractTableModel (0x0x7efca1e3f068) 0
+ primary-for QSqlQueryModel (0x0x7efca1e3f000)
+ QAbstractItemModel (0x0x7efca1e3f0d0) 0
+ primary-for QAbstractTableModel (0x0x7efca1e3f068)
+ QObject (0x0x7efca2175ea0) 0
+ primary-for QAbstractItemModel (0x0x7efca1e3f0d0)
+
+Vtable for QSqlResult
+QSqlResult::_ZTV10QSqlResult: 33u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSqlResult)
+16 0u
+24 0u
+32 (int (*)(...))QSqlResult::handle
+40 (int (*)(...))QSqlResult::setAt
+48 (int (*)(...))QSqlResult::setActive
+56 (int (*)(...))QSqlResult::setLastError
+64 (int (*)(...))QSqlResult::setQuery
+72 (int (*)(...))QSqlResult::setSelect
+80 (int (*)(...))QSqlResult::setForwardOnly
+88 (int (*)(...))QSqlResult::exec
+96 (int (*)(...))QSqlResult::prepare
+104 (int (*)(...))QSqlResult::savePrepare
+112 (int (*)(...))QSqlResult::bindValue
+120 (int (*)(...))QSqlResult::bindValue
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QSqlResult::fetchNext
+168 (int (*)(...))QSqlResult::fetchPrevious
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QSqlResult::record
+216 (int (*)(...))QSqlResult::lastInsertId
+224 (int (*)(...))QSqlResult::virtual_hook
+232 (int (*)(...))QSqlResult::execBatch
+240 (int (*)(...))QSqlResult::detachFromResultSet
+248 (int (*)(...))QSqlResult::setNumericalPrecisionPolicy
+256 (int (*)(...))QSqlResult::nextResult
+
+Class QSqlResult
+ size=16 align=8
+ base size=16 base align=8
+QSqlResult (0x0x7efca2175f60) 0
+ vptr=((& QSqlResult::_ZTV10QSqlResult) + 16u)
+
diff --git a/tests/auto/bic/data/QtTest.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtTest.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..faaf2c505a
--- /dev/null
+++ b/tests/auto/bic/data/QtTest.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,4704 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7fde232fa4e0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7fde23346c60) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7fde23346ea0) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7fde20ef1120) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7fde20ef1360) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7fde20ef14e0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7fde20ef18a0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7fde20fac060) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7fde20fac120) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7fde20fac480) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7fde20fac540) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7fde20fac600) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7fde20fac6c0) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7fde20fac960) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7fde20facb40) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7fde21037000) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7fde21037060) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7fde21068cc0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7fde21068d20) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7fde20f58c30) 0 empty
+ std::input_iterator_tag (0x0x7fde21068d80) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7fde20f58c98) 0 empty
+ std::forward_iterator_tag (0x0x7fde20f58d00) 0 empty
+ std::input_iterator_tag (0x0x7fde21068de0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7fde20f58d68) 0 empty
+ std::bidirectional_iterator_tag (0x0x7fde20f58dd0) 0 empty
+ std::forward_iterator_tag (0x0x7fde20f58e38) 0 empty
+ std::input_iterator_tag (0x0x7fde21068e40) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7fde21098ae0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7fde21098b40) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7fde21098ba0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7fde21098c00) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7fde21098c60) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7fde20d77780) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7fde20d779c0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7fde20d77a80) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7fde20d77ae0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7fde20d77ba0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7fde20d77c00) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7fde20e0c0c0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7fde20e0c120) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7fde20e0c180) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7fde210ac3a8) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7fde20e0c1e0) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7fde210ac3a8)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7fde20e0c240) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7fde20e0c2a0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7fde210ac5b0) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7fde20e0c6c0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fde210ac5b0)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7fde210ac618) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7fde210ac680) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7fde210ac618)
+ std::exception (0x0x7fde20e0c720) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7fde210ac680)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7fde20e0c780) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7fde20b883c0) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7fde209aa0c0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7fde209aa120) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7fde20a6e000) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7fde20a6e060) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7fde20a6e120) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7fde20a6e180) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7fde20a6e1e0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7fde20a6e240) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7fde20a6e360) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7fde20a6e3c0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7fde20a6e7e0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7fde20a6e840) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7fde20583060) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7fde205830c0) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7fde206be060) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7fde206bee40) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7fde20327270) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fde206bef00) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7fde203272d8) 0
+ std::_Bit_iterator_base (0x0x7fde20327340) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fde206bef60) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7fde203273a8) 0
+ std::_Bit_iterator_base (0x0x7fde20327410) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7fde204b5000) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7fde204b5de0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7fde20257ba0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7fde20257b40) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7fde1ffb4b40) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7fde1ec1f660) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7fde1ec1f6c0) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7fde1e8fe180) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7fde1e8fe1e0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7fde1e8fe240) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7fde1e8fe2a0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7fde1e8fe540) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7fde1e8fea80) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7fde1e94a2d8) 0
+ std::__atomic_flag_base (0x0x7fde1e8feae0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7fde1e94aa28) 0
+ QAtomicInteger<int> (0x0x7fde1e94aa90) 0
+ QBasicAtomicInteger<int> (0x0x7fde1e4e2240) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7fde1e40f7e0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7fde1e1949c0) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7fde1e194ae0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7fde1e4d1680) 0
+ QGenericArgument (0x0x7fde1e194b40) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7fde1e194cc0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7fde1e194d80) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7fde1e290de0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7fde1e290e40) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7fde1df3f120) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7fde1df3f180) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7fde1df3f4e0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7fde1df3f540) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7fde1df3f5a0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7fde1df3f600) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7fde1df3f660) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7fde1df3fa20) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7fde1df3ec98) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7fde1df3fae0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fde1df3ec98)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7fde1df3ed00) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7fde1df3ed68) 0
+ primary-for std::domain_error (0x0x7fde1df3ed00)
+ std::exception (0x0x7fde1df3fb40) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fde1df3ed68)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7fde1df3edd0) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7fde1df3ee38) 0
+ primary-for std::invalid_argument (0x0x7fde1df3edd0)
+ std::exception (0x0x7fde1df3fba0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fde1df3ee38)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7fde1df3eea0) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7fde1df3ef08) 0
+ primary-for std::length_error (0x0x7fde1df3eea0)
+ std::exception (0x0x7fde1df3fc00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fde1df3ef08)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7fde1df3ef70) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7fde1df3e9c0) 0
+ primary-for std::out_of_range (0x0x7fde1df3ef70)
+ std::exception (0x0x7fde1df3fc60) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fde1df3e9c0)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7fde1df3ea90) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7fde1df3fcc0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fde1df3ea90)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7fde1e073000) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7fde1e073068) 0
+ primary-for std::range_error (0x0x7fde1e073000)
+ std::exception (0x0x7fde1df3fd20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fde1e073068)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7fde1e0730d0) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7fde1e073138) 0
+ primary-for std::overflow_error (0x0x7fde1e0730d0)
+ std::exception (0x0x7fde1df3fd80) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fde1e073138)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7fde1e0731a0) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7fde1e073208) 0
+ primary-for std::underflow_error (0x0x7fde1e0731a0)
+ std::exception (0x0x7fde1df3fde0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fde1e073208)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7fde1df3ff60) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7fde1e0881e0) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7fde1e088360) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7fde1e0736e8) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7fde1e073750) 0
+ primary-for std::system_error (0x0x7fde1e0736e8)
+ std::exception (0x0x7fde1e0885a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fde1e073750)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7fde1dce3340) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7fde1dce33a8) 0
+ primary-for std::ios_base::failure (0x0x7fde1dce3340)
+ std::runtime_error (0x0x7fde1dce3410) 0
+ primary-for std::system_error (0x0x7fde1dce33a8)
+ std::exception (0x0x7fde1e0888a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7fde1dce3410)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7fde1e088900) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7fde1e088960) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7fde1e0889c0) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7fde1e088840) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7fde1ddba180) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7fde1ddba840) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7fde1d949f70 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7fde1d949270 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7fde1d9f8000 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7fde1d9f80d0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7fde1da120c0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7fde1da12120) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7fde1d70a480) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7fde1d70a7e0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7fde1d70ac60) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7fde1d832ae0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7fde1d4eb180) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7fde1d4eb120) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7fde1d66c240) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7fde1d66ce40) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7fde1d473ae0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7fde1d473b40) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7fde1d473ba0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7fde1d473f60) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7fde1d2ce000) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7fde1d476c98) 0 empty
+ QListData::NotIndirectLayout (0x0x7fde1d2ce060) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7fde1d2cc3f0) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fde1d2ce0c0) 0 empty
+ QListData::NotIndirectLayout (0x0x7fde1d2ce120) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7fde1d476d00) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7fde1d2ce180) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7fde1d2ce1e0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7fde1d473f00) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7fde1d2ce660) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7fde1d07f8a0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7fde1d07f840) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7fde1d087750) 0
+ QList<QString> (0x0x7fde1d0877b8) 0
+ QListSpecialMethods<QString> (0x0x7fde1d07fa80) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7fde1d07fea0) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7fde1cd2ea80) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7fde1cb19120) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7fde1cb192a0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7fde1cb19360) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7fde1d087c98) 0
+ std::__uses_alloc_base (0x0x7fde1cb19300) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7fde1cc313c0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7fde1cc31600) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7fde1cc316c0) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7fde1cc317e0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7fde1cc31960) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7fde1cc31d80) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7fde1cc31ea0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7fde1c992840) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7fde1c992c60) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7fde1c992f60) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7fde1c89e960) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7fde1c6077e0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7fde1c607840) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7fde1c607a20) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7fde1c6079c0) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7fde1c6cfcc0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7fde1c6cfd20) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7fde1c6cfde0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7fde1c3012d8) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7fde1c6cfd80) 0
+ primary-for QAbstractAnimation (0x0x7fde1c3012d8)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7fde1c6cfea0) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7fde1c301340) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7fde1c6cfe40) 0
+ primary-for QAnimationDriver (0x0x7fde1c301340)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7fde1c6cff60) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7fde1c3013a8) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7fde1c6cff00) 0
+ primary-for QEventLoop (0x0x7fde1c3013a8)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7fde1c35d180) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7fde1c35d240) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7fde1c35d2a0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7fde1c3014e0) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7fde1c35d1e0) 0
+ primary-for QAbstractEventDispatcher (0x0x7fde1c3014e0)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7fde1c35d540) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7fde1c3016e8) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7fde1c35d5a0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7fde1c3016e8)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7fde1c301750) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7fde1c35d600) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7fde1c301750)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7fde1c4729c0) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7fde1c0fc6c0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7fde1c4729c0)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7fde1c0fc780) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7fde1c0fc7e0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7fde1c0fc900) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7fde1c0fcde0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7fde1c1d7360) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7fde1c1d7720) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7fde1c1d76c0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7fde1c1d7780) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7fde1bfec060) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7fde1bfec120) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7fde1bfec0c0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7fde1bfec180) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7fde1bfec000) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7fde1c0bfc60) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7fde1bd63300) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7fde1bd632a0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7fde1bd633c0) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7fde1bd63360) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7fde1be896c0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7fde1be89d80) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7fde1bc724e0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7fde1bc73750) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7fde1bc72480) 0
+ primary-for QAbstractItemModel (0x0x7fde1bc73750)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7fde1bc72d80) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7fde1bc73e38) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7fde1bc73ea0) 0
+ primary-for QAbstractTableModel (0x0x7fde1bc73e38)
+ QObject (0x0x7fde1bc72d20) 0
+ primary-for QAbstractItemModel (0x0x7fde1bc73ea0)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7fde1bc72e40) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7fde1bc73f08) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7fde1bc73f70) 0
+ primary-for QAbstractListModel (0x0x7fde1bc73f08)
+ QObject (0x0x7fde1bc72de0) 0
+ primary-for QAbstractItemModel (0x0x7fde1bc73f70)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7fde1b985120) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7fde1b9851e0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7fde1b9810d0) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7fde1b981138) 0
+ primary-for QAbstractProxyModel (0x0x7fde1b9810d0)
+ QObject (0x0x7fde1b985180) 0
+ primary-for QAbstractItemModel (0x0x7fde1b981138)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7fde1b9852a0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7fde1b9811a0) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7fde1b985240) 0
+ primary-for QAbstractState (0x0x7fde1b9811a0)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7fde1b985360) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7fde1b981208) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7fde1b985300) 0
+ primary-for QAbstractTransition (0x0x7fde1b981208)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7fde1b985420) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7fde1b981270) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7fde1b9812d8) 0
+ primary-for QAnimationGroup (0x0x7fde1b981270)
+ QObject (0x0x7fde1b9853c0) 0
+ primary-for QAbstractAnimation (0x0x7fde1b9812d8)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7fde1ba42180) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7fde1ba42420) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7fde1ba424e0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7fde1ba427e0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7fde1b981958) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7fde1ba42780) 0
+ primary-for QIODevice (0x0x7fde1b981958)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7fde1ba42a20) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7fde1b981a90) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7fde1b981af8) 0
+ primary-for QBuffer (0x0x7fde1b981a90)
+ QObject (0x0x7fde1ba429c0) 0
+ primary-for QIODevice (0x0x7fde1b981af8)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7fde1ba42ae0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7fde1ba42a80) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7fde1ba42c00) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7fde1ba42ba0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7fde1ba42de0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7fde1b7af000) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7fde1b7af2a0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7fde1b7afa20) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7fde1b7afa80) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7fde1b7af9c0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7fde1b893ba0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7fde1b55d1e0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7fde1b55d480) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7fde1b55d6c0) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7fde1b55dd80) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7fde1b55df00) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7fde1b2e8480) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7fde1b2e8420) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7fde1b0ea780) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7fde1b0ea840) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7fde1b16eba0) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7fde1b16ed20) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7fde1b1e3360) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7fde1b1e3660) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7fde1b1e3a20) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7fde1af6c120) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7fde1af6c720) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7fde1af6c780) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7fde1ae22780) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7fde1ae22d20) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7fde1ae22d80) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7fde1ae22cc0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7fde1ab57de0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7fde1ab57e40) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7fde1ab57d80) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7fde1a91c9c0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7fde1a91cd80) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7fde1aa71780) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7fde1aa71de0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7fde1aa71ea0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7fde1a769ea0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7fde1a7b0360) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7fde1a7b50d0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7fde1a7b03c0) 0
+ primary-for QTimerEvent (0x0x7fde1a7b50d0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7fde1a7b5138) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7fde1a7b0420) 0
+ primary-for QChildEvent (0x0x7fde1a7b5138)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7fde1a7b5680) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7fde1a7b0900) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7fde1a7b5680)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7fde1a7b56e8) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7fde1a7b0960) 0
+ primary-for QDeferredDeleteEvent (0x0x7fde1a7b56e8)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7fde1a7b0a20) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7fde1a7b5750) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7fde1a7b09c0) 0
+ primary-for QCoreApplication (0x0x7fde1a7b5750)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7fde1a7b0a80) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7fde1a7b0ae0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7fde1a7b0b40) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7fde1a7b0c00) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7fde1a888120) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7fde1a888600) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7fde1a5f6480) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7fde1a5ecbc8) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7fde1a5ecc30) 0
+ primary-for QFileDevice (0x0x7fde1a5ecbc8)
+ QObject (0x0x7fde1a5f6420) 0
+ primary-for QIODevice (0x0x7fde1a5ecc30)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7fde1a5f66c0) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7fde1a5ecd68) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7fde1a5ecdd0) 0
+ primary-for QFile (0x0x7fde1a5ecd68)
+ QIODevice (0x0x7fde1a5ece38) 0
+ primary-for QFileDevice (0x0x7fde1a5ecdd0)
+ QObject (0x0x7fde1a5f6660) 0
+ primary-for QIODevice (0x0x7fde1a5ece38)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7fde1a5f68a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7fde1a5f6cc0) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7fde1a2f8300) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7fde1a2f8540) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7fde1a3ff960) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7fde1a3fbe38) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7fde1a3fbea0) 0
+ primary-for QEventTransition (0x0x7fde1a3fbe38)
+ QObject (0x0x7fde1a3ff900) 0
+ primary-for QAbstractTransition (0x0x7fde1a3fbea0)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7fde1a3fbf08) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7fde1a3ff9c0) 0 nearly-empty
+ primary-for QException (0x0x7fde1a3fbf08)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7fde1a3fbf70) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7fde1a476000) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7fde1a3fbf70)
+ std::exception (0x0x7fde1a3ffa20) 0 nearly-empty
+ primary-for QException (0x0x7fde1a476000)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7fde1a3ffa80) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7fde1a3ffb40) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7fde1a3ffba0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7fde1a3ffcc0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7fde1a476068) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7fde1a3ffc60) 0
+ primary-for QFileSelector (0x0x7fde1a476068)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7fde1a3ffd80) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7fde1a4760d0) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7fde1a3ffd20) 0
+ primary-for QFileSystemWatcher (0x0x7fde1a4760d0)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7fde1a3ffe40) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7fde1a476138) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7fde1a4761a0) 0
+ primary-for QFinalState (0x0x7fde1a476138)
+ QObject (0x0x7fde1a3ffde0) 0
+ primary-for QAbstractState (0x0x7fde1a4761a0)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7fde1a3ffea0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7fde1a3fff00) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7fde1a4762d8) 0
+ QBasicMutex (0x0x7fde1a0c9120) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7fde1a0c9180) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7fde1a0c91e0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7fde1a0c9240) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7fde1a0c9360) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7fde1a0c9ba0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7fde1a2313c0) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7fde1a232410) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7fde1a231360) 0
+ primary-for QFutureWatcherBase (0x0x7fde1a232410)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7fde1a2319c0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7fde1a232d00) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7fde1a232d68) 0
+ primary-for QHistoryState (0x0x7fde1a232d00)
+ QObject (0x0x7fde1a231960) 0
+ primary-for QAbstractState (0x0x7fde1a232d68)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7fde1a231a80) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7fde1a232dd0) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7fde1a232e38) 0
+ primary-for QIdentityProxyModel (0x0x7fde1a232dd0)
+ QAbstractItemModel (0x0x7fde1a232ea0) 0
+ primary-for QAbstractProxyModel (0x0x7fde1a232e38)
+ QObject (0x0x7fde1a231a20) 0
+ primary-for QAbstractItemModel (0x0x7fde1a232ea0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7fde1a231ae0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7fde19f101e0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7fde19edd6e8) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7fde19f10180) 0
+ primary-for QItemSelectionModel (0x0x7fde19edd6e8)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7fde19edd8f0) 0
+ QList<QItemSelectionRange> (0x0x7fde19edd958) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7fde19f104e0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7fde19f109c0) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7fde19d12120) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7fde19d12660) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7fde19d126c0) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7fde19d128a0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7fde19d12900) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7fde19d12840) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7fde19e26b40) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7fde19e26ba0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7fde19ea1240) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7fde19ea12a0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7fde19ea11e0) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7fde19b56540) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7fde19b4dc98) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7fde19b564e0) 0
+ primary-for QLibrary (0x0x7fde19b4dc98)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7fde19b56c00) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7fde19b56720) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7fde19c4d120) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7fde19c4d180) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7fde19c4d420) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7fde19c4da20) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7fde198ea3c0) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7fde198ea9c0) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7fde198ead20) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7fde198eaea0) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7fde198eae40) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7fde19a6c060) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7fde19a6c300) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7fde19a6c960) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7fde19a6c9c0) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7fde1965e000) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7fde1965e300) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7fde1965e360) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7fde1965e660) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7fde195c4f08) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7fde1965e600) 0
+ primary-for QMimeData (0x0x7fde195c4f08)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7fde1965e6c0) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7fde1965e9c0) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7fde1965ea80) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7fde196b1138) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7fde1965ea20) 0
+ primary-for QObjectCleanupHandler (0x0x7fde196b1138)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7fde1965eae0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7fde196f62a0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7fde196b1888) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7fde196b18f0) 0
+ primary-for QParallelAnimationGroup (0x0x7fde196b1888)
+ QAbstractAnimation (0x0x7fde196b1958) 0
+ primary-for QAnimationGroup (0x0x7fde196b18f0)
+ QObject (0x0x7fde196f6240) 0
+ primary-for QAbstractAnimation (0x0x7fde196b1958)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7fde196f6360) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7fde196b19c0) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7fde196b1a28) 0
+ primary-for QPauseAnimation (0x0x7fde196b19c0)
+ QObject (0x0x7fde196f6300) 0
+ primary-for QAbstractAnimation (0x0x7fde196b1a28)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7fde196f6540) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7fde196f6840) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7fde196b1c30) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7fde196f67e0) 0
+ primary-for QPluginLoader (0x0x7fde196b1c30)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7fde196f68a0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7fde196f6f60) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7fde19767270) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7fde197672d8) 0
+ primary-for QProcess (0x0x7fde19767270)
+ QObject (0x0x7fde196f6f00) 0
+ primary-for QIODevice (0x0x7fde197672d8)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7fde197a9060) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7fde19767340) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7fde197673a8) 0
+ primary-for QVariantAnimation (0x0x7fde19767340)
+ QObject (0x0x7fde197a9000) 0
+ primary-for QAbstractAnimation (0x0x7fde197673a8)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7fde197a9120) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7fde19767478) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7fde197674e0) 0
+ primary-for QPropertyAnimation (0x0x7fde19767478)
+ QAbstractAnimation (0x0x7fde19767548) 0
+ primary-for QVariantAnimation (0x0x7fde197674e0)
+ QObject (0x0x7fde197a90c0) 0
+ primary-for QAbstractAnimation (0x0x7fde19767548)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7fde197a9240) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7fde197a91e0) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7fde19449820) 0
+ QRandomGenerator (0x0x7fde194621e0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7fde194622a0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7fde19462540) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7fde19462600) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7fde194626c0) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7fde19462960) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7fde19462c00) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7fde19462ea0) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7fde19257180) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7fde19257300) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7fde195963a8) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7fde19596410) 0
+ primary-for QSaveFile (0x0x7fde195963a8)
+ QIODevice (0x0x7fde19596478) 0
+ primary-for QFileDevice (0x0x7fde19596410)
+ QObject (0x0x7fde192572a0) 0
+ primary-for QIODevice (0x0x7fde19596478)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7fde19257420) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7fde192575a0) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7fde1900fba0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7fde19014d00) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7fde19014d68) 0
+ primary-for QSequentialAnimationGroup (0x0x7fde19014d00)
+ QAbstractAnimation (0x0x7fde19014dd0) 0
+ primary-for QAnimationGroup (0x0x7fde19014d68)
+ QObject (0x0x7fde1900fb40) 0
+ primary-for QAbstractAnimation (0x0x7fde19014dd0)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7fde1900fc60) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7fde19014e38) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7fde1900fc00) 0
+ primary-for QSettings (0x0x7fde19014e38)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7fde1900fd20) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7fde19014ea0) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7fde1900fcc0) 0
+ primary-for QSharedMemory (0x0x7fde19014ea0)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7fde1900fde0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7fde19014f08) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7fde1900fd80) 0
+ primary-for QSignalMapper (0x0x7fde19014f08)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7fde1900fea0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7fde19014f70) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7fde19081000) 0
+ primary-for QSignalTransition (0x0x7fde19014f70)
+ QObject (0x0x7fde1900fe40) 0
+ primary-for QAbstractTransition (0x0x7fde19081000)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7fde1900ff60) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7fde19081068) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7fde1900ff00) 0
+ primary-for QSocketNotifier (0x0x7fde19081068)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7fde190a1060) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7fde190810d0) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7fde19081138) 0
+ primary-for QSortFilterProxyModel (0x0x7fde190810d0)
+ QAbstractItemModel (0x0x7fde190811a0) 0
+ primary-for QAbstractProxyModel (0x0x7fde19081138)
+ QObject (0x0x7fde190a1000) 0
+ primary-for QAbstractItemModel (0x0x7fde190811a0)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7fde190a1120) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7fde190a1360) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7fde19081340) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7fde190813a8) 0
+ primary-for QState (0x0x7fde19081340)
+ QObject (0x0x7fde190a1300) 0
+ primary-for QAbstractState (0x0x7fde190813a8)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7fde190a1480) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7fde19081548) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7fde190a14e0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7fde19081548)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7fde190815b0) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7fde190a1540) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7fde190815b0)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7fde19081410) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7fde19081478) 0
+ primary-for QStateMachine (0x0x7fde19081410)
+ QAbstractState (0x0x7fde190814e0) 0
+ primary-for QState (0x0x7fde19081478)
+ QObject (0x0x7fde190a1420) 0
+ primary-for QAbstractState (0x0x7fde190814e0)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7fde190a15a0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7fde191894e0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7fde18e138a0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7fde18e1f5b0) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7fde18e1f618) 0
+ primary-for QStringListModel (0x0x7fde18e1f5b0)
+ QAbstractItemModel (0x0x7fde18e1f680) 0
+ primary-for QAbstractListModel (0x0x7fde18e1f618)
+ QObject (0x0x7fde18e13840) 0
+ primary-for QAbstractItemModel (0x0x7fde18e1f680)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7fde18e13900) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7fde18e139c0) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7fde18e13ae0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7fde18e1f6e8) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7fde18e1f750) 0
+ primary-for QTemporaryFile (0x0x7fde18e1f6e8)
+ QFileDevice (0x0x7fde18e1f7b8) 0
+ primary-for QFile (0x0x7fde18e1f750)
+ QIODevice (0x0x7fde18e1f820) 0
+ primary-for QFileDevice (0x0x7fde18e1f7b8)
+ QObject (0x0x7fde18e13a80) 0
+ primary-for QIODevice (0x0x7fde18e1f820)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7fde18e13b40) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7fde18e13d80) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7fde18e13d20) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7fde18e13f60) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7fde18eff000) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7fde18eff060) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7fde18eff0c0) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7fde18e1fa28) 0
+ std::__mutex_base (0x0x7fde18eff120) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7fde18e1fa90) 0
+ std::__recursive_mutex_base (0x0x7fde18eff180) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7fde18f254d0) 0
+ std::__mutex_base (0x0x7fde18eff2a0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7fde18eff300) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7fde18f25e70) 0
+ std::__recursive_mutex_base (0x0x7fde18eff3c0) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7fde18eff420) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7fde18eff480) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7fde18eff4e0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7fde18eff540) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7fde18eff780) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7fde18e1fbc8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7fde18eff840) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7fde18e1fbc8)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7fde18e1fc30) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7fde18eff900) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7fde18e1fc30)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7fde18e1fc98) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7fde18eff9c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7fde18e1fc98)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7fde18e1fd68) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7fde18effa80) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7fde18e1fd68)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7fde18effb40) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7fde18effba0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7fde18effc00) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7fde18effc60) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7fde18e1fea0) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7fde18c59000) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7fde18e1fea0)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7fde18c59840) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7fde189d6060) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7fde189d6240) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7fde189d62a0) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7fde189d61e0) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7fde18b40ea0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7fde18b40f60) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7fde18ba7000) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7fde1880e660) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7fde188163a8) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7fde18816410) 0
+ primary-for std::future_error (0x0x7fde188163a8)
+ std::exception (0x0x7fde1880e780) 0 nearly-empty
+ primary-for std::logic_error (0x0x7fde18816410)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7fde1880e8a0) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7fde1880e840) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7fde18927de0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7fde1896e9c0) 0
+ std::__at_thread_exit_elt (0x0x7fde18927ea0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7fde1880ea20) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7fde1880e7e0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7fde182ed5b0) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7fde182d7d80) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7fde182ed5b0)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7fde183424e0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7fde1836f068) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7fde18342480) 0
+ primary-for QThread (0x0x7fde1836f068)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7fde18342600) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7fde1836f0d0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7fde183425a0) 0
+ primary-for QThreadPool (0x0x7fde1836f0d0)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7fde18342660) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7fde18342780) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7fde1836f138) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7fde18342720) 0
+ primary-for QTimeLine (0x0x7fde1836f138)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7fde18342840) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7fde1836f1a0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7fde183427e0) 0
+ primary-for QTimer (0x0x7fde1836f1a0)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7fde18342f60) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7fde18342f00) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7fde18021540) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7fde1836fd68) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7fde180214e0) 0
+ primary-for QTranslator (0x0x7fde1836fd68)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7fde180215a0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7fde18021c00) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7fde18021c60) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7fde18021f00) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7fde18071a28) 0
+ QVector<QXmlStreamAttribute> (0x0x7fde180de300) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7fde180de360) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7fde180de600) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7fde180de8a0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7fde180deb40) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7fde180deba0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7fde17dbd600) 0
+
+Class QAbstractItemModelTester::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModelTester::QPrivateSignal (0x0x7fde17dbd780) 0 empty
+
+Vtable for QAbstractItemModelTester
+QAbstractItemModelTester::_ZTV24QAbstractItemModelTester: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractItemModelTester)
+16 (int (*)(...))QAbstractItemModelTester::metaObject
+24 (int (*)(...))QAbstractItemModelTester::qt_metacast
+32 (int (*)(...))QAbstractItemModelTester::qt_metacall
+40 (int (*)(...))QAbstractItemModelTester::~QAbstractItemModelTester
+48 (int (*)(...))QAbstractItemModelTester::~QAbstractItemModelTester
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAbstractItemModelTester
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModelTester (0x0x7fde18191af8) 0
+ vptr=((& QAbstractItemModelTester::_ZTV24QAbstractItemModelTester) + 16u)
+ QObject (0x0x7fde17dbd720) 0
+ primary-for QAbstractItemModelTester (0x0x7fde18191af8)
+
+Class QTest::QBenchmarkIterationController
+ size=4 align=4
+ base size=4 base align=4
+QTest::QBenchmarkIterationController (0x0x7fde17dbd7e0) 0
+
+Class QTestEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTestEventLoop::QPrivateSignal (0x0x7fde17dbd8a0) 0 empty
+
+Vtable for QTestEventLoop
+QTestEventLoop::_ZTV14QTestEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTestEventLoop)
+16 (int (*)(...))QTestEventLoop::metaObject
+24 (int (*)(...))QTestEventLoop::qt_metacast
+32 (int (*)(...))QTestEventLoop::qt_metacall
+40 (int (*)(...))QTestEventLoop::~QTestEventLoop
+48 (int (*)(...))QTestEventLoop::~QTestEventLoop
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTestEventLoop::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTestEventLoop
+ size=32 align=8
+ base size=32 base align=8
+QTestEventLoop (0x0x7fde18191b60) 0
+ vptr=((& QTestEventLoop::_ZTV14QTestEventLoop) + 16u)
+ QObject (0x0x7fde17dbd840) 0
+ primary-for QTestEventLoop (0x0x7fde18191b60)
+
+Vtable for QSignalSpy
+QSignalSpy::_ZTV10QSignalSpy: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QSignalSpy)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QSignalSpy::qt_metacall
+40 (int (*)(...))QSignalSpy::~QSignalSpy
+48 (int (*)(...))QSignalSpy::~QSignalSpy
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalSpy
+ size=80 align=8
+ base size=73 base align=8
+QSignalSpy (0x0x7fde17e8c230) 0
+ vptr=((& QSignalSpy::_ZTV10QSignalSpy) + 16u)
+ QObject (0x0x7fde17e667e0) 0
+ primary-for QSignalSpy (0x0x7fde17e8c230)
+ QList<QList<QVariant> > (0x0x7fde17e58bc8) 16
+ QListSpecialMethods<QList<QVariant> > (0x0x7fde17e66840) 16 empty
+
+Class QTestData
+ size=8 align=8
+ base size=8 base align=8
+QTestData (0x0x7fde17ee3900) 0
+
diff --git a/tests/auto/bic/data/QtWidgets.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtWidgets.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..4e51564cec
--- /dev/null
+++ b/tests/auto/bic/data/QtWidgets.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,19191 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f58e1213120) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f58e12598a0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f58e1259ae0) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f58e1259d20) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f58e1259f60) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f58e1285120) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f58e12854e0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f58e1312c60) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f58e1312d20) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f58e13400c0) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f58e1340180) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f58e1340240) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f58e1340300) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f58e13405a0) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f58e1340780) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f58e1340c00) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f58e1340c60) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f58e0ef4900) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f58e0ef4960) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f58e12e3a90) 0 empty
+ std::input_iterator_tag (0x0x7f58e0ef49c0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f58e12e3af8) 0 empty
+ std::forward_iterator_tag (0x0x7f58e12e3b60) 0 empty
+ std::input_iterator_tag (0x0x7f58e0ef4a20) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f58e12e3bc8) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f58e12e3c30) 0 empty
+ std::forward_iterator_tag (0x0x7f58e12e3c98) 0 empty
+ std::input_iterator_tag (0x0x7f58e0ef4a80) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f58e0f32720) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f58e0f32780) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f58e0f327e0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f58e0f32840) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f58e0f328a0) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7f58e10253c0) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f58e1025600) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f58e10256c0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f58e1025720) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f58e10257e0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f58e1025840) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f58e1025cc0) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f58e1025d20) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f58e1025d80) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f58e0f65208) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7f58e1025de0) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f58e0f65208)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f58e1025e40) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f58e1025ea0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f58e0f65410) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7f58e0d76300) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f58e0f65410)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f58e0f65478) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7f58e0f654e0) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f58e0f65478)
+ std::exception (0x0x7f58e0d76360) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f58e0f654e0)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f58e0d763c0) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7f58e0a88000) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f58e0a88cc0) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f58e0a88d20) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f58e0c7bc00) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7f58e0c7bc60) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f58e0c7bd20) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f58e0c7bd80) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f58e0c7bde0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f58e0c7be40) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f58e0c7bf60) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f58e0926000) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f58e0926420) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f58e0926480) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f58e07cbc60) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f58e07cbcc0) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f58e0813c60) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f58e05cfa80) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f58e067e0d0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f58e05cfb40) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f58e067e138) 0
+ std::_Bit_iterator_base (0x0x7f58e067e1a0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f58e05cfba0) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f58e067e208) 0
+ std::_Bit_iterator_base (0x0x7f58e067e270) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f58e05cfc00) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f58e03b9a20) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f58e00de7e0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f58e00de780) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f58dfe9d780) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f58deab62a0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f58deab6300) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f58deb5cd80) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f58deb5cde0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f58deb5ce40) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f58deb5cea0) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f58debc9180) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f58debc96c0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f58debd4138) 0
+ std::__atomic_flag_base (0x0x7f58debc9720) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f58debd4888) 0
+ QAtomicInteger<int> (0x0x7f58debd48f0) 0
+ QBasicAtomicInteger<int> (0x0x7f58de977e40) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f58de2fa420) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f58de43a600) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f58de43a720) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f58de4154e0) 0
+ QGenericArgument (0x0x7f58de43a780) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f58de43a900) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f58de43a9c0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f58de0e2a20) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f58de0e2a80) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f58de0e2d20) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f58de0e2d80) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f58de1fc120) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f58de1fc180) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f58de1fc1e0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f58de1fc240) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f58de1fc2a0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f58de1fc660) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f58de1c4af8) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7f58de1fc720) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f58de1c4af8)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f58de1c4b60) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7f58de1c4bc8) 0
+ primary-for std::domain_error (0x0x7f58de1c4b60)
+ std::exception (0x0x7f58de1fc780) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f58de1c4bc8)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f58de1c4c30) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7f58de1c4c98) 0
+ primary-for std::invalid_argument (0x0x7f58de1c4c30)
+ std::exception (0x0x7f58de1fc7e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f58de1c4c98)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f58de1c4d00) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7f58de1c4d68) 0
+ primary-for std::length_error (0x0x7f58de1c4d00)
+ std::exception (0x0x7f58de1fc840) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f58de1c4d68)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f58de1c4dd0) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7f58de1c4e38) 0
+ primary-for std::out_of_range (0x0x7f58de1c4dd0)
+ std::exception (0x0x7f58de1fc8a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f58de1c4e38)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f58de1c4ea0) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7f58de1fc900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f58de1c4ea0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f58de1c4f08) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7f58de1c4f70) 0
+ primary-for std::range_error (0x0x7f58de1c4f08)
+ std::exception (0x0x7f58de1fc960) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f58de1c4f70)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f58de1c4820) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7f58de1c48f0) 0
+ primary-for std::overflow_error (0x0x7f58de1c4820)
+ std::exception (0x0x7f58de1fc9c0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f58de1c48f0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f58ddebc000) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7f58ddebc068) 0
+ primary-for std::underflow_error (0x0x7f58ddebc000)
+ std::exception (0x0x7f58de1fca20) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f58ddebc068)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f58de1fcba0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f58de1fcde0) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f58de1fcf60) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f58ddebc548) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7f58ddebc5b0) 0
+ primary-for std::system_error (0x0x7f58ddebc548)
+ std::exception (0x0x7f58ddefd1e0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f58ddebc5b0)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f58ddf341a0) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7f58ddf34208) 0
+ primary-for std::ios_base::failure (0x0x7f58ddf341a0)
+ std::runtime_error (0x0x7f58ddf34270) 0
+ primary-for std::system_error (0x0x7f58ddf34208)
+ std::exception (0x0x7f58ddefd4e0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f58ddf34270)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f58ddefd540) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f58ddefd5a0) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f58ddefd600) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f58ddefd480) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f58ddefdd80) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f58ddc79480) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f58ddba0d68 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f58ddba0e38 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f58ddba03a8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f58ddba09c0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f58dde01cc0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f58dde01d20) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f58dd9740c0) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f58dd974420) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f58dd9748a0) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f58dd67e720) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f58dd67ed80) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f58dd67ed20) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f58dd48ae40) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f58dd59aa80) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f58dd2d5720) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f58dd2d5780) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f58dd2d57e0) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f58dd2d5ba0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f58dd2d5c00) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f58dd2baaf8) 0 empty
+ QListData::NotIndirectLayout (0x0x7f58dd2d5c60) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f58dd10e310) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f58dd2d5cc0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f58dd2d5d20) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f58dd2bab60) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f58dd2d5d80) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f58dd2d5de0) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f58dd2d5b40) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f58dd1322a0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f58dceca4e0) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f58dceca480) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f58dcecd5b0) 0
+ QList<QString> (0x0x7f58dcecd618) 0
+ QListSpecialMethods<QString> (0x0x7f58dceca6c0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f58dcecaae0) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f58dcfb86c0) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f58dcfb8d20) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f58dcfb8ea0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f58dcfb8f60) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f58dcecdf08) 0
+ std::__uses_alloc_base (0x0x7f58dcfb8f00) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f58dca8c000) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f58dca8c240) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f58dca8c300) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f58dca8c420) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f58dca8c5a0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f58dca8c9c0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f58dca8cae0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f58dc849480) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f58dc8498a0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f58dc849ba0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f58dc6f45a0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f58dc442420) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f58dc442480) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f58dc442660) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f58dc442600) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f58dc50a900) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f58dc50a960) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f58dc50aa20) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f58dc536138) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7f58dc50a9c0) 0
+ primary-for QAbstractAnimation (0x0x7f58dc536138)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f58dc50aae0) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f58dc5361a0) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7f58dc50aa80) 0
+ primary-for QAnimationDriver (0x0x7f58dc5361a0)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f58dc50aba0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f58dc536208) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7f58dc50ab40) 0
+ primary-for QEventLoop (0x0x7f58dc536208)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f58dc50ad80) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f58dc50ae40) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f58dc50aea0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f58dc536340) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7f58dc50ade0) 0
+ primary-for QAbstractEventDispatcher (0x0x7f58dc536340)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f58dc5d5180) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f58dc536548) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7f58dc5d51e0) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f58dc536548)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f58dc5365b0) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7f58dc5d5240) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f58dc5365b0)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f58dc2d1820) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7f58dc34b300) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f58dc2d1820)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f58dc34b3c0) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f58dc34b420) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f58dc34b540) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f58dc34ba20) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f58dc34bf60) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f58dc418360) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f58dc418300) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f58dc4183c0) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f58dc418c60) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f58dc418d20) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f58dc418cc0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f58dc418d80) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f58dc418c00) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f58dbf418a0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f58dbf41f00) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f58dbf41ea0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f58dbf9f000) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f58dbf41f60) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f58dbcb1300) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f58dbcb19c0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f58dba9d120) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f58dba995b0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7f58dba9d0c0) 0
+ primary-for QAbstractItemModel (0x0x7f58dba995b0)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f58dba9d9c0) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f58dba99c98) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7f58dba99d00) 0
+ primary-for QAbstractTableModel (0x0x7f58dba99c98)
+ QObject (0x0x7f58dba9d960) 0
+ primary-for QAbstractItemModel (0x0x7f58dba99d00)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f58dba9da80) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f58dba99d68) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7f58dba99dd0) 0
+ primary-for QAbstractListModel (0x0x7f58dba99d68)
+ QObject (0x0x7f58dba9da20) 0
+ primary-for QAbstractItemModel (0x0x7f58dba99dd0)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f58dba9dd20) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f58dba9dde0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f58dba99f08) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7f58dba99f70) 0
+ primary-for QAbstractProxyModel (0x0x7f58dba99f08)
+ QObject (0x0x7f58dba9dd80) 0
+ primary-for QAbstractItemModel (0x0x7f58dba99f70)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f58dba9dea0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f58dbbf1000) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7f58dba9de40) 0
+ primary-for QAbstractState (0x0x7f58dbbf1000)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f58dba9df60) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f58dbbf1068) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7f58dba9df00) 0
+ primary-for QAbstractTransition (0x0x7f58dbbf1068)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f58dbc19060) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f58dbbf10d0) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7f58dbbf1138) 0
+ primary-for QAnimationGroup (0x0x7f58dbbf10d0)
+ QObject (0x0x7f58dbc19000) 0
+ primary-for QAbstractAnimation (0x0x7f58dbbf1138)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f58db844d80) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f58db887060) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f58db887120) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f58db887420) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f58dbbf17b8) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7f58db8873c0) 0
+ primary-for QIODevice (0x0x7f58dbbf17b8)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f58db887660) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f58dbbf18f0) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7f58dbbf1958) 0
+ primary-for QBuffer (0x0x7f58dbbf18f0)
+ QObject (0x0x7f58db887600) 0
+ primary-for QIODevice (0x0x7f58dbbf1958)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f58db887720) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f58db8876c0) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f58db887840) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f58db8877e0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f58db887a20) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f58db887c00) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f58db887ea0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f58dba0d660) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f58dba0d6c0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f58dba0d600) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f58db6c07e0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f58db6c0de0) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f58db7e80c0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f58db7e8300) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f58db7e89c0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f58db7e8b40) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f58db5740c0) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f58db574060) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f58db2cd3c0) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f58db2cd480) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f58db3517e0) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f58db351960) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f58db351f60) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f58db00d2a0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f58db00d660) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f58db127d20) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f58db1a7360) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f58db1a73c0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f58dac483c0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f58dac48960) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f58dac489c0) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f58dac48900) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f58dad56a20) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f58dad56a80) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f58dad569c0) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f58dab1b600) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f58dab1b9c0) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f58da8543c0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f58da854a20) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f58da854ae0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f58da972ae0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f58da972f60) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f58da976f08) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7f58da5ce000) 0
+ primary-for QTimerEvent (0x0x7f58da976f08)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f58da976f70) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7f58da5ce060) 0
+ primary-for QChildEvent (0x0x7f58da976f70)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f58da5dd4e0) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7f58da5ce540) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f58da5dd4e0)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f58da5dd548) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7f58da5ce5a0) 0
+ primary-for QDeferredDeleteEvent (0x0x7f58da5dd548)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f58da5ce660) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f58da5dd5b0) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7f58da5ce600) 0
+ primary-for QCoreApplication (0x0x7f58da5dd5b0)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f58da5ce6c0) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f58da5ce720) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f58da5ce780) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f58da5ce840) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f58da5ced20) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f58da6b2240) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f58da3e30c0) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f58da3c3a28) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7f58da3c3a90) 0
+ primary-for QFileDevice (0x0x7f58da3c3a28)
+ QObject (0x0x7f58da3e3060) 0
+ primary-for QIODevice (0x0x7f58da3c3a90)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f58da3e3300) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f58da3c3bc8) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7f58da3c3c30) 0
+ primary-for QFile (0x0x7f58da3c3bc8)
+ QIODevice (0x0x7f58da3c3c98) 0
+ primary-for QFileDevice (0x0x7f58da3c3c30)
+ QObject (0x0x7f58da3e32a0) 0
+ primary-for QIODevice (0x0x7f58da3c3c98)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f58da3e34e0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f58da3e3900) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f58da3e3f00) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f58da527180) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f58da1d95a0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f58da1cec98) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7f58da1ced00) 0
+ primary-for QEventTransition (0x0x7f58da1cec98)
+ QObject (0x0x7f58da1d9540) 0
+ primary-for QAbstractTransition (0x0x7f58da1ced00)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f58da1ced68) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7f58da1d9600) 0 nearly-empty
+ primary-for QException (0x0x7f58da1ced68)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f58da1cedd0) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7f58da1cee38) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f58da1cedd0)
+ std::exception (0x0x7f58da1d9660) 0 nearly-empty
+ primary-for QException (0x0x7f58da1cee38)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f58da1d96c0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f58da1d9780) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f58da1d97e0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f58da1d9900) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f58da1ceea0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7f58da1d98a0) 0
+ primary-for QFileSelector (0x0x7f58da1ceea0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f58da1d99c0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f58da1cef08) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7f58da1d9960) 0
+ primary-for QFileSystemWatcher (0x0x7f58da1cef08)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f58da1d9a80) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f58da1cef70) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7f58da283000) 0
+ primary-for QFinalState (0x0x7f58da1cef70)
+ QObject (0x0x7f58da1d9a20) 0
+ primary-for QAbstractState (0x0x7f58da283000)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f58da1d9ae0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f58da1d9b40) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f58da283138) 0
+ QBasicMutex (0x0x7f58da1d9d20) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f58da1d9d80) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f58da1d9de0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f58da1d9e40) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f58da1d9f60) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f58da3787e0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f58da031000) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f58da007270) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7f58da378f60) 0
+ primary-for QFutureWatcherBase (0x0x7f58da007270)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f58da031600) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f58da007b60) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7f58da007bc8) 0
+ primary-for QHistoryState (0x0x7f58da007b60)
+ QObject (0x0x7f58da0315a0) 0
+ primary-for QAbstractState (0x0x7f58da007bc8)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f58da0316c0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f58da007c30) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f58da007c98) 0
+ primary-for QIdentityProxyModel (0x0x7f58da007c30)
+ QAbstractItemModel (0x0x7f58da007d00) 0
+ primary-for QAbstractProxyModel (0x0x7f58da007c98)
+ QObject (0x0x7f58da031660) 0
+ primary-for QAbstractItemModel (0x0x7f58da007d00)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f58da031720) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f58da031de0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f58da0d2548) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7f58da031d80) 0
+ primary-for QItemSelectionModel (0x0x7f58da0d2548)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f58da0d2750) 0
+ QList<QItemSelectionRange> (0x0x7f58da0d27b8) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f58da12d120) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f58da12d600) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f58d9ecdd20) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f58d9f3b2a0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f58d9f3b300) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f58d9f3b4e0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f58d9f3b540) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f58d9f3b480) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f58d9bfd780) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f58d9bfd7e0) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f58d9bfde40) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f58d9bfdea0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f58d9bfdde0) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f58d9d65180) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f58d9d24af8) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7f58d9d65120) 0
+ primary-for QLibrary (0x0x7f58d9d24af8)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f58d9d65840) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f58d9d65360) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f58d9d65d20) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f58d9d65d80) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f58d9a41060) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f58d9a41660) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f58d9af5000) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f58d9af5600) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f58d9af5960) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f58d9af5ae0) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f58d9af5a80) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f58d9af5c60) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f58d9af5f00) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f58d98975a0) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f58d9897600) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f58d9897c00) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f58d9897f00) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f58d9897f60) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f58d99512a0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f58d98b8d68) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7f58d9951240) 0
+ primary-for QMimeData (0x0x7f58d98b8d68)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f58d9951300) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f58d9951600) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f58d99516c0) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f58d98b8f70) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7f58d9951660) 0
+ primary-for QObjectCleanupHandler (0x0x7f58d98b8f70)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f58d9951720) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f58d9951ea0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f58d99ab6e8) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f58d99ab750) 0
+ primary-for QParallelAnimationGroup (0x0x7f58d99ab6e8)
+ QAbstractAnimation (0x0x7f58d99ab7b8) 0
+ primary-for QAnimationGroup (0x0x7f58d99ab750)
+ QObject (0x0x7f58d9951e40) 0
+ primary-for QAbstractAnimation (0x0x7f58d99ab7b8)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f58d9951f60) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f58d99ab820) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7f58d99ab888) 0
+ primary-for QPauseAnimation (0x0x7f58d99ab820)
+ QObject (0x0x7f58d9951f00) 0
+ primary-for QAbstractAnimation (0x0x7f58d99ab888)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f58d95f2180) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f58d95f2480) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f58d99aba90) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7f58d95f2420) 0
+ primary-for QPluginLoader (0x0x7f58d99aba90)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f58d95f24e0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f58d95f2ba0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f58d96430d0) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7f58d9643138) 0
+ primary-for QProcess (0x0x7f58d96430d0)
+ QObject (0x0x7f58d95f2b40) 0
+ primary-for QIODevice (0x0x7f58d9643138)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f58d95f2c60) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f58d96431a0) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7f58d9643208) 0
+ primary-for QVariantAnimation (0x0x7f58d96431a0)
+ QObject (0x0x7f58d95f2c00) 0
+ primary-for QAbstractAnimation (0x0x7f58d9643208)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f58d95f2d20) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f58d96432d8) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7f58d9643340) 0
+ primary-for QPropertyAnimation (0x0x7f58d96432d8)
+ QAbstractAnimation (0x0x7f58d96433a8) 0
+ primary-for QVariantAnimation (0x0x7f58d9643340)
+ QObject (0x0x7f58d95f2cc0) 0
+ primary-for QAbstractAnimation (0x0x7f58d96433a8)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f58d95f2e40) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f58d95f2de0) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f58d9725680) 0
+ QRandomGenerator (0x0x7f58d970dde0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f58d970dea0) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f58d979e180) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f58d979e240) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f58d979e300) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f58d979e5a0) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f58d979e840) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f58d979eae0) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f58d979ed80) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f58d979ef00) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f58d9494208) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7f58d9494270) 0
+ primary-for QSaveFile (0x0x7f58d9494208)
+ QIODevice (0x0x7f58d94942d8) 0
+ primary-for QFileDevice (0x0x7f58d9494270)
+ QObject (0x0x7f58d979eea0) 0
+ primary-for QIODevice (0x0x7f58d94942d8)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f58d91c2060) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f58d91c21e0) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f58d92ee7e0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f58d92ecb60) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f58d92ecbc8) 0
+ primary-for QSequentialAnimationGroup (0x0x7f58d92ecb60)
+ QAbstractAnimation (0x0x7f58d92ecc30) 0
+ primary-for QAnimationGroup (0x0x7f58d92ecbc8)
+ QObject (0x0x7f58d92ee780) 0
+ primary-for QAbstractAnimation (0x0x7f58d92ecc30)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f58d92ee8a0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f58d92ecc98) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7f58d92ee840) 0
+ primary-for QSettings (0x0x7f58d92ecc98)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f58d92ee960) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f58d92ecd00) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7f58d92ee900) 0
+ primary-for QSharedMemory (0x0x7f58d92ecd00)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f58d92eea20) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f58d92ecd68) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7f58d92ee9c0) 0
+ primary-for QSignalMapper (0x0x7f58d92ecd68)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f58d92eeae0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f58d92ecdd0) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7f58d92ece38) 0
+ primary-for QSignalTransition (0x0x7f58d92ecdd0)
+ QObject (0x0x7f58d92eea80) 0
+ primary-for QAbstractTransition (0x0x7f58d92ece38)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f58d92eeba0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f58d92ecea0) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7f58d92eeb40) 0
+ primary-for QSocketNotifier (0x0x7f58d92ecea0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f58d92eec60) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f58d92ecf08) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f58d92ecf70) 0
+ primary-for QSortFilterProxyModel (0x0x7f58d92ecf08)
+ QAbstractItemModel (0x0x7f58d9376000) 0
+ primary-for QAbstractProxyModel (0x0x7f58d92ecf70)
+ QObject (0x0x7f58d92eec00) 0
+ primary-for QAbstractItemModel (0x0x7f58d9376000)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f58d92eed20) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f58d92eef60) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f58d93761a0) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7f58d9376208) 0
+ primary-for QState (0x0x7f58d93761a0)
+ QObject (0x0x7f58d92eef00) 0
+ primary-for QAbstractState (0x0x7f58d9376208)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f58d8ff10c0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f58d93763a8) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7f58d8ff1120) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f58d93763a8)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f58d9376410) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7f58d8ff1180) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f58d9376410)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f58d9376270) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7f58d93762d8) 0
+ primary-for QStateMachine (0x0x7f58d9376270)
+ QAbstractState (0x0x7f58d9376340) 0
+ primary-for QState (0x0x7f58d93762d8)
+ QObject (0x0x7f58d8ff1060) 0
+ primary-for QAbstractState (0x0x7f58d9376340)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f58d8ff11e0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f58d9070120) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f58d90f54e0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f58d90f8410) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7f58d90f8478) 0
+ primary-for QStringListModel (0x0x7f58d90f8410)
+ QAbstractItemModel (0x0x7f58d90f84e0) 0
+ primary-for QAbstractListModel (0x0x7f58d90f8478)
+ QObject (0x0x7f58d90f5480) 0
+ primary-for QAbstractItemModel (0x0x7f58d90f84e0)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f58d90f5540) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f58d90f5600) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f58d90f5720) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f58d90f8548) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7f58d90f85b0) 0
+ primary-for QTemporaryFile (0x0x7f58d90f8548)
+ QFileDevice (0x0x7f58d90f8618) 0
+ primary-for QFile (0x0x7f58d90f85b0)
+ QIODevice (0x0x7f58d90f8680) 0
+ primary-for QFileDevice (0x0x7f58d90f8618)
+ QObject (0x0x7f58d90f56c0) 0
+ primary-for QIODevice (0x0x7f58d90f8680)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f58d90f5780) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f58d90f59c0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f58d90f5960) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f58d90f5ba0) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f58d90f5c00) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f58d90f5c60) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f58d90f5cc0) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f58d90f8888) 0
+ std::__mutex_base (0x0x7f58d90f5d20) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f58d90f88f0) 0
+ std::__recursive_mutex_base (0x0x7f58d90f5d80) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f58d8dfb3f0) 0
+ std::__mutex_base (0x0x7f58d90f5ea0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f58d90f5f00) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f58d8dfbd90) 0
+ std::__recursive_mutex_base (0x0x7f58d8e15000) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f58d8e15060) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f58d8e150c0) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f58d8e15120) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f58d8e15180) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f58d8e153c0) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f58d90f8a28) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7f58d8e15480) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f58d90f8a28)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f58d90f8a90) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7f58d8e15540) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f58d90f8a90)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f58d90f8af8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7f58d8e15600) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f58d90f8af8)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f58d90f8bc8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7f58d8e156c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f58d90f8bc8)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f58d8e15780) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f58d8e157e0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f58d8e15840) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f58d8e158a0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f58d90f8ea0) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7f58d8e15c00) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f58d90f8ea0)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f58d8f68480) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f58d8f68c60) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f58d8f68e40) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7f58d8f68ea0) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f58d8f68de0) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f58d89fdae0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f58d89fdba0) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f58d89fdc00) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f58d8aea2a0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f58d8b23208) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7f58d8b23270) 0
+ primary-for std::future_error (0x0x7f58d8b23208)
+ std::exception (0x0x7f58d8aea3c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f58d8b23270)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f58d8aea4e0) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f58d8aea480) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f58d8859a20) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f58d885e820) 0
+ std::__at_thread_exit_elt (0x0x7f58d8859ae0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f58d8aea660) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f58d8aea420) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f58d81c7410) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7f58d81bc9c0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f58d81c7410)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f58d8244120) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f58d81c7ea0) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7f58d82440c0) 0
+ primary-for QThread (0x0x7f58d81c7ea0)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f58d8244240) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f58d81c7f08) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7f58d82441e0) 0
+ primary-for QThreadPool (0x0x7f58d81c7f08)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f58d82442a0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f58d82443c0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f58d81c7f70) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7f58d8244360) 0
+ primary-for QTimeLine (0x0x7f58d81c7f70)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f58d8244480) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f58d829f000) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7f58d8244420) 0
+ primary-for QTimer (0x0x7f58d829f000)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f58d8244ba0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f58d8244b40) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f58d8311180) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f58d829fbc8) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7f58d8311120) 0
+ primary-for QTranslator (0x0x7f58d829fbc8)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f58d83111e0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f58d8311840) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f58d83118a0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f58d8311b40) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f58d8349888) 0
+ QVector<QXmlStreamAttribute> (0x0x7f58d8311f00) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f58d8311f60) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f58d800c240) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f58d800c4e0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f58d800c780) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f58d800c7e0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f58d80c2240) 0
+
+Class QRgba64
+ size=8 align=8
+ base size=8 base align=8
+QRgba64 (0x0x7f58d80c2360) 0
+
+Class QColor
+ size=16 align=4
+ base size=14 base align=4
+QColor (0x0x7f58d80c2600) 0
+
+Class QRegion::QRegionData
+ size=16 align=8
+ base size=16 base align=8
+QRegion::QRegionData (0x0x7f58d7df4000) 0
+
+Class QRegion
+ size=8 align=8
+ base size=8 base align=8
+QRegion (0x0x7f58d80c2f60) 0
+
+Class QKeySequence
+ size=8 align=8
+ base size=8 base align=8
+QKeySequence (0x0x7f58d7e77360) 0
+
+Class QVector2D
+ size=8 align=4
+ base size=8 base align=4
+QVector2D (0x0x7f58d7f208a0) 0
+
+Class QTouchDevice
+ size=8 align=8
+ base size=8 base align=8
+QTouchDevice (0x0x7f58d7f20b40) 0
+
+Vtable for QInputEvent
+QInputEvent::_ZTV11QInputEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QInputEvent)
+16 (int (*)(...))QInputEvent::~QInputEvent
+24 (int (*)(...))QInputEvent::~QInputEvent
+
+Class QInputEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputEvent (0x0x7f58d7f2c680) 0
+ vptr=((& QInputEvent::_ZTV11QInputEvent) + 16u)
+ QEvent (0x0x7f58d7f20d20) 0
+ primary-for QInputEvent (0x0x7f58d7f2c680)
+
+Vtable for QEnterEvent
+QEnterEvent::_ZTV11QEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QEnterEvent)
+16 (int (*)(...))QEnterEvent::~QEnterEvent
+24 (int (*)(...))QEnterEvent::~QEnterEvent
+
+Class QEnterEvent
+ size=72 align=8
+ base size=72 base align=8
+QEnterEvent (0x0x7f58d7f2c6e8) 0
+ vptr=((& QEnterEvent::_ZTV11QEnterEvent) + 16u)
+ QEvent (0x0x7f58d7f20d80) 0
+ primary-for QEnterEvent (0x0x7f58d7f2c6e8)
+
+Vtable for QMouseEvent
+QMouseEvent::_ZTV11QMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMouseEvent)
+16 (int (*)(...))QMouseEvent::~QMouseEvent
+24 (int (*)(...))QMouseEvent::~QMouseEvent
+
+Class QMouseEvent
+ size=104 align=8
+ base size=100 base align=8
+QMouseEvent (0x0x7f58d7f2c750) 0
+ vptr=((& QMouseEvent::_ZTV11QMouseEvent) + 16u)
+ QInputEvent (0x0x7f58d7f2c7b8) 0
+ primary-for QMouseEvent (0x0x7f58d7f2c750)
+ QEvent (0x0x7f58d7f20de0) 0
+ primary-for QInputEvent (0x0x7f58d7f2c7b8)
+
+Vtable for QHoverEvent
+QHoverEvent::_ZTV11QHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHoverEvent)
+16 (int (*)(...))QHoverEvent::~QHoverEvent
+24 (int (*)(...))QHoverEvent::~QHoverEvent
+
+Class QHoverEvent
+ size=64 align=8
+ base size=64 base align=8
+QHoverEvent (0x0x7f58d7f2c820) 0
+ vptr=((& QHoverEvent::_ZTV11QHoverEvent) + 16u)
+ QInputEvent (0x0x7f58d7f2c888) 0
+ primary-for QHoverEvent (0x0x7f58d7f2c820)
+ QEvent (0x0x7f58d7f20e40) 0
+ primary-for QInputEvent (0x0x7f58d7f2c888)
+
+Vtable for QWheelEvent
+QWheelEvent::_ZTV11QWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWheelEvent)
+16 (int (*)(...))QWheelEvent::~QWheelEvent
+24 (int (*)(...))QWheelEvent::~QWheelEvent
+
+Class QWheelEvent
+ size=96 align=8
+ base size=96 base align=8
+QWheelEvent (0x0x7f58d7f2c8f0) 0
+ vptr=((& QWheelEvent::_ZTV11QWheelEvent) + 16u)
+ QInputEvent (0x0x7f58d7f2c958) 0
+ primary-for QWheelEvent (0x0x7f58d7f2c8f0)
+ QEvent (0x0x7f58d7f20ea0) 0
+ primary-for QInputEvent (0x0x7f58d7f2c958)
+
+Vtable for QTabletEvent
+QTabletEvent::_ZTV12QTabletEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTabletEvent)
+16 (int (*)(...))QTabletEvent::~QTabletEvent
+24 (int (*)(...))QTabletEvent::~QTabletEvent
+
+Class QTabletEvent
+ size=128 align=8
+ base size=128 base align=8
+QTabletEvent (0x0x7f58d7f2c9c0) 0
+ vptr=((& QTabletEvent::_ZTV12QTabletEvent) + 16u)
+ QInputEvent (0x0x7f58d7f2ca28) 0
+ primary-for QTabletEvent (0x0x7f58d7f2c9c0)
+ QEvent (0x0x7f58d7f20f00) 0
+ primary-for QInputEvent (0x0x7f58d7f2ca28)
+
+Vtable for QNativeGestureEvent
+QNativeGestureEvent::_ZTV19QNativeGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QNativeGestureEvent)
+16 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+24 (int (*)(...))QNativeGestureEvent::~QNativeGestureEvent
+
+Class QNativeGestureEvent
+ size=112 align=8
+ base size=112 base align=8
+QNativeGestureEvent (0x0x7f58d7f2ca90) 0
+ vptr=((& QNativeGestureEvent::_ZTV19QNativeGestureEvent) + 16u)
+ QInputEvent (0x0x7f58d7f2caf8) 0
+ primary-for QNativeGestureEvent (0x0x7f58d7f2ca90)
+ QEvent (0x0x7f58d7f20f60) 0
+ primary-for QInputEvent (0x0x7f58d7f2caf8)
+
+Vtable for QKeyEvent
+QKeyEvent::_ZTV9QKeyEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QKeyEvent)
+16 (int (*)(...))QKeyEvent::~QKeyEvent
+24 (int (*)(...))QKeyEvent::~QKeyEvent
+
+Class QKeyEvent
+ size=64 align=8
+ base size=59 base align=8
+QKeyEvent (0x0x7f58d7f2cb60) 0
+ vptr=((& QKeyEvent::_ZTV9QKeyEvent) + 16u)
+ QInputEvent (0x0x7f58d7f2cbc8) 0
+ primary-for QKeyEvent (0x0x7f58d7f2cb60)
+ QEvent (0x0x7f58d7c40000) 0
+ primary-for QInputEvent (0x0x7f58d7f2cbc8)
+
+Vtable for QFocusEvent
+QFocusEvent::_ZTV11QFocusEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusEvent)
+16 (int (*)(...))QFocusEvent::~QFocusEvent
+24 (int (*)(...))QFocusEvent::~QFocusEvent
+
+Class QFocusEvent
+ size=24 align=8
+ base size=24 base align=8
+QFocusEvent (0x0x7f58d7f2cc30) 0
+ vptr=((& QFocusEvent::_ZTV11QFocusEvent) + 16u)
+ QEvent (0x0x7f58d7c40060) 0
+ primary-for QFocusEvent (0x0x7f58d7f2cc30)
+
+Vtable for QPaintEvent
+QPaintEvent::_ZTV11QPaintEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPaintEvent)
+16 (int (*)(...))QPaintEvent::~QPaintEvent
+24 (int (*)(...))QPaintEvent::~QPaintEvent
+
+Class QPaintEvent
+ size=56 align=8
+ base size=49 base align=8
+QPaintEvent (0x0x7f58d7f2cc98) 0
+ vptr=((& QPaintEvent::_ZTV11QPaintEvent) + 16u)
+ QEvent (0x0x7f58d7c400c0) 0
+ primary-for QPaintEvent (0x0x7f58d7f2cc98)
+
+Vtable for QMoveEvent
+QMoveEvent::_ZTV10QMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QMoveEvent)
+16 (int (*)(...))QMoveEvent::~QMoveEvent
+24 (int (*)(...))QMoveEvent::~QMoveEvent
+
+Class QMoveEvent
+ size=40 align=8
+ base size=36 base align=8
+QMoveEvent (0x0x7f58d7f2cd00) 0
+ vptr=((& QMoveEvent::_ZTV10QMoveEvent) + 16u)
+ QEvent (0x0x7f58d7c40120) 0
+ primary-for QMoveEvent (0x0x7f58d7f2cd00)
+
+Vtable for QExposeEvent
+QExposeEvent::_ZTV12QExposeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QExposeEvent)
+16 (int (*)(...))QExposeEvent::~QExposeEvent
+24 (int (*)(...))QExposeEvent::~QExposeEvent
+
+Class QExposeEvent
+ size=32 align=8
+ base size=32 base align=8
+QExposeEvent (0x0x7f58d7f2cd68) 0
+ vptr=((& QExposeEvent::_ZTV12QExposeEvent) + 16u)
+ QEvent (0x0x7f58d7c40180) 0
+ primary-for QExposeEvent (0x0x7f58d7f2cd68)
+
+Vtable for QPlatformSurfaceEvent
+QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QPlatformSurfaceEvent)
+16 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+24 (int (*)(...))QPlatformSurfaceEvent::~QPlatformSurfaceEvent
+
+Class QPlatformSurfaceEvent
+ size=24 align=8
+ base size=24 base align=8
+QPlatformSurfaceEvent (0x0x7f58d7f2cdd0) 0
+ vptr=((& QPlatformSurfaceEvent::_ZTV21QPlatformSurfaceEvent) + 16u)
+ QEvent (0x0x7f58d7c401e0) 0
+ primary-for QPlatformSurfaceEvent (0x0x7f58d7f2cdd0)
+
+Vtable for QResizeEvent
+QResizeEvent::_ZTV12QResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QResizeEvent)
+16 (int (*)(...))QResizeEvent::~QResizeEvent
+24 (int (*)(...))QResizeEvent::~QResizeEvent
+
+Class QResizeEvent
+ size=40 align=8
+ base size=36 base align=8
+QResizeEvent (0x0x7f58d7f2ce38) 0
+ vptr=((& QResizeEvent::_ZTV12QResizeEvent) + 16u)
+ QEvent (0x0x7f58d7c40240) 0
+ primary-for QResizeEvent (0x0x7f58d7f2ce38)
+
+Vtable for QCloseEvent
+QCloseEvent::_ZTV11QCloseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QCloseEvent)
+16 (int (*)(...))QCloseEvent::~QCloseEvent
+24 (int (*)(...))QCloseEvent::~QCloseEvent
+
+Class QCloseEvent
+ size=24 align=8
+ base size=20 base align=8
+QCloseEvent (0x0x7f58d7f2cea0) 0
+ vptr=((& QCloseEvent::_ZTV11QCloseEvent) + 16u)
+ QEvent (0x0x7f58d7c402a0) 0
+ primary-for QCloseEvent (0x0x7f58d7f2cea0)
+
+Vtable for QIconDragEvent
+QIconDragEvent::_ZTV14QIconDragEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QIconDragEvent)
+16 (int (*)(...))QIconDragEvent::~QIconDragEvent
+24 (int (*)(...))QIconDragEvent::~QIconDragEvent
+
+Class QIconDragEvent
+ size=24 align=8
+ base size=20 base align=8
+QIconDragEvent (0x0x7f58d7f2cf08) 0
+ vptr=((& QIconDragEvent::_ZTV14QIconDragEvent) + 16u)
+ QEvent (0x0x7f58d7c40300) 0
+ primary-for QIconDragEvent (0x0x7f58d7f2cf08)
+
+Vtable for QShowEvent
+QShowEvent::_ZTV10QShowEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QShowEvent)
+16 (int (*)(...))QShowEvent::~QShowEvent
+24 (int (*)(...))QShowEvent::~QShowEvent
+
+Class QShowEvent
+ size=24 align=8
+ base size=20 base align=8
+QShowEvent (0x0x7f58d7f2cf70) 0
+ vptr=((& QShowEvent::_ZTV10QShowEvent) + 16u)
+ QEvent (0x0x7f58d7c40360) 0
+ primary-for QShowEvent (0x0x7f58d7f2cf70)
+
+Vtable for QHideEvent
+QHideEvent::_ZTV10QHideEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHideEvent)
+16 (int (*)(...))QHideEvent::~QHideEvent
+24 (int (*)(...))QHideEvent::~QHideEvent
+
+Class QHideEvent
+ size=24 align=8
+ base size=20 base align=8
+QHideEvent (0x0x7f58d7c82000) 0
+ vptr=((& QHideEvent::_ZTV10QHideEvent) + 16u)
+ QEvent (0x0x7f58d7c403c0) 0
+ primary-for QHideEvent (0x0x7f58d7c82000)
+
+Vtable for QContextMenuEvent
+QContextMenuEvent::_ZTV17QContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QContextMenuEvent)
+16 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+24 (int (*)(...))QContextMenuEvent::~QContextMenuEvent
+
+Class QContextMenuEvent
+ size=56 align=8
+ base size=49 base align=8
+QContextMenuEvent (0x0x7f58d7c82068) 0
+ vptr=((& QContextMenuEvent::_ZTV17QContextMenuEvent) + 16u)
+ QInputEvent (0x0x7f58d7c820d0) 0
+ primary-for QContextMenuEvent (0x0x7f58d7c82068)
+ QEvent (0x0x7f58d7c40420) 0
+ primary-for QInputEvent (0x0x7f58d7c820d0)
+
+Class QInputMethodEvent::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodEvent::Attribute (0x0x7f58d7c404e0) 0
+
+Vtable for QInputMethodEvent
+QInputMethodEvent::_ZTV17QInputMethodEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QInputMethodEvent)
+16 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+24 (int (*)(...))QInputMethodEvent::~QInputMethodEvent
+
+Class QInputMethodEvent
+ size=56 align=8
+ base size=56 base align=8
+QInputMethodEvent (0x0x7f58d7c82138) 0
+ vptr=((& QInputMethodEvent::_ZTV17QInputMethodEvent) + 16u)
+ QEvent (0x0x7f58d7c40480) 0
+ primary-for QInputMethodEvent (0x0x7f58d7c82138)
+
+Class QInputMethodQueryEvent::QueryPair
+ size=24 align=8
+ base size=24 base align=8
+QInputMethodQueryEvent::QueryPair (0x0x7f58d7c40960) 0
+
+Vtable for QInputMethodQueryEvent
+QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QInputMethodQueryEvent)
+16 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+24 (int (*)(...))QInputMethodQueryEvent::~QInputMethodQueryEvent
+
+Class QInputMethodQueryEvent
+ size=32 align=8
+ base size=32 base align=8
+QInputMethodQueryEvent (0x0x7f58d7c82478) 0
+ vptr=((& QInputMethodQueryEvent::_ZTV22QInputMethodQueryEvent) + 16u)
+ QEvent (0x0x7f58d7c40900) 0
+ primary-for QInputMethodQueryEvent (0x0x7f58d7c82478)
+
+Vtable for QDropEvent
+QDropEvent::_ZTV10QDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QDropEvent)
+16 (int (*)(...))QDropEvent::~QDropEvent
+24 (int (*)(...))QDropEvent::~QDropEvent
+
+Class QDropEvent
+ size=72 align=8
+ base size=72 base align=8
+QDropEvent (0x0x7f58d7c82750) 0
+ vptr=((& QDropEvent::_ZTV10QDropEvent) + 16u)
+ QEvent (0x0x7f58d7c40cc0) 0
+ primary-for QDropEvent (0x0x7f58d7c82750)
+
+Vtable for QDragMoveEvent
+QDragMoveEvent::_ZTV14QDragMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDragMoveEvent)
+16 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+24 (int (*)(...))QDragMoveEvent::~QDragMoveEvent
+
+Class QDragMoveEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragMoveEvent (0x0x7f58d7c827b8) 0
+ vptr=((& QDragMoveEvent::_ZTV14QDragMoveEvent) + 16u)
+ QDropEvent (0x0x7f58d7c82820) 0
+ primary-for QDragMoveEvent (0x0x7f58d7c827b8)
+ QEvent (0x0x7f58d7c40d20) 0
+ primary-for QDropEvent (0x0x7f58d7c82820)
+
+Vtable for QDragEnterEvent
+QDragEnterEvent::_ZTV15QDragEnterEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragEnterEvent)
+16 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+24 (int (*)(...))QDragEnterEvent::~QDragEnterEvent
+
+Class QDragEnterEvent
+ size=88 align=8
+ base size=88 base align=8
+QDragEnterEvent (0x0x7f58d7c82888) 0
+ vptr=((& QDragEnterEvent::_ZTV15QDragEnterEvent) + 16u)
+ QDragMoveEvent (0x0x7f58d7c828f0) 0
+ primary-for QDragEnterEvent (0x0x7f58d7c82888)
+ QDropEvent (0x0x7f58d7c82958) 0
+ primary-for QDragMoveEvent (0x0x7f58d7c828f0)
+ QEvent (0x0x7f58d7c40d80) 0
+ primary-for QDropEvent (0x0x7f58d7c82958)
+
+Vtable for QDragLeaveEvent
+QDragLeaveEvent::_ZTV15QDragLeaveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDragLeaveEvent)
+16 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+24 (int (*)(...))QDragLeaveEvent::~QDragLeaveEvent
+
+Class QDragLeaveEvent
+ size=24 align=8
+ base size=20 base align=8
+QDragLeaveEvent (0x0x7f58d7c829c0) 0
+ vptr=((& QDragLeaveEvent::_ZTV15QDragLeaveEvent) + 16u)
+ QEvent (0x0x7f58d7c40de0) 0
+ primary-for QDragLeaveEvent (0x0x7f58d7c829c0)
+
+Vtable for QHelpEvent
+QHelpEvent::_ZTV10QHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QHelpEvent)
+16 (int (*)(...))QHelpEvent::~QHelpEvent
+24 (int (*)(...))QHelpEvent::~QHelpEvent
+
+Class QHelpEvent
+ size=40 align=8
+ base size=36 base align=8
+QHelpEvent (0x0x7f58d7c82a28) 0
+ vptr=((& QHelpEvent::_ZTV10QHelpEvent) + 16u)
+ QEvent (0x0x7f58d7c40e40) 0
+ primary-for QHelpEvent (0x0x7f58d7c82a28)
+
+Vtable for QStatusTipEvent
+QStatusTipEvent::_ZTV15QStatusTipEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QStatusTipEvent)
+16 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+24 (int (*)(...))QStatusTipEvent::~QStatusTipEvent
+
+Class QStatusTipEvent
+ size=32 align=8
+ base size=32 base align=8
+QStatusTipEvent (0x0x7f58d7c82a90) 0
+ vptr=((& QStatusTipEvent::_ZTV15QStatusTipEvent) + 16u)
+ QEvent (0x0x7f58d7c40ea0) 0
+ primary-for QStatusTipEvent (0x0x7f58d7c82a90)
+
+Vtable for QWhatsThisClickedEvent
+QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QWhatsThisClickedEvent)
+16 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+24 (int (*)(...))QWhatsThisClickedEvent::~QWhatsThisClickedEvent
+
+Class QWhatsThisClickedEvent
+ size=32 align=8
+ base size=32 base align=8
+QWhatsThisClickedEvent (0x0x7f58d7c82af8) 0
+ vptr=((& QWhatsThisClickedEvent::_ZTV22QWhatsThisClickedEvent) + 16u)
+ QEvent (0x0x7f58d7c40f00) 0
+ primary-for QWhatsThisClickedEvent (0x0x7f58d7c82af8)
+
+Vtable for QActionEvent
+QActionEvent::_ZTV12QActionEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionEvent)
+16 (int (*)(...))QActionEvent::~QActionEvent
+24 (int (*)(...))QActionEvent::~QActionEvent
+
+Class QActionEvent
+ size=40 align=8
+ base size=40 base align=8
+QActionEvent (0x0x7f58d7c82b60) 0
+ vptr=((& QActionEvent::_ZTV12QActionEvent) + 16u)
+ QEvent (0x0x7f58d7c40f60) 0
+ primary-for QActionEvent (0x0x7f58d7c82b60)
+
+Vtable for QFileOpenEvent
+QFileOpenEvent::_ZTV14QFileOpenEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QFileOpenEvent)
+16 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+24 (int (*)(...))QFileOpenEvent::~QFileOpenEvent
+
+Class QFileOpenEvent
+ size=40 align=8
+ base size=40 base align=8
+QFileOpenEvent (0x0x7f58d7c82bc8) 0
+ vptr=((& QFileOpenEvent::_ZTV14QFileOpenEvent) + 16u)
+ QEvent (0x0x7f58d7d4c000) 0
+ primary-for QFileOpenEvent (0x0x7f58d7c82bc8)
+
+Vtable for QToolBarChangeEvent
+QToolBarChangeEvent::_ZTV19QToolBarChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QToolBarChangeEvent)
+16 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+24 (int (*)(...))QToolBarChangeEvent::~QToolBarChangeEvent
+
+Class QToolBarChangeEvent
+ size=24 align=8
+ base size=21 base align=8
+QToolBarChangeEvent (0x0x7f58d7c82c30) 0
+ vptr=((& QToolBarChangeEvent::_ZTV19QToolBarChangeEvent) + 16u)
+ QEvent (0x0x7f58d7d4c060) 0
+ primary-for QToolBarChangeEvent (0x0x7f58d7c82c30)
+
+Vtable for QShortcutEvent
+QShortcutEvent::_ZTV14QShortcutEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QShortcutEvent)
+16 (int (*)(...))QShortcutEvent::~QShortcutEvent
+24 (int (*)(...))QShortcutEvent::~QShortcutEvent
+
+Class QShortcutEvent
+ size=40 align=8
+ base size=40 base align=8
+QShortcutEvent (0x0x7f58d7c82c98) 0
+ vptr=((& QShortcutEvent::_ZTV14QShortcutEvent) + 16u)
+ QEvent (0x0x7f58d7d4c0c0) 0
+ primary-for QShortcutEvent (0x0x7f58d7c82c98)
+
+Vtable for QWindowStateChangeEvent
+QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QWindowStateChangeEvent)
+16 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+24 (int (*)(...))QWindowStateChangeEvent::~QWindowStateChangeEvent
+
+Class QWindowStateChangeEvent
+ size=32 align=8
+ base size=25 base align=8
+QWindowStateChangeEvent (0x0x7f58d7c82d00) 0
+ vptr=((& QWindowStateChangeEvent::_ZTV23QWindowStateChangeEvent) + 16u)
+ QEvent (0x0x7f58d7d4c120) 0
+ primary-for QWindowStateChangeEvent (0x0x7f58d7c82d00)
+
+Class QPointingDeviceUniqueId
+ size=8 align=8
+ base size=8 base align=8
+QPointingDeviceUniqueId (0x0x7f58d7d4c180) 0
+
+Class QTouchEvent::TouchPoint
+ size=8 align=8
+ base size=8 base align=8
+QTouchEvent::TouchPoint (0x0x7f58d7d4c840) 0
+
+Vtable for QTouchEvent
+QTouchEvent::_ZTV11QTouchEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTouchEvent)
+16 (int (*)(...))QTouchEvent::~QTouchEvent
+24 (int (*)(...))QTouchEvent::~QTouchEvent
+
+Class QTouchEvent
+ size=72 align=8
+ base size=72 base align=8
+QTouchEvent (0x0x7f58d7d733a8) 0
+ vptr=((& QTouchEvent::_ZTV11QTouchEvent) + 16u)
+ QInputEvent (0x0x7f58d7d73410) 0
+ primary-for QTouchEvent (0x0x7f58d7d733a8)
+ QEvent (0x0x7f58d7d4c7e0) 0
+ primary-for QInputEvent (0x0x7f58d7d73410)
+
+Vtable for QScrollPrepareEvent
+QScrollPrepareEvent::_ZTV19QScrollPrepareEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollPrepareEvent)
+16 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+24 (int (*)(...))QScrollPrepareEvent::~QScrollPrepareEvent
+
+Class QScrollPrepareEvent
+ size=112 align=8
+ base size=112 base align=8
+QScrollPrepareEvent (0x0x7f58d7a34c30) 0
+ vptr=((& QScrollPrepareEvent::_ZTV19QScrollPrepareEvent) + 16u)
+ QEvent (0x0x7f58d7a33ea0) 0
+ primary-for QScrollPrepareEvent (0x0x7f58d7a34c30)
+
+Vtable for QScrollEvent
+QScrollEvent::_ZTV12QScrollEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QScrollEvent)
+16 (int (*)(...))QScrollEvent::~QScrollEvent
+24 (int (*)(...))QScrollEvent::~QScrollEvent
+
+Class QScrollEvent
+ size=64 align=8
+ base size=60 base align=8
+QScrollEvent (0x0x7f58d7a34c98) 0
+ vptr=((& QScrollEvent::_ZTV12QScrollEvent) + 16u)
+ QEvent (0x0x7f58d7a33f00) 0
+ primary-for QScrollEvent (0x0x7f58d7a34c98)
+
+Vtable for QScreenOrientationChangeEvent
+QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QScreenOrientationChangeEvent)
+16 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+24 (int (*)(...))QScreenOrientationChangeEvent::~QScreenOrientationChangeEvent
+
+Class QScreenOrientationChangeEvent
+ size=40 align=8
+ base size=36 base align=8
+QScreenOrientationChangeEvent (0x0x7f58d7a34d00) 0
+ vptr=((& QScreenOrientationChangeEvent::_ZTV29QScreenOrientationChangeEvent) + 16u)
+ QEvent (0x0x7f58d7a33f60) 0
+ primary-for QScreenOrientationChangeEvent (0x0x7f58d7a34d00)
+
+Vtable for QApplicationStateChangeEvent
+QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QApplicationStateChangeEvent)
+16 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+24 (int (*)(...))QApplicationStateChangeEvent::~QApplicationStateChangeEvent
+
+Class QApplicationStateChangeEvent
+ size=24 align=8
+ base size=24 base align=8
+QApplicationStateChangeEvent (0x0x7f58d7a34d68) 0
+ vptr=((& QApplicationStateChangeEvent::_ZTV28QApplicationStateChangeEvent) + 16u)
+ QEvent (0x0x7f58d7a88000) 0
+ primary-for QApplicationStateChangeEvent (0x0x7f58d7a34d68)
+
+Class QFont
+ size=16 align=8
+ base size=12 base align=8
+QFont (0x0x7f58d7a88060) 0
+
+Class QPolygon
+ size=8 align=8
+ base size=8 base align=8
+QPolygon (0x0x7f58d7ae6af8) 0
+ QVector<QPoint> (0x0x7f58d7a88d20) 0
+
+Class QPolygonF
+ size=8 align=8
+ base size=8 base align=8
+QPolygonF (0x0x7f58d7ae6ea0) 0
+ QVector<QPointF> (0x0x7f58d7b5f1e0) 0
+
+Class QMatrix
+ size=48 align=8
+ base size=48 base align=8
+QMatrix (0x0x7f58d7b5f5a0) 0
+
+Class QPainterPath::Element
+ size=24 align=8
+ base size=24 base align=8
+QPainterPath::Element (0x0x7f58d7b5f8a0) 0
+
+Class QPainterPath
+ size=8 align=8
+ base size=8 base align=8
+QPainterPath (0x0x7f58d7b5f840) 0
+
+Class QPainterPathStroker
+ size=8 align=8
+ base size=8 base align=8
+QPainterPathStroker (0x0x7f58d786c2a0) 0
+
+Class QTransform
+ size=88 align=8
+ base size=88 base align=8
+QTransform (0x0x7f58d786c3c0) 0
+
+Vtable for QPaintDevice
+QPaintDevice::_ZTV12QPaintDevice: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDevice
+ size=24 align=8
+ base size=24 base align=8
+QPaintDevice (0x0x7f58d786cae0) 0
+ vptr=((& QPaintDevice::_ZTV12QPaintDevice) + 16u)
+
+Class QPixelFormat
+ size=8 align=8
+ base size=8 base align=8
+QPixelFormat (0x0x7f58d786cb40) 0
+
+Vtable for QImage
+QImage::_ZTV6QImage: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QImage)
+16 (int (*)(...))QImage::~QImage
+24 (int (*)(...))QImage::~QImage
+32 (int (*)(...))QImage::devType
+40 (int (*)(...))QImage::paintEngine
+48 (int (*)(...))QImage::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QImage
+ size=32 align=8
+ base size=32 base align=8
+QImage (0x0x7f58d78ded68) 0
+ vptr=((& QImage::_ZTV6QImage) + 16u)
+ QPaintDevice (0x0x7f58d7997600) 0
+ primary-for QImage (0x0x7f58d78ded68)
+
+Vtable for QPixmap
+QPixmap::_ZTV7QPixmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QPixmap)
+16 (int (*)(...))QPixmap::~QPixmap
+24 (int (*)(...))QPixmap::~QPixmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPixmap
+ size=32 align=8
+ base size=32 base align=8
+QPixmap (0x0x7f58d767d8f0) 0
+ vptr=((& QPixmap::_ZTV7QPixmap) + 16u)
+ QPaintDevice (0x0x7f58d76795a0) 0
+ primary-for QPixmap (0x0x7f58d767d8f0)
+
+Class QBrush
+ size=8 align=8
+ base size=8 base align=8
+QBrush (0x0x7f58d76798a0) 0
+
+Class QBrushData
+ size=112 align=8
+ base size=112 base align=8
+QBrushData (0x0x7f58d7711060) 0
+
+Class QGradient
+ size=64 align=8
+ base size=64 base align=8
+QGradient (0x0x7f58d77110c0) 0
+
+Class QLinearGradient
+ size=64 align=8
+ base size=64 base align=8
+QLinearGradient (0x0x7f58d770f270) 0
+ QGradient (0x0x7f58d7711360) 0
+
+Class QRadialGradient
+ size=64 align=8
+ base size=64 base align=8
+QRadialGradient (0x0x7f58d770f2d8) 0
+ QGradient (0x0x7f58d77113c0) 0
+
+Class QConicalGradient
+ size=64 align=8
+ base size=64 base align=8
+QConicalGradient (0x0x7f58d770f340) 0
+ QGradient (0x0x7f58d7711420) 0
+
+Class QPen
+ size=8 align=8
+ base size=8 base align=8
+QPen (0x0x7f58d7711480) 0
+
+Class QTextOption::Tab
+ size=16 align=8
+ base size=14 base align=8
+QTextOption::Tab (0x0x7f58d73fe6c0) 0
+
+Class QTextOption
+ size=32 align=8
+ base size=32 base align=8
+QTextOption (0x0x7f58d73fe660) 0
+
+Class QTextLength
+ size=16 align=8
+ base size=16 base align=8
+QTextLength (0x0x7f58d73fee40) 0
+
+Class QTextFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFormat (0x0x7f58d748d5a0) 0
+
+Class QTextCharFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextCharFormat (0x0x7f58d7563270) 0
+ QTextFormat (0x0x7f58d752e420) 0
+
+Class QTextBlockFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextBlockFormat (0x0x7f58d7563478) 0
+ QTextFormat (0x0x7f58d752e6c0) 0
+
+Class QTextListFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextListFormat (0x0x7f58d75636e8) 0
+ QTextFormat (0x0x7f58d752e960) 0
+
+Class QTextImageFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextImageFormat (0x0x7f58d75638f0) 0
+ QTextCharFormat (0x0x7f58d7563958) 0
+ QTextFormat (0x0x7f58d752ec00) 0
+
+Class QTextFrameFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextFrameFormat (0x0x7f58d7563b60) 0
+ QTextFormat (0x0x7f58d752eea0) 0
+
+Class QTextTableFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableFormat (0x0x7f58d7563d68) 0
+ QTextFrameFormat (0x0x7f58d7563dd0) 0
+ QTextFormat (0x0x7f58d7249180) 0
+
+Class QTextTableCellFormat
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCellFormat (0x0x7f58d727a000) 0
+ QTextCharFormat (0x0x7f58d727a068) 0
+ QTextFormat (0x0x7f58d7249480) 0
+
+Class QFontDatabase
+ size=8 align=8
+ base size=8 base align=8
+QFontDatabase (0x0x7f58d7249720) 0
+
+Class QRawFont
+ size=8 align=8
+ base size=8 base align=8
+QRawFont (0x0x7f58d7249780) 0
+
+Class QGlyphRun
+ size=8 align=8
+ base size=8 base align=8
+QGlyphRun (0x0x7f58d7249c60) 0
+
+Class QTextCursor
+ size=8 align=8
+ base size=8 base align=8
+QTextCursor (0x0x7f58d7249f60) 0
+
+Class QTextInlineObject
+ size=16 align=8
+ base size=16 base align=8
+QTextInlineObject (0x0x7f58d73412a0) 0
+
+Class QTextLayout::FormatRange
+ size=24 align=8
+ base size=24 base align=8
+QTextLayout::FormatRange (0x0x7f58d7341360) 0
+
+Class QTextLayout
+ size=8 align=8
+ base size=8 base align=8
+QTextLayout (0x0x7f58d7341300) 0
+
+Class QTextLine
+ size=16 align=8
+ base size=16 base align=8
+QTextLine (0x0x7f58d7341d80) 0
+
+Vtable for QAbstractUndoItem
+QAbstractUndoItem::_ZTV17QAbstractUndoItem: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractUndoItem)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractUndoItem
+ size=8 align=8
+ base size=8 base align=8
+QAbstractUndoItem (0x0x7f58d7341de0) 0 nearly-empty
+ vptr=((& QAbstractUndoItem::_ZTV17QAbstractUndoItem) + 16u)
+
+Class QTextDocument::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextDocument::QPrivateSignal (0x0x7f58d7341ea0) 0 empty
+
+Vtable for QTextDocument
+QTextDocument::_ZTV13QTextDocument: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QTextDocument)
+16 (int (*)(...))QTextDocument::metaObject
+24 (int (*)(...))QTextDocument::qt_metacast
+32 (int (*)(...))QTextDocument::qt_metacall
+40 (int (*)(...))QTextDocument::~QTextDocument
+48 (int (*)(...))QTextDocument::~QTextDocument
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextDocument::clear
+120 (int (*)(...))QTextDocument::createObject
+128 (int (*)(...))QTextDocument::loadResource
+
+Class QTextDocument
+ size=16 align=8
+ base size=16 base align=8
+QTextDocument (0x0x7f58d6fc13a8) 0
+ vptr=((& QTextDocument::_ZTV13QTextDocument) + 16u)
+ QObject (0x0x7f58d7341e40) 0
+ primary-for QTextDocument (0x0x7f58d6fc13a8)
+
+Class QPalette::Data
+ size=4 align=4
+ base size=4 base align=4
+QPalette::Data (0x0x7f58d7014120) 0
+
+Class QPalette
+ size=16 align=8
+ base size=12 base align=8
+QPalette (0x0x7f58d70140c0) 0
+
+Class QAbstractTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTextDocumentLayout::QPrivateSignal (0x0x7f58d71011e0) 0 empty
+
+Class QAbstractTextDocumentLayout::Selection
+ size=24 align=8
+ base size=24 base align=8
+QAbstractTextDocumentLayout::Selection (0x0x7f58d7101240) 0
+
+Class QAbstractTextDocumentLayout::PaintContext
+ size=64 align=8
+ base size=64 base align=8
+QAbstractTextDocumentLayout::PaintContext (0x0x7f58d71012a0) 0
+
+Vtable for QAbstractTextDocumentLayout
+QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAbstractTextDocumentLayout)
+16 (int (*)(...))QAbstractTextDocumentLayout::metaObject
+24 (int (*)(...))QAbstractTextDocumentLayout::qt_metacast
+32 (int (*)(...))QAbstractTextDocumentLayout::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QAbstractTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTextDocumentLayout (0x0x7f58d71040d0) 0
+ vptr=((& QAbstractTextDocumentLayout::_ZTV27QAbstractTextDocumentLayout) + 16u)
+ QObject (0x0x7f58d7101180) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7f58d71040d0)
+
+Vtable for QTextObjectInterface
+QTextObjectInterface::_ZTV20QTextObjectInterface: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextObjectInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QTextObjectInterface
+ size=8 align=8
+ base size=8 base align=8
+QTextObjectInterface (0x0x7f58d7101840) 0 nearly-empty
+ vptr=((& QTextObjectInterface::_ZTV20QTextObjectInterface) + 16u)
+
+Class QAccessible::State
+ size=8 align=8
+ base size=5 base align=8
+QAccessible::State (0x0x7f58d7101960) 0
+
+Vtable for QAccessible::ActivationObserver
+QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN11QAccessible18ActivationObserverE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessible::ActivationObserver
+ size=8 align=8
+ base size=8 base align=8
+QAccessible::ActivationObserver (0x0x7f58d71019c0) 0 nearly-empty
+ vptr=((& QAccessible::ActivationObserver::_ZTVN11QAccessible18ActivationObserverE) + 16u)
+
+Class QAccessible
+ size=1 align=1
+ base size=0 base align=1
+QAccessible (0x0x7f58d7101900) 0 empty
+
+Vtable for QAccessibleInterface
+QAccessibleInterface::_ZTV20QAccessibleInterface: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccessibleInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleInterface (0x0x7f58d7101ba0) 0 nearly-empty
+ vptr=((& QAccessibleInterface::_ZTV20QAccessibleInterface) + 16u)
+
+Vtable for QAccessibleTextInterface
+QAccessibleTextInterface::_ZTV24QAccessibleTextInterface: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAccessibleTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))QAccessibleTextInterface::textBeforeOffset
+104 (int (*)(...))QAccessibleTextInterface::textAfterOffset
+112 (int (*)(...))QAccessibleTextInterface::textAtOffset
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTextInterface (0x0x7f58d7101c00) 0 nearly-empty
+ vptr=((& QAccessibleTextInterface::_ZTV24QAccessibleTextInterface) + 16u)
+
+Vtable for QAccessibleEditableTextInterface
+QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleEditableTextInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleEditableTextInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleEditableTextInterface (0x0x7f58d7101c60) 0 nearly-empty
+ vptr=((& QAccessibleEditableTextInterface::_ZTV32QAccessibleEditableTextInterface) + 16u)
+
+Vtable for QAccessibleValueInterface
+QAccessibleValueInterface::_ZTV25QAccessibleValueInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleValueInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleValueInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleValueInterface (0x0x7f58d7101cc0) 0 nearly-empty
+ vptr=((& QAccessibleValueInterface::_ZTV25QAccessibleValueInterface) + 16u)
+
+Vtable for QAccessibleTableCellInterface
+QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTableCellInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableCellInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableCellInterface (0x0x7f58d7101d20) 0 nearly-empty
+ vptr=((& QAccessibleTableCellInterface::_ZTV29QAccessibleTableCellInterface) + 16u)
+
+Vtable for QAccessibleTableInterface
+QAccessibleTableInterface::_ZTV25QAccessibleTableInterface: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleTableInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleTableInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleTableInterface (0x0x7f58d7101d80) 0 nearly-empty
+ vptr=((& QAccessibleTableInterface::_ZTV25QAccessibleTableInterface) + 16u)
+
+Vtable for QAccessibleActionInterface
+QAccessibleActionInterface::_ZTV26QAccessibleActionInterface: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleActionInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QAccessibleActionInterface::localizedActionName
+48 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleActionInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleActionInterface (0x0x7f58d7101de0) 0 nearly-empty
+ vptr=((& QAccessibleActionInterface::_ZTV26QAccessibleActionInterface) + 16u)
+
+Vtable for QAccessibleImageInterface
+QAccessibleImageInterface::_ZTV25QAccessibleImageInterface: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAccessibleImageInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleImageInterface
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleImageInterface (0x0x7f58d7101e40) 0 nearly-empty
+ vptr=((& QAccessibleImageInterface::_ZTV25QAccessibleImageInterface) + 16u)
+
+Vtable for QAccessibleEvent
+QAccessibleEvent::_ZTV16QAccessibleEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAccessibleEvent)
+16 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+24 (int (*)(...))QAccessibleEvent::~QAccessibleEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleEvent
+ size=32 align=8
+ base size=28 base align=8
+QAccessibleEvent (0x0x7f58d7101ea0) 0
+ vptr=((& QAccessibleEvent::_ZTV16QAccessibleEvent) + 16u)
+
+Vtable for QAccessibleStateChangeEvent
+QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleStateChangeEvent)
+16 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+24 (int (*)(...))QAccessibleStateChangeEvent::~QAccessibleStateChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleStateChangeEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleStateChangeEvent (0x0x7f58d7104af8) 0
+ vptr=((& QAccessibleStateChangeEvent::_ZTV27QAccessibleStateChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f58d6e02420) 0
+ primary-for QAccessibleStateChangeEvent (0x0x7f58d7104af8)
+
+Vtable for QAccessibleTextCursorEvent
+QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextCursorEvent)
+16 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+24 (int (*)(...))QAccessibleTextCursorEvent::~QAccessibleTextCursorEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextCursorEvent
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleTextCursorEvent (0x0x7f58d7104b60) 0
+ vptr=((& QAccessibleTextCursorEvent::_ZTV26QAccessibleTextCursorEvent) + 16u)
+ QAccessibleEvent (0x0x7f58d6e02480) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f58d7104b60)
+
+Vtable for QAccessibleTextSelectionEvent
+QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QAccessibleTextSelectionEvent)
+16 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+24 (int (*)(...))QAccessibleTextSelectionEvent::~QAccessibleTextSelectionEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextSelectionEvent
+ size=40 align=8
+ base size=40 base align=8
+QAccessibleTextSelectionEvent (0x0x7f58d7104bc8) 0
+ vptr=((& QAccessibleTextSelectionEvent::_ZTV29QAccessibleTextSelectionEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f58d7104c30) 0
+ primary-for QAccessibleTextSelectionEvent (0x0x7f58d7104bc8)
+ QAccessibleEvent (0x0x7f58d6e024e0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f58d7104c30)
+
+Vtable for QAccessibleTextInsertEvent
+QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextInsertEvent)
+16 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+24 (int (*)(...))QAccessibleTextInsertEvent::~QAccessibleTextInsertEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextInsertEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextInsertEvent (0x0x7f58d7104c98) 0
+ vptr=((& QAccessibleTextInsertEvent::_ZTV26QAccessibleTextInsertEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f58d7104d00) 0
+ primary-for QAccessibleTextInsertEvent (0x0x7f58d7104c98)
+ QAccessibleEvent (0x0x7f58d6e02540) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f58d7104d00)
+
+Vtable for QAccessibleTextRemoveEvent
+QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextRemoveEvent)
+16 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+24 (int (*)(...))QAccessibleTextRemoveEvent::~QAccessibleTextRemoveEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextRemoveEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTextRemoveEvent (0x0x7f58d7104d68) 0
+ vptr=((& QAccessibleTextRemoveEvent::_ZTV26QAccessibleTextRemoveEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f58d7104dd0) 0
+ primary-for QAccessibleTextRemoveEvent (0x0x7f58d7104d68)
+ QAccessibleEvent (0x0x7f58d6e025a0) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f58d7104dd0)
+
+Vtable for QAccessibleTextUpdateEvent
+QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAccessibleTextUpdateEvent)
+16 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+24 (int (*)(...))QAccessibleTextUpdateEvent::~QAccessibleTextUpdateEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTextUpdateEvent
+ size=56 align=8
+ base size=56 base align=8
+QAccessibleTextUpdateEvent (0x0x7f58d7104e38) 0
+ vptr=((& QAccessibleTextUpdateEvent::_ZTV26QAccessibleTextUpdateEvent) + 16u)
+ QAccessibleTextCursorEvent (0x0x7f58d7104ea0) 0
+ primary-for QAccessibleTextUpdateEvent (0x0x7f58d7104e38)
+ QAccessibleEvent (0x0x7f58d6e02600) 0
+ primary-for QAccessibleTextCursorEvent (0x0x7f58d7104ea0)
+
+Vtable for QAccessibleValueChangeEvent
+QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QAccessibleValueChangeEvent)
+16 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+24 (int (*)(...))QAccessibleValueChangeEvent::~QAccessibleValueChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleValueChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleValueChangeEvent (0x0x7f58d7104f08) 0
+ vptr=((& QAccessibleValueChangeEvent::_ZTV27QAccessibleValueChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f58d6e02660) 0
+ primary-for QAccessibleValueChangeEvent (0x0x7f58d7104f08)
+
+Vtable for QAccessibleTableModelChangeEvent
+QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI32QAccessibleTableModelChangeEvent)
+16 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+24 (int (*)(...))QAccessibleTableModelChangeEvent::~QAccessibleTableModelChangeEvent
+32 (int (*)(...))QAccessibleEvent::accessibleInterface
+
+Class QAccessibleTableModelChangeEvent
+ size=48 align=8
+ base size=48 base align=8
+QAccessibleTableModelChangeEvent (0x0x7f58d7104f70) 0
+ vptr=((& QAccessibleTableModelChangeEvent::_ZTV32QAccessibleTableModelChangeEvent) + 16u)
+ QAccessibleEvent (0x0x7f58d6e026c0) 0
+ primary-for QAccessibleTableModelChangeEvent (0x0x7f58d7104f70)
+
+Vtable for QAccessibleBridge
+QAccessibleBridge::_ZTV17QAccessibleBridge: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleBridge)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridge
+ size=8 align=8
+ base size=8 base align=8
+QAccessibleBridge (0x0x7f58d6e02780) 0 nearly-empty
+ vptr=((& QAccessibleBridge::_ZTV17QAccessibleBridge) + 16u)
+
+Class QAccessibleBridgePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessibleBridgePlugin::QPrivateSignal (0x0x7f58d6e02840) 0 empty
+
+Vtable for QAccessibleBridgePlugin
+QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QAccessibleBridgePlugin)
+16 (int (*)(...))QAccessibleBridgePlugin::metaObject
+24 (int (*)(...))QAccessibleBridgePlugin::qt_metacast
+32 (int (*)(...))QAccessibleBridgePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessibleBridgePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleBridgePlugin (0x0x7f58d6ed4000) 0
+ vptr=((& QAccessibleBridgePlugin::_ZTV23QAccessibleBridgePlugin) + 16u)
+ QObject (0x0x7f58d6e027e0) 0
+ primary-for QAccessibleBridgePlugin (0x0x7f58d6ed4000)
+
+Vtable for QAccessibleObject
+QAccessibleObject::_ZTV17QAccessibleObject: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleObject)
+16 0u
+24 0u
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleInterface::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleInterface::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleObject
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleObject (0x0x7f58d6ed4068) 0
+ vptr=((& QAccessibleObject::_ZTV17QAccessibleObject) + 16u)
+ QAccessibleInterface (0x0x7f58d6e028a0) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f58d6ed4068)
+
+Vtable for QAccessibleApplication
+QAccessibleApplication::_ZTV22QAccessibleApplication: 23u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QAccessibleApplication)
+16 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+24 (int (*)(...))QAccessibleApplication::~QAccessibleApplication
+32 (int (*)(...))QAccessibleObject::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleApplication::window
+56 (int (*)(...))QAccessibleInterface::relations
+64 (int (*)(...))QAccessibleApplication::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleApplication::parent
+88 (int (*)(...))QAccessibleApplication::child
+96 (int (*)(...))QAccessibleApplication::childCount
+104 (int (*)(...))QAccessibleApplication::indexOfChild
+112 (int (*)(...))QAccessibleApplication::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleObject::rect
+136 (int (*)(...))QAccessibleApplication::role
+144 (int (*)(...))QAccessibleApplication::state
+152 (int (*)(...))QAccessibleInterface::foregroundColor
+160 (int (*)(...))QAccessibleInterface::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleInterface::interface_cast
+
+Class QAccessibleApplication
+ size=16 align=8
+ base size=16 base align=8
+QAccessibleApplication (0x0x7f58d6ed40d0) 0
+ vptr=((& QAccessibleApplication::_ZTV22QAccessibleApplication) + 16u)
+ QAccessibleObject (0x0x7f58d6ed4138) 0
+ primary-for QAccessibleApplication (0x0x7f58d6ed40d0)
+ QAccessibleInterface (0x0x7f58d6e02900) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f58d6ed4138)
+
+Class QAccessiblePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccessiblePlugin::QPrivateSignal (0x0x7f58d6e029c0) 0 empty
+
+Vtable for QAccessiblePlugin
+QAccessiblePlugin::_ZTV17QAccessiblePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessiblePlugin)
+16 (int (*)(...))QAccessiblePlugin::metaObject
+24 (int (*)(...))QAccessiblePlugin::qt_metacast
+32 (int (*)(...))QAccessiblePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QAccessiblePlugin
+ size=16 align=8
+ base size=16 base align=8
+QAccessiblePlugin (0x0x7f58d6ed41a0) 0
+ vptr=((& QAccessiblePlugin::_ZTV17QAccessiblePlugin) + 16u)
+ QObject (0x0x7f58d6e02960) 0
+ primary-for QAccessiblePlugin (0x0x7f58d6ed41a0)
+
+Class QSurfaceFormat
+ size=8 align=8
+ base size=8 base align=8
+QSurfaceFormat (0x0x7f58d6e02a20) 0
+
+Vtable for QSurface
+QSurface::_ZTV8QSurface: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSurface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QSurface
+ size=24 align=8
+ base size=24 base align=8
+QSurface (0x0x7f58d6e02c00) 0
+ vptr=((& QSurface::_ZTV8QSurface) + 16u)
+
+Class QIcon
+ size=8 align=8
+ base size=8 base align=8
+QIcon (0x0x7f58d6e02d80) 0
+
+Class QCursor
+ size=8 align=8
+ base size=8 base align=8
+QCursor (0x0x7f58d6bf2180) 0
+
+Class QWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWindow::QPrivateSignal (0x0x7f58d6c77780) 0 empty
+
+Vtable for QWindow
+QWindow::_ZTV7QWindow: 45u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWindow)
+16 (int (*)(...))QWindow::metaObject
+24 (int (*)(...))QWindow::qt_metacast
+32 (int (*)(...))QWindow::qt_metacall
+40 (int (*)(...))QWindow::~QWindow
+48 (int (*)(...))QWindow::~QWindow
+56 (int (*)(...))QWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))-16
+304 (int (*)(...))(& _ZTI7QWindow)
+312 (int (*)(...))QWindow::_ZThn16_N7QWindowD1Ev
+320 (int (*)(...))QWindow::_ZThn16_N7QWindowD0Ev
+328 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+336 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+344 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+
+Class QWindow
+ size=40 align=8
+ base size=40 base align=8
+QWindow (0x0x7f58d6c80700) 0
+ vptr=((& QWindow::_ZTV7QWindow) + 16u)
+ QObject (0x0x7f58d6c776c0) 0
+ primary-for QWindow (0x0x7f58d6c80700)
+ QSurface (0x0x7f58d6c77720) 16
+ vptr=((& QWindow::_ZTV7QWindow) + 312u)
+
+Class QBackingStore
+ size=8 align=8
+ base size=8 base align=8
+QBackingStore (0x0x7f58d6c778a0) 0
+
+Vtable for QBitmap
+QBitmap::_ZTV7QBitmap: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBitmap)
+16 (int (*)(...))QBitmap::~QBitmap
+24 (int (*)(...))QBitmap::~QBitmap
+32 (int (*)(...))QPixmap::devType
+40 (int (*)(...))QPixmap::paintEngine
+48 (int (*)(...))QPixmap::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QBitmap
+ size=32 align=8
+ base size=32 base align=8
+QBitmap (0x0x7f58d6c88208) 0
+ vptr=((& QBitmap::_ZTV7QBitmap) + 16u)
+ QPixmap (0x0x7f58d6c88270) 0
+ primary-for QBitmap (0x0x7f58d6c88208)
+ QPaintDevice (0x0x7f58d6c77960) 0
+ primary-for QPixmap (0x0x7f58d6c88270)
+
+Class QClipboard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QClipboard::QPrivateSignal (0x0x7f58d6c77cc0) 0 empty
+
+Vtable for QClipboard
+QClipboard::_ZTV10QClipboard: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QClipboard)
+16 (int (*)(...))QClipboard::metaObject
+24 (int (*)(...))QClipboard::qt_metacast
+32 (int (*)(...))QClipboard::qt_metacall
+40 (int (*)(...))QClipboard::~QClipboard
+48 (int (*)(...))QClipboard::~QClipboard
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QClipboard
+ size=16 align=8
+ base size=16 base align=8
+QClipboard (0x0x7f58d6c884e0) 0
+ vptr=((& QClipboard::_ZTV10QClipboard) + 16u)
+ QObject (0x0x7f58d6c77c60) 0
+ primary-for QClipboard (0x0x7f58d6c884e0)
+
+Class QDesktopServices
+ size=1 align=1
+ base size=0 base align=1
+QDesktopServices (0x0x7f58d6c77d20) 0 empty
+
+Class QDrag::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDrag::QPrivateSignal (0x0x7f58d6c77de0) 0 empty
+
+Vtable for QDrag
+QDrag::_ZTV5QDrag: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDrag)
+16 (int (*)(...))QDrag::metaObject
+24 (int (*)(...))QDrag::qt_metacast
+32 (int (*)(...))QDrag::qt_metacall
+40 (int (*)(...))QDrag::~QDrag
+48 (int (*)(...))QDrag::~QDrag
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDrag
+ size=16 align=8
+ base size=16 base align=8
+QDrag (0x0x7f58d6c88548) 0
+ vptr=((& QDrag::_ZTV5QDrag) + 16u)
+ QObject (0x0x7f58d6c77d80) 0
+ primary-for QDrag (0x0x7f58d6c88548)
+
+Class QFontInfo
+ size=8 align=8
+ base size=8 base align=8
+QFontInfo (0x0x7f58d6c77e40) 0
+
+Class QFontMetrics
+ size=8 align=8
+ base size=8 base align=8
+QFontMetrics (0x0x7f58d6d3b120) 0
+
+Class QFontMetricsF
+ size=8 align=8
+ base size=8 base align=8
+QFontMetricsF (0x0x7f58d6d3b420) 0
+
+Class QGenericPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGenericPlugin::QPrivateSignal (0x0x7f58d6a28900) 0 empty
+
+Vtable for QGenericPlugin
+QGenericPlugin::_ZTV14QGenericPlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGenericPlugin)
+16 (int (*)(...))QGenericPlugin::metaObject
+24 (int (*)(...))QGenericPlugin::qt_metacast
+32 (int (*)(...))QGenericPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGenericPlugin
+ size=16 align=8
+ base size=16 base align=8
+QGenericPlugin (0x0x7f58d6c88dd0) 0
+ vptr=((& QGenericPlugin::_ZTV14QGenericPlugin) + 16u)
+ QObject (0x0x7f58d6a288a0) 0
+ primary-for QGenericPlugin (0x0x7f58d6c88dd0)
+
+Class QGenericPluginFactory
+ size=1 align=1
+ base size=0 base align=1
+QGenericPluginFactory (0x0x7f58d6a28960) 0 empty
+
+Class QInputMethod::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputMethod::QPrivateSignal (0x0x7f58d6a28a20) 0 empty
+
+Vtable for QInputMethod
+QInputMethod::_ZTV12QInputMethod: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputMethod)
+16 (int (*)(...))QInputMethod::metaObject
+24 (int (*)(...))QInputMethod::qt_metacast
+32 (int (*)(...))QInputMethod::qt_metacall
+40 (int (*)(...))QInputMethod::~QInputMethod
+48 (int (*)(...))QInputMethod::~QInputMethod
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QInputMethod
+ size=16 align=8
+ base size=16 base align=8
+QInputMethod (0x0x7f58d6c88e38) 0
+ vptr=((& QInputMethod::_ZTV12QInputMethod) + 16u)
+ QObject (0x0x7f58d6a289c0) 0
+ primary-for QInputMethod (0x0x7f58d6c88e38)
+
+Class QGuiApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGuiApplication::QPrivateSignal (0x0x7f58d6a28ae0) 0 empty
+
+Vtable for QGuiApplication
+QGuiApplication::_ZTV15QGuiApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGuiApplication)
+16 (int (*)(...))QGuiApplication::metaObject
+24 (int (*)(...))QGuiApplication::qt_metacast
+32 (int (*)(...))QGuiApplication::qt_metacall
+40 (int (*)(...))QGuiApplication::~QGuiApplication
+48 (int (*)(...))QGuiApplication::~QGuiApplication
+56 (int (*)(...))QGuiApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGuiApplication::notify
+120 (int (*)(...))QGuiApplication::compressEvent
+
+Class QGuiApplication
+ size=16 align=8
+ base size=16 base align=8
+QGuiApplication (0x0x7f58d6c88ea0) 0
+ vptr=((& QGuiApplication::_ZTV15QGuiApplication) + 16u)
+ QCoreApplication (0x0x7f58d6c88f08) 0
+ primary-for QGuiApplication (0x0x7f58d6c88ea0)
+ QObject (0x0x7f58d6a28a80) 0
+ primary-for QCoreApplication (0x0x7f58d6c88f08)
+
+Class QIconEngine::AvailableSizesArgument
+ size=16 align=8
+ base size=16 base align=8
+QIconEngine::AvailableSizesArgument (0x0x7f58d6b12060) 0
+
+Class QIconEngine::ScaledPixmapArgument
+ size=56 align=8
+ base size=56 base align=8
+QIconEngine::ScaledPixmapArgument (0x0x7f58d6b121e0) 0
+
+Vtable for QIconEngine
+QIconEngine::_ZTV11QIconEngine: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QIconEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))QIconEngine::actualSize
+48 (int (*)(...))QIconEngine::pixmap
+56 (int (*)(...))QIconEngine::addPixmap
+64 (int (*)(...))QIconEngine::addFile
+72 (int (*)(...))QIconEngine::key
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QIconEngine::read
+96 (int (*)(...))QIconEngine::write
+104 (int (*)(...))QIconEngine::availableSizes
+112 (int (*)(...))QIconEngine::iconName
+120 (int (*)(...))QIconEngine::virtual_hook
+
+Class QIconEngine
+ size=8 align=8
+ base size=8 base align=8
+QIconEngine (0x0x7f58d6b12000) 0 nearly-empty
+ vptr=((& QIconEngine::_ZTV11QIconEngine) + 16u)
+
+Class QIconEnginePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIconEnginePlugin::QPrivateSignal (0x0x7f58d6b122a0) 0 empty
+
+Vtable for QIconEnginePlugin
+QIconEnginePlugin::_ZTV17QIconEnginePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QIconEnginePlugin)
+16 (int (*)(...))QIconEnginePlugin::metaObject
+24 (int (*)(...))QIconEnginePlugin::qt_metacast
+32 (int (*)(...))QIconEnginePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QIconEnginePlugin
+ size=16 align=8
+ base size=16 base align=8
+QIconEnginePlugin (0x0x7f58d6b04478) 0
+ vptr=((& QIconEnginePlugin::_ZTV17QIconEnginePlugin) + 16u)
+ QObject (0x0x7f58d6b12240) 0
+ primary-for QIconEnginePlugin (0x0x7f58d6b04478)
+
+Vtable for QImageIOHandler
+QImageIOHandler::_ZTV15QImageIOHandler: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QImageIOHandler)
+16 0u
+24 0u
+32 (int (*)(...))QImageIOHandler::name
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QImageIOHandler::write
+64 (int (*)(...))QImageIOHandler::option
+72 (int (*)(...))QImageIOHandler::setOption
+80 (int (*)(...))QImageIOHandler::supportsOption
+88 (int (*)(...))QImageIOHandler::jumpToNextImage
+96 (int (*)(...))QImageIOHandler::jumpToImage
+104 (int (*)(...))QImageIOHandler::loopCount
+112 (int (*)(...))QImageIOHandler::imageCount
+120 (int (*)(...))QImageIOHandler::nextImageDelay
+128 (int (*)(...))QImageIOHandler::currentImageNumber
+136 (int (*)(...))QImageIOHandler::currentImageRect
+
+Class QImageIOHandler
+ size=16 align=8
+ base size=16 base align=8
+QImageIOHandler (0x0x7f58d6b12300) 0
+ vptr=((& QImageIOHandler::_ZTV15QImageIOHandler) + 16u)
+
+Class QImageIOPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QImageIOPlugin::QPrivateSignal (0x0x7f58d6b12480) 0 empty
+
+Vtable for QImageIOPlugin
+QImageIOPlugin::_ZTV14QImageIOPlugin: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QImageIOPlugin)
+16 (int (*)(...))QImageIOPlugin::metaObject
+24 (int (*)(...))QImageIOPlugin::qt_metacast
+32 (int (*)(...))QImageIOPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QImageIOPlugin
+ size=16 align=8
+ base size=16 base align=8
+QImageIOPlugin (0x0x7f58d6b044e0) 0
+ vptr=((& QImageIOPlugin::_ZTV14QImageIOPlugin) + 16u)
+ QObject (0x0x7f58d6b12420) 0
+ primary-for QImageIOPlugin (0x0x7f58d6b044e0)
+
+Class QImageReader
+ size=8 align=8
+ base size=8 base align=8
+QImageReader (0x0x7f58d6b12660) 0
+
+Class QImageWriter
+ size=8 align=8
+ base size=8 base align=8
+QImageWriter (0x0x7f58d6b126c0) 0
+
+Class QVector3D
+ size=12 align=4
+ base size=12 base align=4
+QVector3D (0x0x7f58d6b12720) 0
+
+Class QVector4D
+ size=16 align=4
+ base size=16 base align=4
+QVector4D (0x0x7f58d6b129c0) 0
+
+Class QQuaternion
+ size=16 align=4
+ base size=16 base align=4
+QQuaternion (0x0x7f58d6b12c60) 0
+
+Class QMatrix4x4
+ size=68 align=4
+ base size=68 base align=4
+QMatrix4x4 (0x0x7f58d68bf2a0) 0
+
+Class QMovie::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMovie::QPrivateSignal (0x0x7f58d68bfa20) 0 empty
+
+Vtable for QMovie
+QMovie::_ZTV6QMovie: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QMovie)
+16 (int (*)(...))QMovie::metaObject
+24 (int (*)(...))QMovie::qt_metacast
+32 (int (*)(...))QMovie::qt_metacall
+40 (int (*)(...))QMovie::~QMovie
+48 (int (*)(...))QMovie::~QMovie
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMovie
+ size=16 align=8
+ base size=16 base align=8
+QMovie (0x0x7f58d69146e8) 0
+ vptr=((& QMovie::_ZTV6QMovie) + 16u)
+ QObject (0x0x7f58d68bf9c0) 0
+ primary-for QMovie (0x0x7f58d69146e8)
+
+Class QOffscreenSurface::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOffscreenSurface::QPrivateSignal (0x0x7f58d68bfb40) 0 empty
+
+Vtable for QOffscreenSurface
+QOffscreenSurface::_ZTV17QOffscreenSurface: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOffscreenSurface)
+16 (int (*)(...))QOffscreenSurface::metaObject
+24 (int (*)(...))QOffscreenSurface::qt_metacast
+32 (int (*)(...))QOffscreenSurface::qt_metacall
+40 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+48 (int (*)(...))QOffscreenSurface::~QOffscreenSurface
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOffscreenSurface::surfaceType
+120 (int (*)(...))QOffscreenSurface::format
+128 (int (*)(...))QOffscreenSurface::size
+136 (int (*)(...))QOffscreenSurface::surfaceHandle
+144 (int (*)(...))-16
+152 (int (*)(...))(& _ZTI17QOffscreenSurface)
+160 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD1Ev
+168 (int (*)(...))QOffscreenSurface::_ZThn16_N17QOffscreenSurfaceD0Ev
+176 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface6formatEv
+184 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface13surfaceHandleEv
+192 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface11surfaceTypeEv
+200 (int (*)(...))QOffscreenSurface::_ZThn16_NK17QOffscreenSurface4sizeEv
+
+Class QOffscreenSurface
+ size=40 align=8
+ base size=40 base align=8
+QOffscreenSurface (0x0x7f58d65e4ee0) 0
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 16u)
+ QObject (0x0x7f58d68bfa80) 0
+ primary-for QOffscreenSurface (0x0x7f58d65e4ee0)
+ QSurface (0x0x7f58d68bfae0) 16
+ vptr=((& QOffscreenSurface::_ZTV17QOffscreenSurface) + 160u)
+
+Class QOpenGLBuffer
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLBuffer (0x0x7f58d68bfc00) 0
+
+Class QOpenGLVersionStatus
+ size=12 align=4
+ base size=12 base align=4
+QOpenGLVersionStatus (0x0x7f58d68bfde0) 0
+
+Class QOpenGLVersionFunctionsBackend
+ size=16 align=8
+ base size=12 base align=8
+QOpenGLVersionFunctionsBackend (0x0x7f58d5fbe900) 0
+
+Class QOpenGLVersionFunctionsStorage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionFunctionsStorage (0x0x7f58d5fbe960) 0
+
+Class QAbstractOpenGLFunctionsPrivate
+ size=16 align=8
+ base size=9 base align=8
+QAbstractOpenGLFunctionsPrivate (0x0x7f58d5fbe9c0) 0
+
+Vtable for QAbstractOpenGLFunctions
+QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractOpenGLFunctions)
+16 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+24 (int (*)(...))QAbstractOpenGLFunctions::~QAbstractOpenGLFunctions
+32 (int (*)(...))QAbstractOpenGLFunctions::initializeOpenGLFunctions
+
+Class QAbstractOpenGLFunctions
+ size=16 align=8
+ base size=16 base align=8
+QAbstractOpenGLFunctions (0x0x7f58d5fbea20) 0
+ vptr=((& QAbstractOpenGLFunctions::_ZTV24QAbstractOpenGLFunctions) + 16u)
+
+Class QOpenGLFunctions_1_0_CoreBackend::Functions
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_1_0_CoreBackend::Functions (0x0x7f58d5fbeae0) 0
+
+Class QOpenGLFunctions_1_0_CoreBackend
+ size=400 align=8
+ base size=400 base align=8
+QOpenGLFunctions_1_0_CoreBackend (0x0x7f58d5fc5958) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d5fbea80) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend::Functions
+ size=128 align=8
+ base size=128 base align=8
+QOpenGLFunctions_1_1_CoreBackend::Functions (0x0x7f58d5fbec00) 0
+
+Class QOpenGLFunctions_1_1_CoreBackend
+ size=144 align=8
+ base size=144 base align=8
+QOpenGLFunctions_1_1_CoreBackend (0x0x7f58d5fc59c0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d5fbeba0) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_1_2_CoreBackend::Functions (0x0x7f58d5fbed20) 0
+
+Class QOpenGLFunctions_1_2_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_1_2_CoreBackend (0x0x7f58d5fc5a28) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d5fbecc0) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_3_CoreBackend::Functions (0x0x7f58d5fbee40) 0
+
+Class QOpenGLFunctions_1_3_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_1_3_CoreBackend (0x0x7f58d5fc5a90) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d5fbede0) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend::Functions
+ size=56 align=8
+ base size=56 base align=8
+QOpenGLFunctions_1_4_CoreBackend::Functions (0x0x7f58d6023000) 0
+
+Class QOpenGLFunctions_1_4_CoreBackend
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_1_4_CoreBackend (0x0x7f58d5fc5af8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d5fbef60) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_5_CoreBackend::Functions (0x0x7f58d6023120) 0
+
+Class QOpenGLFunctions_1_5_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_1_5_CoreBackend (0x0x7f58d5fc5b60) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d60230c0) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend::Functions
+ size=744 align=8
+ base size=744 base align=8
+QOpenGLFunctions_2_0_CoreBackend::Functions (0x0x7f58d6023240) 0
+
+Class QOpenGLFunctions_2_0_CoreBackend
+ size=760 align=8
+ base size=760 base align=8
+QOpenGLFunctions_2_0_CoreBackend (0x0x7f58d5fc5bc8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d60231e0) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend::Functions
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLFunctions_2_1_CoreBackend::Functions (0x0x7f58d6023360) 0
+
+Class QOpenGLFunctions_2_1_CoreBackend
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLFunctions_2_1_CoreBackend (0x0x7f58d5fc5c30) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023300) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend::Functions
+ size=672 align=8
+ base size=672 base align=8
+QOpenGLFunctions_3_0_CoreBackend::Functions (0x0x7f58d6023480) 0
+
+Class QOpenGLFunctions_3_0_CoreBackend
+ size=688 align=8
+ base size=688 base align=8
+QOpenGLFunctions_3_0_CoreBackend (0x0x7f58d5fc5c98) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023420) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_3_1_CoreBackend::Functions (0x0x7f58d60235a0) 0
+
+Class QOpenGLFunctions_3_1_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_3_1_CoreBackend (0x0x7f58d5fc5d00) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023540) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend::Functions
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_3_2_CoreBackend::Functions (0x0x7f58d60236c0) 0
+
+Class QOpenGLFunctions_3_2_CoreBackend
+ size=168 align=8
+ base size=168 base align=8
+QOpenGLFunctions_3_2_CoreBackend (0x0x7f58d5fc5d68) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023660) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend::Functions
+ size=464 align=8
+ base size=464 base align=8
+QOpenGLFunctions_3_3_CoreBackend::Functions (0x0x7f58d60237e0) 0
+
+Class QOpenGLFunctions_3_3_CoreBackend
+ size=480 align=8
+ base size=480 base align=8
+QOpenGLFunctions_3_3_CoreBackend (0x0x7f58d5fc5dd0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023780) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend::Functions
+ size=368 align=8
+ base size=368 base align=8
+QOpenGLFunctions_4_0_CoreBackend::Functions (0x0x7f58d6023900) 0
+
+Class QOpenGLFunctions_4_0_CoreBackend
+ size=384 align=8
+ base size=384 base align=8
+QOpenGLFunctions_4_0_CoreBackend (0x0x7f58d5fc5e38) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d60238a0) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend::Functions
+ size=704 align=8
+ base size=704 base align=8
+QOpenGLFunctions_4_1_CoreBackend::Functions (0x0x7f58d6023a20) 0
+
+Class QOpenGLFunctions_4_1_CoreBackend
+ size=720 align=8
+ base size=720 base align=8
+QOpenGLFunctions_4_1_CoreBackend (0x0x7f58d5fc5ea0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d60239c0) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_2_CoreBackend::Functions (0x0x7f58d6023b40) 0
+
+Class QOpenGLFunctions_4_2_CoreBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_2_CoreBackend (0x0x7f58d5fc5f08) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023ae0) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend::Functions
+ size=344 align=8
+ base size=344 base align=8
+QOpenGLFunctions_4_3_CoreBackend::Functions (0x0x7f58d6023c60) 0
+
+Class QOpenGLFunctions_4_3_CoreBackend
+ size=360 align=8
+ base size=360 base align=8
+QOpenGLFunctions_4_3_CoreBackend (0x0x7f58d5fc5f70) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023c00) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend::Functions
+ size=72 align=8
+ base size=72 base align=8
+QOpenGLFunctions_4_4_CoreBackend::Functions (0x0x7f58d6023d80) 0
+
+Class QOpenGLFunctions_4_4_CoreBackend
+ size=88 align=8
+ base size=88 base align=8
+QOpenGLFunctions_4_4_CoreBackend (0x0x7f58d610a000) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023d20) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend::Functions
+ size=848 align=8
+ base size=848 base align=8
+QOpenGLFunctions_4_5_CoreBackend::Functions (0x0x7f58d6023f00) 0
+
+Class QOpenGLFunctions_4_5_CoreBackend
+ size=864 align=8
+ base size=864 base align=8
+QOpenGLFunctions_4_5_CoreBackend (0x0x7f58d610a068) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6023ea0) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend::Functions
+ size=2064 align=8
+ base size=2064 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend::Functions (0x0x7f58d6146060) 0
+
+Class QOpenGLFunctions_1_0_DeprecatedBackend
+ size=2080 align=8
+ base size=2080 base align=8
+QOpenGLFunctions_1_0_DeprecatedBackend (0x0x7f58d610a0d0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6146000) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend::Functions
+ size=136 align=8
+ base size=136 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend::Functions (0x0x7f58d6146180) 0
+
+Class QOpenGLFunctions_1_1_DeprecatedBackend
+ size=152 align=8
+ base size=152 base align=8
+QOpenGLFunctions_1_1_DeprecatedBackend (0x0x7f58d610a138) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6146120) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend::Functions
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend::Functions (0x0x7f58d61462a0) 0
+
+Class QOpenGLFunctions_1_2_DeprecatedBackend
+ size=272 align=8
+ base size=272 base align=8
+QOpenGLFunctions_1_2_DeprecatedBackend (0x0x7f58d610a1a0) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6146240) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend::Functions
+ size=296 align=8
+ base size=296 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend::Functions (0x0x7f58d61463c0) 0
+
+Class QOpenGLFunctions_1_3_DeprecatedBackend
+ size=312 align=8
+ base size=312 base align=8
+QOpenGLFunctions_1_3_DeprecatedBackend (0x0x7f58d610a208) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6146360) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend::Functions
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend::Functions (0x0x7f58d61464e0) 0
+
+Class QOpenGLFunctions_1_4_DeprecatedBackend
+ size=320 align=8
+ base size=320 base align=8
+QOpenGLFunctions_1_4_DeprecatedBackend (0x0x7f58d610a270) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6146480) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend::Functions
+ size=288 align=8
+ base size=288 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend::Functions (0x0x7f58d6146600) 0
+
+Class QOpenGLFunctions_2_0_DeprecatedBackend
+ size=304 align=8
+ base size=304 base align=8
+QOpenGLFunctions_2_0_DeprecatedBackend (0x0x7f58d610a2d8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d61465a0) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend::Functions
+ size=160 align=8
+ base size=160 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend::Functions (0x0x7f58d6146720) 0
+
+Class QOpenGLFunctions_3_0_DeprecatedBackend
+ size=176 align=8
+ base size=176 base align=8
+QOpenGLFunctions_3_0_DeprecatedBackend (0x0x7f58d610a340) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d61466c0) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend::Functions
+ size=240 align=8
+ base size=240 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend::Functions (0x0x7f58d6146840) 0
+
+Class QOpenGLFunctions_3_3_DeprecatedBackend
+ size=256 align=8
+ base size=256 base align=8
+QOpenGLFunctions_3_3_DeprecatedBackend (0x0x7f58d610a3a8) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d61467e0) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend::Functions
+ size=96 align=8
+ base size=96 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend::Functions (0x0x7f58d6146960) 0
+
+Class QOpenGLFunctions_4_5_DeprecatedBackend
+ size=112 align=8
+ base size=112 base align=8
+QOpenGLFunctions_4_5_DeprecatedBackend (0x0x7f58d610a410) 0
+ QOpenGLVersionFunctionsBackend (0x0x7f58d6146900) 0
+
+Class QOpenGLVersionProfile
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVersionProfile (0x0x7f58d6146a20) 0
+
+Class QOpenGLContextGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContextGroup::QPrivateSignal (0x0x7f58d5e21420) 0 empty
+
+Vtable for QOpenGLContextGroup
+QOpenGLContextGroup::_ZTV19QOpenGLContextGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOpenGLContextGroup)
+16 (int (*)(...))QOpenGLContextGroup::metaObject
+24 (int (*)(...))QOpenGLContextGroup::qt_metacast
+32 (int (*)(...))QOpenGLContextGroup::qt_metacall
+40 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+48 (int (*)(...))QOpenGLContextGroup::~QOpenGLContextGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContextGroup
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContextGroup (0x0x7f58d610ae38) 0
+ vptr=((& QOpenGLContextGroup::_ZTV19QOpenGLContextGroup) + 16u)
+ QObject (0x0x7f58d5e213c0) 0
+ primary-for QOpenGLContextGroup (0x0x7f58d610ae38)
+
+Class QOpenGLContext::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLContext::QPrivateSignal (0x0x7f58d5e214e0) 0 empty
+
+Vtable for QOpenGLContext
+QOpenGLContext::_ZTV14QOpenGLContext: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QOpenGLContext)
+16 (int (*)(...))QOpenGLContext::metaObject
+24 (int (*)(...))QOpenGLContext::qt_metacast
+32 (int (*)(...))QOpenGLContext::qt_metacall
+40 (int (*)(...))QOpenGLContext::~QOpenGLContext
+48 (int (*)(...))QOpenGLContext::~QOpenGLContext
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLContext
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLContext (0x0x7f58d610aea0) 0
+ vptr=((& QOpenGLContext::_ZTV14QOpenGLContext) + 16u)
+ QObject (0x0x7f58d5e21480) 0
+ primary-for QOpenGLContext (0x0x7f58d610aea0)
+
+Class QOpenGLDebugMessage
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLDebugMessage (0x0x7f58d5e21540) 0
+
+Class QOpenGLDebugLogger::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLDebugLogger::QPrivateSignal (0x0x7f58d5e21d20) 0 empty
+
+Vtable for QOpenGLDebugLogger
+QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLDebugLogger)
+16 (int (*)(...))QOpenGLDebugLogger::metaObject
+24 (int (*)(...))QOpenGLDebugLogger::qt_metacast
+32 (int (*)(...))QOpenGLDebugLogger::qt_metacall
+40 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+48 (int (*)(...))QOpenGLDebugLogger::~QOpenGLDebugLogger
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLDebugLogger
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLDebugLogger (0x0x7f58d5e6e340) 0
+ vptr=((& QOpenGLDebugLogger::_ZTV18QOpenGLDebugLogger) + 16u)
+ QObject (0x0x7f58d5e21cc0) 0
+ primary-for QOpenGLDebugLogger (0x0x7f58d5e6e340)
+
+Class QOpenGLFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFunctions (0x0x7f58d5e21ea0) 0
+
+Class QOpenGLFunctionsPrivate::Functions
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate::Functions (0x0x7f58d5f6c120) 0
+
+Class QOpenGLFunctionsPrivate
+ size=1152 align=8
+ base size=1152 base align=8
+QOpenGLFunctionsPrivate (0x0x7f58d5f6c0c0) 0
+
+Class QOpenGLExtraFunctions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLExtraFunctions (0x0x7f58d5e6e5b0) 0
+ QOpenGLFunctions (0x0x7f58d5c8f840) 0
+
+Class QOpenGLExtraFunctionsPrivate::Functions
+ size=1728 align=8
+ base size=1728 base align=8
+QOpenGLExtraFunctionsPrivate::Functions (0x0x7f58d5c8f900) 0
+
+Class QOpenGLExtraFunctionsPrivate
+ size=2880 align=8
+ base size=2880 base align=8
+QOpenGLExtraFunctionsPrivate (0x0x7f58d5e6e618) 0
+ QOpenGLFunctionsPrivate (0x0x7f58d5c8f8a0) 0
+
+Vtable for QOpenGLFramebufferObject
+QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLFramebufferObject)
+16 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+24 (int (*)(...))QOpenGLFramebufferObject::~QOpenGLFramebufferObject
+
+Class QOpenGLFramebufferObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLFramebufferObject (0x0x7f58d5af8000) 0
+ vptr=((& QOpenGLFramebufferObject::_ZTV24QOpenGLFramebufferObject) + 16u)
+
+Class QOpenGLFramebufferObjectFormat
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLFramebufferObjectFormat (0x0x7f58d5af8120) 0
+
+Vtable for QOpenGLPaintDevice
+QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLPaintDevice)
+16 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+24 (int (*)(...))QOpenGLPaintDevice::~QOpenGLPaintDevice
+32 (int (*)(...))QOpenGLPaintDevice::devType
+40 (int (*)(...))QOpenGLPaintDevice::paintEngine
+48 (int (*)(...))QOpenGLPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QOpenGLPaintDevice::ensureActiveTarget
+
+Class QOpenGLPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QOpenGLPaintDevice (0x0x7f58d5e6e8f0) 0
+ vptr=((& QOpenGLPaintDevice::_ZTV18QOpenGLPaintDevice) + 16u)
+ QPaintDevice (0x0x7f58d5af8180) 0
+ primary-for QOpenGLPaintDevice (0x0x7f58d5e6e8f0)
+
+Class QOpenGLPixelTransferOptions
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLPixelTransferOptions (0x0x7f58d5af82a0) 0
+
+Class QOpenGLShader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShader::QPrivateSignal (0x0x7f58d5af8600) 0 empty
+
+Vtable for QOpenGLShader
+QOpenGLShader::_ZTV13QOpenGLShader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLShader)
+16 (int (*)(...))QOpenGLShader::metaObject
+24 (int (*)(...))QOpenGLShader::qt_metacast
+32 (int (*)(...))QOpenGLShader::qt_metacall
+40 (int (*)(...))QOpenGLShader::~QOpenGLShader
+48 (int (*)(...))QOpenGLShader::~QOpenGLShader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLShader
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShader (0x0x7f58d5e6eaf8) 0
+ vptr=((& QOpenGLShader::_ZTV13QOpenGLShader) + 16u)
+ QObject (0x0x7f58d5af85a0) 0
+ primary-for QOpenGLShader (0x0x7f58d5e6eaf8)
+
+Class QOpenGLShaderProgram::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLShaderProgram::QPrivateSignal (0x0x7f58d5af8840) 0 empty
+
+Vtable for QOpenGLShaderProgram
+QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QOpenGLShaderProgram)
+16 (int (*)(...))QOpenGLShaderProgram::metaObject
+24 (int (*)(...))QOpenGLShaderProgram::qt_metacast
+32 (int (*)(...))QOpenGLShaderProgram::qt_metacall
+40 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+48 (int (*)(...))QOpenGLShaderProgram::~QOpenGLShaderProgram
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOpenGLShaderProgram::link
+
+Class QOpenGLShaderProgram
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLShaderProgram (0x0x7f58d5e6ec30) 0
+ vptr=((& QOpenGLShaderProgram::_ZTV20QOpenGLShaderProgram) + 16u)
+ QObject (0x0x7f58d5af87e0) 0
+ primary-for QOpenGLShaderProgram (0x0x7f58d5e6ec30)
+
+Class QOpenGLTexture
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTexture (0x0x7f58d5af88a0) 0
+
+Class QOpenGLTextureBlitter
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLTextureBlitter (0x0x7f58d5af8b40) 0
+
+Class QOpenGLTimerQuery::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimerQuery::QPrivateSignal (0x0x7f58d5af8cc0) 0 empty
+
+Vtable for QOpenGLTimerQuery
+QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QOpenGLTimerQuery)
+16 (int (*)(...))QOpenGLTimerQuery::metaObject
+24 (int (*)(...))QOpenGLTimerQuery::qt_metacast
+32 (int (*)(...))QOpenGLTimerQuery::qt_metacall
+40 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+48 (int (*)(...))QOpenGLTimerQuery::~QOpenGLTimerQuery
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimerQuery
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimerQuery (0x0x7f58d5e6ed68) 0
+ vptr=((& QOpenGLTimerQuery::_ZTV17QOpenGLTimerQuery) + 16u)
+ QObject (0x0x7f58d5af8c60) 0
+ primary-for QOpenGLTimerQuery (0x0x7f58d5e6ed68)
+
+Class QOpenGLTimeMonitor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLTimeMonitor::QPrivateSignal (0x0x7f58d5af8d80) 0 empty
+
+Vtable for QOpenGLTimeMonitor
+QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOpenGLTimeMonitor)
+16 (int (*)(...))QOpenGLTimeMonitor::metaObject
+24 (int (*)(...))QOpenGLTimeMonitor::qt_metacast
+32 (int (*)(...))QOpenGLTimeMonitor::qt_metacall
+40 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+48 (int (*)(...))QOpenGLTimeMonitor::~QOpenGLTimeMonitor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLTimeMonitor
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLTimeMonitor (0x0x7f58d5e6edd0) 0
+ vptr=((& QOpenGLTimeMonitor::_ZTV18QOpenGLTimeMonitor) + 16u)
+ QObject (0x0x7f58d5af8d20) 0
+ primary-for QOpenGLTimeMonitor (0x0x7f58d5e6edd0)
+
+Class QOpenGLVertexArrayObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLVertexArrayObject::QPrivateSignal (0x0x7f58d5af8e40) 0 empty
+
+Class QOpenGLVertexArrayObject::Binder
+ size=8 align=8
+ base size=8 base align=8
+QOpenGLVertexArrayObject::Binder (0x0x7f58d5af8ea0) 0
+
+Vtable for QOpenGLVertexArrayObject
+QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QOpenGLVertexArrayObject)
+16 (int (*)(...))QOpenGLVertexArrayObject::metaObject
+24 (int (*)(...))QOpenGLVertexArrayObject::qt_metacast
+32 (int (*)(...))QOpenGLVertexArrayObject::qt_metacall
+40 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+48 (int (*)(...))QOpenGLVertexArrayObject::~QOpenGLVertexArrayObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOpenGLVertexArrayObject
+ size=16 align=8
+ base size=16 base align=8
+QOpenGLVertexArrayObject (0x0x7f58d5e6ee38) 0
+ vptr=((& QOpenGLVertexArrayObject::_ZTV24QOpenGLVertexArrayObject) + 16u)
+ QObject (0x0x7f58d5af8de0) 0
+ primary-for QOpenGLVertexArrayObject (0x0x7f58d5e6ee38)
+
+Class QPaintDeviceWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPaintDeviceWindow::QPrivateSignal (0x0x7f58d58c4060) 0 empty
+
+Vtable for QPaintDeviceWindow
+QPaintDeviceWindow::_ZTV18QPaintDeviceWindow: 58u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+16 (int (*)(...))QPaintDeviceWindow::metaObject
+24 (int (*)(...))QPaintDeviceWindow::qt_metacast
+32 (int (*)(...))QPaintDeviceWindow::qt_metacall
+40 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+48 (int (*)(...))QPaintDeviceWindow::~QPaintDeviceWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QPaintDeviceWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+336 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD1Ev
+344 (int (*)(...))QPaintDeviceWindow::_ZThn16_N18QPaintDeviceWindowD0Ev
+352 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+384 (int (*)(...))-40
+392 (int (*)(...))(& _ZTI18QPaintDeviceWindow)
+400 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD1Ev
+408 (int (*)(...))QPaintDeviceWindow::_ZThn40_N18QPaintDeviceWindowD0Ev
+416 (int (*)(...))QPaintDevice::devType
+424 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+440 (int (*)(...))QPaintDevice::initPainter
+448 (int (*)(...))QPaintDevice::redirected
+456 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QPaintDeviceWindow
+ size=64 align=8
+ base size=64 base align=8
+QPaintDeviceWindow (0x0x7f58d589ee00) 0
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 16u)
+ QWindow (0x0x7f58d589ee70) 0
+ primary-for QPaintDeviceWindow (0x0x7f58d589ee00)
+ QObject (0x0x7f58d5af8f00) 0
+ primary-for QWindow (0x0x7f58d589ee70)
+ QSurface (0x0x7f58d5af8f60) 16
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 336u)
+ QPaintDevice (0x0x7f58d58c4000) 40
+ vptr=((& QPaintDeviceWindow::_ZTV18QPaintDeviceWindow) + 400u)
+
+Class QOpenGLWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWindow::QPrivateSignal (0x0x7f58d58c41e0) 0 empty
+
+Vtable for QOpenGLWindow
+QOpenGLWindow::_ZTV13QOpenGLWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWindow)
+16 (int (*)(...))QOpenGLWindow::metaObject
+24 (int (*)(...))QOpenGLWindow::qt_metacast
+32 (int (*)(...))QOpenGLWindow::qt_metacall
+40 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+48 (int (*)(...))QOpenGLWindow::~QOpenGLWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QOpenGLWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QOpenGLWindow::paintEvent
+304 (int (*)(...))QOpenGLWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QOpenGLWindow::initializeGL
+328 (int (*)(...))QOpenGLWindow::resizeGL
+336 (int (*)(...))QOpenGLWindow::paintGL
+344 (int (*)(...))QOpenGLWindow::paintUnderGL
+352 (int (*)(...))QOpenGLWindow::paintOverGL
+360 (int (*)(...))QOpenGLWindow::redirected
+368 (int (*)(...))-16
+376 (int (*)(...))(& _ZTI13QOpenGLWindow)
+384 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD1Ev
+392 (int (*)(...))QOpenGLWindow::_ZThn16_N13QOpenGLWindowD0Ev
+400 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+408 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+416 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+424 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+432 (int (*)(...))-40
+440 (int (*)(...))(& _ZTI13QOpenGLWindow)
+448 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD1Ev
+456 (int (*)(...))QOpenGLWindow::_ZThn40_N13QOpenGLWindowD0Ev
+464 (int (*)(...))QPaintDevice::devType
+472 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+480 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QPaintDevice::initPainter
+496 (int (*)(...))QOpenGLWindow::_ZThn40_NK13QOpenGLWindow10redirectedEP6QPoint
+504 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QOpenGLWindow
+ size=64 align=8
+ base size=64 base align=8
+QOpenGLWindow (0x0x7f58d5e6ef08) 0
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 16u)
+ QPaintDeviceWindow (0x0x7f58d58d4230) 0
+ primary-for QOpenGLWindow (0x0x7f58d5e6ef08)
+ QWindow (0x0x7f58d58d42a0) 0
+ primary-for QPaintDeviceWindow (0x0x7f58d58d4230)
+ QObject (0x0x7f58d58c40c0) 0
+ primary-for QWindow (0x0x7f58d58d42a0)
+ QSurface (0x0x7f58d58c4120) 16
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 384u)
+ QPaintDevice (0x0x7f58d58c4180) 40
+ vptr=((& QOpenGLWindow::_ZTV13QOpenGLWindow) + 448u)
+
+Class QPageSize
+ size=8 align=8
+ base size=8 base align=8
+QPageSize (0x0x7f58d58c4240) 0
+
+Class QPageLayout
+ size=8 align=8
+ base size=8 base align=8
+QPageLayout (0x0x7f58d58c4c00) 0
+
+Class QPagedPaintDevice::Margins
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice::Margins (0x0x7f58d5971660) 0
+
+Vtable for QPagedPaintDevice
+QPagedPaintDevice::_ZTV17QPagedPaintDevice: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QPagedPaintDevice)
+16 0u
+24 0u
+32 (int (*)(...))QPaintDevice::devType
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QPaintDevice::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QPagedPaintDevice::setPageSize
+96 (int (*)(...))QPagedPaintDevice::setPageSizeMM
+104 (int (*)(...))QPagedPaintDevice::setMargins
+
+Class QPagedPaintDevice
+ size=32 align=8
+ base size=32 base align=8
+QPagedPaintDevice (0x0x7f58d591bc30) 0
+ vptr=((& QPagedPaintDevice::_ZTV17QPagedPaintDevice) + 16u)
+ QPaintDevice (0x0x7f58d5971600) 0
+ primary-for QPagedPaintDevice (0x0x7f58d591bc30)
+
+Class QPainter::PixmapFragment
+ size=80 align=8
+ base size=80 base align=8
+QPainter::PixmapFragment (0x0x7f58d5971720) 0
+
+Class QPainter
+ size=8 align=8
+ base size=8 base align=8
+QPainter (0x0x7f58d59716c0) 0
+
+Class QTextItem
+ size=1 align=1
+ base size=0 base align=1
+QTextItem (0x0x7f58d56cf540) 0 empty
+
+Vtable for QPaintEngine
+QPaintEngine::_ZTV12QPaintEngine: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QPaintEngine)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))QPaintEngine::drawRects
+64 (int (*)(...))QPaintEngine::drawRects
+72 (int (*)(...))QPaintEngine::drawLines
+80 (int (*)(...))QPaintEngine::drawLines
+88 (int (*)(...))QPaintEngine::drawEllipse
+96 (int (*)(...))QPaintEngine::drawEllipse
+104 (int (*)(...))QPaintEngine::drawPath
+112 (int (*)(...))QPaintEngine::drawPoints
+120 (int (*)(...))QPaintEngine::drawPoints
+128 (int (*)(...))QPaintEngine::drawPolygon
+136 (int (*)(...))QPaintEngine::drawPolygon
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QPaintEngine::drawTextItem
+160 (int (*)(...))QPaintEngine::drawTiledPixmap
+168 (int (*)(...))QPaintEngine::drawImage
+176 (int (*)(...))QPaintEngine::coordinateOffset
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QPaintEngine
+ size=32 align=8
+ base size=32 base align=8
+QPaintEngine (0x0x7f58d56cf7e0) 0
+ vptr=((& QPaintEngine::_ZTV12QPaintEngine) + 16u)
+
+Class QPaintEngineState
+ size=4 align=4
+ base size=4 base align=4
+QPaintEngineState (0x0x7f58d56cfa80) 0
+
+Class QPdfWriter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPdfWriter::QPrivateSignal (0x0x7f58d56cfea0) 0 empty
+
+Vtable for QPdfWriter
+QPdfWriter::_ZTV10QPdfWriter: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QPdfWriter)
+16 (int (*)(...))QPdfWriter::metaObject
+24 (int (*)(...))QPdfWriter::qt_metacast
+32 (int (*)(...))QPdfWriter::qt_metacall
+40 (int (*)(...))QPdfWriter::~QPdfWriter
+48 (int (*)(...))QPdfWriter::~QPdfWriter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPdfWriter::newPage
+120 (int (*)(...))QPdfWriter::setPageSize
+128 (int (*)(...))QPdfWriter::setPageSizeMM
+136 (int (*)(...))QPdfWriter::setMargins
+144 (int (*)(...))QPdfWriter::paintEngine
+152 (int (*)(...))QPdfWriter::metric
+160 (int (*)(...))-16
+168 (int (*)(...))(& _ZTI10QPdfWriter)
+176 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD1Ev
+184 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriterD0Ev
+192 (int (*)(...))QPaintDevice::devType
+200 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter11paintEngineEv
+208 (int (*)(...))QPdfWriter::_ZThn16_NK10QPdfWriter6metricEN12QPaintDevice17PaintDeviceMetricE
+216 (int (*)(...))QPaintDevice::initPainter
+224 (int (*)(...))QPaintDevice::redirected
+232 (int (*)(...))QPaintDevice::sharedPainter
+240 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter7newPageEv
+248 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter11setPageSizeEN17QPagedPaintDevice8PageSizeE
+256 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter13setPageSizeMMERK6QSizeF
+264 (int (*)(...))QPdfWriter::_ZThn16_N10QPdfWriter10setMarginsERKN17QPagedPaintDevice7MarginsE
+
+Class QPdfWriter
+ size=48 align=8
+ base size=48 base align=8
+QPdfWriter (0x0x7f58d543a1c0) 0
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 16u)
+ QObject (0x0x7f58d56cfde0) 0
+ primary-for QPdfWriter (0x0x7f58d543a1c0)
+ QPagedPaintDevice (0x0x7f58d5619c98) 16
+ vptr=((& QPdfWriter::_ZTV10QPdfWriter) + 176u)
+ QPaintDevice (0x0x7f58d56cfe40) 16
+ primary-for QPagedPaintDevice (0x0x7f58d5619c98)
+
+Vtable for QPicture
+QPicture::_ZTV8QPicture: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QPicture)
+16 (int (*)(...))QPicture::~QPicture
+24 (int (*)(...))QPicture::~QPicture
+32 (int (*)(...))QPicture::devType
+40 (int (*)(...))QPicture::paintEngine
+48 (int (*)(...))QPicture::metric
+56 (int (*)(...))QPaintDevice::initPainter
+64 (int (*)(...))QPaintDevice::redirected
+72 (int (*)(...))QPaintDevice::sharedPainter
+80 (int (*)(...))QPicture::setData
+
+Class QPicture
+ size=32 align=8
+ base size=32 base align=8
+QPicture (0x0x7f58d5619d00) 0
+ vptr=((& QPicture::_ZTV8QPicture) + 16u)
+ QPaintDevice (0x0x7f58d5455060) 0
+ primary-for QPicture (0x0x7f58d5619d00)
+
+Class QPictureIO
+ size=8 align=8
+ base size=8 base align=8
+QPictureIO (0x0x7f58d5455360) 0
+
+Class QPictureFormatPlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPictureFormatPlugin::QPrivateSignal (0x0x7f58d5455420) 0 empty
+
+Vtable for QPictureFormatPlugin
+QPictureFormatPlugin::_ZTV20QPictureFormatPlugin: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QPictureFormatPlugin)
+16 (int (*)(...))QPictureFormatPlugin::metaObject
+24 (int (*)(...))QPictureFormatPlugin::qt_metacast
+32 (int (*)(...))QPictureFormatPlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPictureFormatPlugin::loadPicture
+120 (int (*)(...))QPictureFormatPlugin::savePicture
+128 (int (*)(...))__cxa_pure_virtual
+
+Class QPictureFormatPlugin
+ size=16 align=8
+ base size=16 base align=8
+QPictureFormatPlugin (0x0x7f58d5619f08) 0
+ vptr=((& QPictureFormatPlugin::_ZTV20QPictureFormatPlugin) + 16u)
+ QObject (0x0x7f58d54553c0) 0
+ primary-for QPictureFormatPlugin (0x0x7f58d5619f08)
+
+Class QPixmapCache::Key
+ size=8 align=8
+ base size=8 base align=8
+QPixmapCache::Key (0x0x7f58d54554e0) 0
+
+Class QPixmapCache
+ size=1 align=1
+ base size=0 base align=1
+QPixmapCache (0x0x7f58d5455480) 0 empty
+
+Class QRasterWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRasterWindow::QPrivateSignal (0x0x7f58d5511660) 0 empty
+
+Vtable for QRasterWindow
+QRasterWindow::_ZTV13QRasterWindow: 59u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QRasterWindow)
+16 (int (*)(...))QRasterWindow::metaObject
+24 (int (*)(...))QRasterWindow::qt_metacast
+32 (int (*)(...))QRasterWindow::qt_metacall
+40 (int (*)(...))QRasterWindow::~QRasterWindow
+48 (int (*)(...))QRasterWindow::~QRasterWindow
+56 (int (*)(...))QPaintDeviceWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWindow::surfaceType
+120 (int (*)(...))QWindow::format
+128 (int (*)(...))QWindow::size
+136 (int (*)(...))QWindow::accessibleRoot
+144 (int (*)(...))QWindow::focusObject
+152 (int (*)(...))QPaintDeviceWindow::exposeEvent
+160 (int (*)(...))QWindow::resizeEvent
+168 (int (*)(...))QWindow::moveEvent
+176 (int (*)(...))QWindow::focusInEvent
+184 (int (*)(...))QWindow::focusOutEvent
+192 (int (*)(...))QWindow::showEvent
+200 (int (*)(...))QWindow::hideEvent
+208 (int (*)(...))QWindow::keyPressEvent
+216 (int (*)(...))QWindow::keyReleaseEvent
+224 (int (*)(...))QWindow::mousePressEvent
+232 (int (*)(...))QWindow::mouseReleaseEvent
+240 (int (*)(...))QWindow::mouseDoubleClickEvent
+248 (int (*)(...))QWindow::mouseMoveEvent
+256 (int (*)(...))QWindow::wheelEvent
+264 (int (*)(...))QWindow::touchEvent
+272 (int (*)(...))QWindow::tabletEvent
+280 (int (*)(...))QWindow::nativeEvent
+288 (int (*)(...))QWindow::surfaceHandle
+296 (int (*)(...))QPaintDeviceWindow::paintEvent
+304 (int (*)(...))QRasterWindow::metric
+312 (int (*)(...))QPaintDeviceWindow::paintEngine
+320 (int (*)(...))QRasterWindow::redirected
+328 (int (*)(...))-16
+336 (int (*)(...))(& _ZTI13QRasterWindow)
+344 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD1Ev
+352 (int (*)(...))QRasterWindow::_ZThn16_N13QRasterWindowD0Ev
+360 (int (*)(...))QWindow::_ZThn16_NK7QWindow6formatEv
+368 (int (*)(...))QWindow::_ZThn16_NK7QWindow13surfaceHandleEv
+376 (int (*)(...))QWindow::_ZThn16_NK7QWindow11surfaceTypeEv
+384 (int (*)(...))QWindow::_ZThn16_NK7QWindow4sizeEv
+392 (int (*)(...))-40
+400 (int (*)(...))(& _ZTI13QRasterWindow)
+408 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD1Ev
+416 (int (*)(...))QRasterWindow::_ZThn40_N13QRasterWindowD0Ev
+424 (int (*)(...))QPaintDevice::devType
+432 (int (*)(...))QPaintDeviceWindow::_ZThn40_NK18QPaintDeviceWindow11paintEngineEv
+440 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow6metricEN12QPaintDevice17PaintDeviceMetricE
+448 (int (*)(...))QPaintDevice::initPainter
+456 (int (*)(...))QRasterWindow::_ZThn40_NK13QRasterWindow10redirectedEP6QPoint
+464 (int (*)(...))QPaintDevice::sharedPainter
+
+Class QRasterWindow
+ size=64 align=8
+ base size=64 base align=8
+QRasterWindow (0x0x7f58d5513618) 0
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 16u)
+ QPaintDeviceWindow (0x0x7f58d550ef50) 0
+ primary-for QRasterWindow (0x0x7f58d5513618)
+ QWindow (0x0x7f58d551f000) 0
+ primary-for QPaintDeviceWindow (0x0x7f58d550ef50)
+ QObject (0x0x7f58d5511540) 0
+ primary-for QWindow (0x0x7f58d551f000)
+ QSurface (0x0x7f58d55115a0) 16
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 344u)
+ QPaintDevice (0x0x7f58d5511600) 40
+ vptr=((& QRasterWindow::_ZTV13QRasterWindow) + 408u)
+
+Class QScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScreen::QPrivateSignal (0x0x7f58d5511720) 0 empty
+
+Vtable for QScreen
+QScreen::_ZTV7QScreen: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QScreen)
+16 (int (*)(...))QScreen::metaObject
+24 (int (*)(...))QScreen::qt_metacast
+32 (int (*)(...))QScreen::qt_metacall
+40 (int (*)(...))QScreen::~QScreen
+48 (int (*)(...))QScreen::~QScreen
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScreen
+ size=16 align=8
+ base size=16 base align=8
+QScreen (0x0x7f58d55136e8) 0
+ vptr=((& QScreen::_ZTV7QScreen) + 16u)
+ QObject (0x0x7f58d55116c0) 0
+ primary-for QScreen (0x0x7f58d55136e8)
+
+Class QSessionManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSessionManager::QPrivateSignal (0x0x7f58d55117e0) 0 empty
+
+Vtable for QSessionManager
+QSessionManager::_ZTV15QSessionManager: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSessionManager)
+16 (int (*)(...))QSessionManager::metaObject
+24 (int (*)(...))QSessionManager::qt_metacast
+32 (int (*)(...))QSessionManager::qt_metacall
+40 (int (*)(...))QSessionManager::~QSessionManager
+48 (int (*)(...))QSessionManager::~QSessionManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSessionManager
+ size=16 align=8
+ base size=16 base align=8
+QSessionManager (0x0x7f58d5513750) 0
+ vptr=((& QSessionManager::_ZTV15QSessionManager) + 16u)
+ QObject (0x0x7f58d5511780) 0
+ primary-for QSessionManager (0x0x7f58d5513750)
+
+Vtable for QStandardItem
+QStandardItem::_ZTV13QStandardItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStandardItem)
+16 (int (*)(...))QStandardItem::~QStandardItem
+24 (int (*)(...))QStandardItem::~QStandardItem
+32 (int (*)(...))QStandardItem::data
+40 (int (*)(...))QStandardItem::setData
+48 (int (*)(...))QStandardItem::clone
+56 (int (*)(...))QStandardItem::type
+64 (int (*)(...))QStandardItem::read
+72 (int (*)(...))QStandardItem::write
+80 (int (*)(...))QStandardItem::operator<
+
+Class QStandardItem
+ size=16 align=8
+ base size=16 base align=8
+QStandardItem (0x0x7f58d5511840) 0
+ vptr=((& QStandardItem::_ZTV13QStandardItem) + 16u)
+
+Class QStandardItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStandardItemModel::QPrivateSignal (0x0x7f58d5511f60) 0 empty
+
+Vtable for QStandardItemModel
+QStandardItemModel::_ZTV18QStandardItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QStandardItemModel)
+16 (int (*)(...))QStandardItemModel::metaObject
+24 (int (*)(...))QStandardItemModel::qt_metacast
+32 (int (*)(...))QStandardItemModel::qt_metacall
+40 (int (*)(...))QStandardItemModel::~QStandardItemModel
+48 (int (*)(...))QStandardItemModel::~QStandardItemModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStandardItemModel::index
+120 (int (*)(...))QStandardItemModel::parent
+128 (int (*)(...))QStandardItemModel::sibling
+136 (int (*)(...))QStandardItemModel::rowCount
+144 (int (*)(...))QStandardItemModel::columnCount
+152 (int (*)(...))QStandardItemModel::hasChildren
+160 (int (*)(...))QStandardItemModel::data
+168 (int (*)(...))QStandardItemModel::setData
+176 (int (*)(...))QStandardItemModel::headerData
+184 (int (*)(...))QStandardItemModel::setHeaderData
+192 (int (*)(...))QStandardItemModel::itemData
+200 (int (*)(...))QStandardItemModel::setItemData
+208 (int (*)(...))QStandardItemModel::mimeTypes
+216 (int (*)(...))QStandardItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QStandardItemModel::dropMimeData
+240 (int (*)(...))QStandardItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStandardItemModel::insertRows
+264 (int (*)(...))QStandardItemModel::insertColumns
+272 (int (*)(...))QStandardItemModel::removeRows
+280 (int (*)(...))QStandardItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStandardItemModel::flags
+328 (int (*)(...))QStandardItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStandardItemModel
+ size=16 align=8
+ base size=16 base align=8
+QStandardItemModel (0x0x7f58d5513dd0) 0
+ vptr=((& QStandardItemModel::_ZTV18QStandardItemModel) + 16u)
+ QAbstractItemModel (0x0x7f58d5513e38) 0
+ primary-for QStandardItemModel (0x0x7f58d5513dd0)
+ QObject (0x0x7f58d5511f00) 0
+ primary-for QAbstractItemModel (0x0x7f58d5513e38)
+
+Class QStaticText
+ size=8 align=8
+ base size=8 base align=8
+QStaticText (0x0x7f58d5263000) 0
+
+Class QStyleHints::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyleHints::QPrivateSignal (0x0x7f58d5263480) 0 empty
+
+Vtable for QStyleHints
+QStyleHints::_ZTV11QStyleHints: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QStyleHints)
+16 (int (*)(...))QStyleHints::metaObject
+24 (int (*)(...))QStyleHints::qt_metacast
+32 (int (*)(...))QStyleHints::qt_metacall
+40 (int (*)(...))QStyleHints::~QStyleHints
+48 (int (*)(...))QStyleHints::~QStyleHints
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QStyleHints
+ size=16 align=8
+ base size=16 base align=8
+QStyleHints (0x0x7f58d5281068) 0
+ vptr=((& QStyleHints::_ZTV11QStyleHints) + 16u)
+ QObject (0x0x7f58d5263420) 0
+ primary-for QStyleHints (0x0x7f58d5281068)
+
+Class QTextObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextObject::QPrivateSignal (0x0x7f58d5263540) 0 empty
+
+Vtable for QTextObject
+QTextObject::_ZTV11QTextObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextObject)
+16 (int (*)(...))QTextObject::metaObject
+24 (int (*)(...))QTextObject::qt_metacast
+32 (int (*)(...))QTextObject::qt_metacall
+40 (int (*)(...))QTextObject::~QTextObject
+48 (int (*)(...))QTextObject::~QTextObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextObject
+ size=16 align=8
+ base size=16 base align=8
+QTextObject (0x0x7f58d52810d0) 0
+ vptr=((& QTextObject::_ZTV11QTextObject) + 16u)
+ QObject (0x0x7f58d52634e0) 0
+ primary-for QTextObject (0x0x7f58d52810d0)
+
+Class QTextBlockGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBlockGroup::QPrivateSignal (0x0x7f58d5263600) 0 empty
+
+Vtable for QTextBlockGroup
+QTextBlockGroup::_ZTV15QTextBlockGroup: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTextBlockGroup)
+16 (int (*)(...))QTextBlockGroup::metaObject
+24 (int (*)(...))QTextBlockGroup::qt_metacast
+32 (int (*)(...))QTextBlockGroup::qt_metacall
+40 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+48 (int (*)(...))QTextBlockGroup::~QTextBlockGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextBlockGroup
+ size=16 align=8
+ base size=16 base align=8
+QTextBlockGroup (0x0x7f58d5281138) 0
+ vptr=((& QTextBlockGroup::_ZTV15QTextBlockGroup) + 16u)
+ QTextObject (0x0x7f58d52811a0) 0
+ primary-for QTextBlockGroup (0x0x7f58d5281138)
+ QObject (0x0x7f58d52635a0) 0
+ primary-for QTextObject (0x0x7f58d52811a0)
+
+Vtable for QTextFrameLayoutData
+QTextFrameLayoutData::_ZTV20QTextFrameLayoutData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTextFrameLayoutData)
+16 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+24 (int (*)(...))QTextFrameLayoutData::~QTextFrameLayoutData
+
+Class QTextFrameLayoutData
+ size=8 align=8
+ base size=8 base align=8
+QTextFrameLayoutData (0x0x7f58d5263660) 0 nearly-empty
+ vptr=((& QTextFrameLayoutData::_ZTV20QTextFrameLayoutData) + 16u)
+
+Class QTextFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextFrame::QPrivateSignal (0x0x7f58d5263720) 0 empty
+
+Class QTextFrame::iterator
+ size=32 align=8
+ base size=28 base align=8
+QTextFrame::iterator (0x0x7f58d5263780) 0
+
+Vtable for QTextFrame
+QTextFrame::_ZTV10QTextFrame: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextFrame)
+16 (int (*)(...))QTextFrame::metaObject
+24 (int (*)(...))QTextFrame::qt_metacast
+32 (int (*)(...))QTextFrame::qt_metacall
+40 (int (*)(...))QTextFrame::~QTextFrame
+48 (int (*)(...))QTextFrame::~QTextFrame
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextFrame
+ size=16 align=8
+ base size=16 base align=8
+QTextFrame (0x0x7f58d5281208) 0
+ vptr=((& QTextFrame::_ZTV10QTextFrame) + 16u)
+ QTextObject (0x0x7f58d5281270) 0
+ primary-for QTextFrame (0x0x7f58d5281208)
+ QObject (0x0x7f58d52636c0) 0
+ primary-for QTextObject (0x0x7f58d5281270)
+
+Vtable for QTextBlockUserData
+QTextBlockUserData::_ZTV18QTextBlockUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTextBlockUserData)
+16 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+24 (int (*)(...))QTextBlockUserData::~QTextBlockUserData
+
+Class QTextBlockUserData
+ size=8 align=8
+ base size=8 base align=8
+QTextBlockUserData (0x0x7f58d5263a20) 0 nearly-empty
+ vptr=((& QTextBlockUserData::_ZTV18QTextBlockUserData) + 16u)
+
+Class QTextBlock::iterator
+ size=24 align=8
+ base size=20 base align=8
+QTextBlock::iterator (0x0x7f58d5263ae0) 0
+
+Class QTextBlock
+ size=16 align=8
+ base size=12 base align=8
+QTextBlock (0x0x7f58d5263a80) 0
+
+Class QTextFragment
+ size=16 align=8
+ base size=16 base align=8
+QTextFragment (0x0x7f58d5325000) 0
+
+Class QSyntaxHighlighter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSyntaxHighlighter::QPrivateSignal (0x0x7f58d5325300) 0 empty
+
+Vtable for QSyntaxHighlighter
+QSyntaxHighlighter::_ZTV18QSyntaxHighlighter: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QSyntaxHighlighter)
+16 (int (*)(...))QSyntaxHighlighter::metaObject
+24 (int (*)(...))QSyntaxHighlighter::qt_metacast
+32 (int (*)(...))QSyntaxHighlighter::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QSyntaxHighlighter
+ size=16 align=8
+ base size=16 base align=8
+QSyntaxHighlighter (0x0x7f58d5281958) 0
+ vptr=((& QSyntaxHighlighter::_ZTV18QSyntaxHighlighter) + 16u)
+ QObject (0x0x7f58d53252a0) 0
+ primary-for QSyntaxHighlighter (0x0x7f58d5281958)
+
+Class QTextDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentFragment (0x0x7f58d5325360) 0
+
+Class QTextDocumentWriter
+ size=8 align=8
+ base size=8 base align=8
+QTextDocumentWriter (0x0x7f58d53253c0) 0
+
+Class QTextList::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextList::QPrivateSignal (0x0x7f58d5325480) 0 empty
+
+Vtable for QTextList
+QTextList::_ZTV9QTextList: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextList)
+16 (int (*)(...))QTextList::metaObject
+24 (int (*)(...))QTextList::qt_metacast
+32 (int (*)(...))QTextList::qt_metacall
+40 (int (*)(...))QTextList::~QTextList
+48 (int (*)(...))QTextList::~QTextList
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTextBlockGroup::blockInserted
+120 (int (*)(...))QTextBlockGroup::blockRemoved
+128 (int (*)(...))QTextBlockGroup::blockFormatChanged
+
+Class QTextList
+ size=16 align=8
+ base size=16 base align=8
+QTextList (0x0x7f58d52819c0) 0
+ vptr=((& QTextList::_ZTV9QTextList) + 16u)
+ QTextBlockGroup (0x0x7f58d5281a28) 0
+ primary-for QTextList (0x0x7f58d52819c0)
+ QTextObject (0x0x7f58d5281a90) 0
+ primary-for QTextBlockGroup (0x0x7f58d5281a28)
+ QObject (0x0x7f58d5325420) 0
+ primary-for QTextObject (0x0x7f58d5281a90)
+
+Class QTextTableCell
+ size=16 align=8
+ base size=12 base align=8
+QTextTableCell (0x0x7f58d53254e0) 0
+
+Class QTextTable::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextTable::QPrivateSignal (0x0x7f58d53255a0) 0 empty
+
+Vtable for QTextTable
+QTextTable::_ZTV10QTextTable: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextTable)
+16 (int (*)(...))QTextTable::metaObject
+24 (int (*)(...))QTextTable::qt_metacast
+32 (int (*)(...))QTextTable::qt_metacall
+40 (int (*)(...))QTextTable::~QTextTable
+48 (int (*)(...))QTextTable::~QTextTable
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTextTable
+ size=16 align=8
+ base size=16 base align=8
+QTextTable (0x0x7f58d5281af8) 0
+ vptr=((& QTextTable::_ZTV10QTextTable) + 16u)
+ QTextFrame (0x0x7f58d5281b60) 0
+ primary-for QTextTable (0x0x7f58d5281af8)
+ QTextObject (0x0x7f58d5281bc8) 0
+ primary-for QTextFrame (0x0x7f58d5281b60)
+ QObject (0x0x7f58d5325540) 0
+ primary-for QTextObject (0x0x7f58d5281bc8)
+
+Class QValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QValidator::QPrivateSignal (0x0x7f58d5325660) 0 empty
+
+Vtable for QValidator
+QValidator::_ZTV10QValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QValidator)
+16 (int (*)(...))QValidator::metaObject
+24 (int (*)(...))QValidator::qt_metacast
+32 (int (*)(...))QValidator::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))QValidator::fixup
+
+Class QValidator
+ size=16 align=8
+ base size=16 base align=8
+QValidator (0x0x7f58d5281c30) 0
+ vptr=((& QValidator::_ZTV10QValidator) + 16u)
+ QObject (0x0x7f58d5325600) 0
+ primary-for QValidator (0x0x7f58d5281c30)
+
+Class QIntValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIntValidator::QPrivateSignal (0x0x7f58d5325720) 0 empty
+
+Vtable for QIntValidator
+QIntValidator::_ZTV13QIntValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QIntValidator)
+16 (int (*)(...))QIntValidator::metaObject
+24 (int (*)(...))QIntValidator::qt_metacast
+32 (int (*)(...))QIntValidator::qt_metacall
+40 (int (*)(...))QIntValidator::~QIntValidator
+48 (int (*)(...))QIntValidator::~QIntValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIntValidator::validate
+120 (int (*)(...))QIntValidator::fixup
+128 (int (*)(...))QIntValidator::setRange
+
+Class QIntValidator
+ size=24 align=8
+ base size=24 base align=8
+QIntValidator (0x0x7f58d5281c98) 0
+ vptr=((& QIntValidator::_ZTV13QIntValidator) + 16u)
+ QValidator (0x0x7f58d5281d00) 0
+ primary-for QIntValidator (0x0x7f58d5281c98)
+ QObject (0x0x7f58d53256c0) 0
+ primary-for QValidator (0x0x7f58d5281d00)
+
+Class QDoubleValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleValidator::QPrivateSignal (0x0x7f58d53257e0) 0 empty
+
+Vtable for QDoubleValidator
+QDoubleValidator::_ZTV16QDoubleValidator: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDoubleValidator)
+16 (int (*)(...))QDoubleValidator::metaObject
+24 (int (*)(...))QDoubleValidator::qt_metacast
+32 (int (*)(...))QDoubleValidator::qt_metacall
+40 (int (*)(...))QDoubleValidator::~QDoubleValidator
+48 (int (*)(...))QDoubleValidator::~QDoubleValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDoubleValidator::validate
+120 (int (*)(...))QValidator::fixup
+128 (int (*)(...))QDoubleValidator::setRange
+
+Class QDoubleValidator
+ size=40 align=8
+ base size=36 base align=8
+QDoubleValidator (0x0x7f58d5281d68) 0
+ vptr=((& QDoubleValidator::_ZTV16QDoubleValidator) + 16u)
+ QValidator (0x0x7f58d5281dd0) 0
+ primary-for QDoubleValidator (0x0x7f58d5281d68)
+ QObject (0x0x7f58d5325780) 0
+ primary-for QValidator (0x0x7f58d5281dd0)
+
+Class QRegExpValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegExpValidator::QPrivateSignal (0x0x7f58d5325900) 0 empty
+
+Vtable for QRegExpValidator
+QRegExpValidator::_ZTV16QRegExpValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRegExpValidator)
+16 (int (*)(...))QRegExpValidator::metaObject
+24 (int (*)(...))QRegExpValidator::qt_metacast
+32 (int (*)(...))QRegExpValidator::qt_metacall
+40 (int (*)(...))QRegExpValidator::~QRegExpValidator
+48 (int (*)(...))QRegExpValidator::~QRegExpValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegExpValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegExpValidator
+ size=24 align=8
+ base size=24 base align=8
+QRegExpValidator (0x0x7f58d5281e38) 0
+ vptr=((& QRegExpValidator::_ZTV16QRegExpValidator) + 16u)
+ QValidator (0x0x7f58d5281ea0) 0
+ primary-for QRegExpValidator (0x0x7f58d5281e38)
+ QObject (0x0x7f58d53258a0) 0
+ primary-for QValidator (0x0x7f58d5281ea0)
+
+Class QRegularExpressionValidator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRegularExpressionValidator::QPrivateSignal (0x0x7f58d53259c0) 0 empty
+
+Vtable for QRegularExpressionValidator
+QRegularExpressionValidator::_ZTV27QRegularExpressionValidator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QRegularExpressionValidator)
+16 (int (*)(...))QRegularExpressionValidator::metaObject
+24 (int (*)(...))QRegularExpressionValidator::qt_metacast
+32 (int (*)(...))QRegularExpressionValidator::qt_metacall
+40 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+48 (int (*)(...))QRegularExpressionValidator::~QRegularExpressionValidator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRegularExpressionValidator::validate
+120 (int (*)(...))QValidator::fixup
+
+Class QRegularExpressionValidator
+ size=16 align=8
+ base size=16 base align=8
+QRegularExpressionValidator (0x0x7f58d5281f08) 0
+ vptr=((& QRegularExpressionValidator::_ZTV27QRegularExpressionValidator) + 16u)
+ QValidator (0x0x7f58d5281f70) 0
+ primary-for QRegularExpressionValidator (0x0x7f58d5281f08)
+ QObject (0x0x7f58d5325960) 0
+ primary-for QValidator (0x0x7f58d5281f70)
+
+Class QSizePolicy::Bits
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy::Bits (0x0x7f58d5325a80) 0
+
+Class QSizePolicy
+ size=4 align=4
+ base size=4 base align=4
+QSizePolicy (0x0x7f58d5325a20) 0
+
+Class QWidgetData
+ size=88 align=8
+ base size=88 base align=8
+QWidgetData (0x0x7f58d50273c0) 0
+
+Class QWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidget::QPrivateSignal (0x0x7f58d50274e0) 0 empty
+
+Vtable for QWidget
+QWidget::_ZTV7QWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWidget)
+16 (int (*)(...))QWidget::metaObject
+24 (int (*)(...))QWidget::qt_metacast
+32 (int (*)(...))QWidget::qt_metacall
+40 (int (*)(...))QWidget::~QWidget
+48 (int (*)(...))QWidget::~QWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI7QWidget)
+448 (int (*)(...))QWidget::_ZThn16_N7QWidgetD1Ev
+456 (int (*)(...))QWidget::_ZThn16_N7QWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWidget
+ size=48 align=8
+ base size=48 base align=8
+QWidget (0x0x7f58d5066a80) 0
+ vptr=((& QWidget::_ZTV7QWidget) + 16u)
+ QObject (0x0x7f58d5027420) 0
+ primary-for QWidget (0x0x7f58d5066a80)
+ QPaintDevice (0x0x7f58d5027480) 16
+ vptr=((& QWidget::_ZTV7QWidget) + 448u)
+
+Class QAbstractButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractButton::QPrivateSignal (0x0x7f58d4d67180) 0 empty
+
+Vtable for QAbstractButton
+QAbstractButton::_ZTV15QAbstractButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractButton)
+16 (int (*)(...))QAbstractButton::metaObject
+24 (int (*)(...))QAbstractButton::qt_metacast
+32 (int (*)(...))QAbstractButton::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI15QAbstractButton)
+472 0u
+480 0u
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractButton
+ size=48 align=8
+ base size=48 base align=8
+QAbstractButton (0x0x7f58d4d662d8) 0
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 16u)
+ QWidget (0x0x7f58d4d5b770) 0
+ primary-for QAbstractButton (0x0x7f58d4d662d8)
+ QObject (0x0x7f58d4d670c0) 0
+ primary-for QWidget (0x0x7f58d4d5b770)
+ QPaintDevice (0x0x7f58d4d67120) 16
+ vptr=((& QAbstractButton::_ZTV15QAbstractButton) + 472u)
+
+Class QAbstractSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSpinBox::QPrivateSignal (0x0x7f58d4d672a0) 0 empty
+
+Vtable for QAbstractSpinBox
+QAbstractSpinBox::_ZTV16QAbstractSpinBox: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+16 (int (*)(...))QAbstractSpinBox::metaObject
+24 (int (*)(...))QAbstractSpinBox::qt_metacast
+32 (int (*)(...))QAbstractSpinBox::qt_metacall
+40 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+48 (int (*)(...))QAbstractSpinBox::~QAbstractSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSpinBox::validate
+440 (int (*)(...))QAbstractSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI16QAbstractSpinBox)
+488 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD1Ev
+496 (int (*)(...))QAbstractSpinBox::_ZThn16_N16QAbstractSpinBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSpinBox (0x0x7f58d4d66340) 0
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 16u)
+ QWidget (0x0x7f58d4d5ba80) 0
+ primary-for QAbstractSpinBox (0x0x7f58d4d66340)
+ QObject (0x0x7f58d4d671e0) 0
+ primary-for QWidget (0x0x7f58d4d5ba80)
+ QPaintDevice (0x0x7f58d4d67240) 16
+ vptr=((& QAbstractSpinBox::_ZTV16QAbstractSpinBox) + 488u)
+
+Class QAbstractSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractSlider::QPrivateSignal (0x0x7f58d4d67540) 0 empty
+
+Vtable for QAbstractSlider
+QAbstractSlider::_ZTV15QAbstractSlider: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAbstractSlider)
+16 (int (*)(...))QAbstractSlider::metaObject
+24 (int (*)(...))QAbstractSlider::qt_metacast
+32 (int (*)(...))QAbstractSlider::qt_metacall
+40 (int (*)(...))QAbstractSlider::~QAbstractSlider
+48 (int (*)(...))QAbstractSlider::~QAbstractSlider
+56 (int (*)(...))QAbstractSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QAbstractSlider)
+456 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD1Ev
+464 (int (*)(...))QAbstractSlider::_ZThn16_N15QAbstractSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractSlider
+ size=48 align=8
+ base size=48 base align=8
+QAbstractSlider (0x0x7f58d4d66478) 0
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 16u)
+ QWidget (0x0x7f58d4d9ee70) 0
+ primary-for QAbstractSlider (0x0x7f58d4d66478)
+ QObject (0x0x7f58d4d67480) 0
+ primary-for QWidget (0x0x7f58d4d9ee70)
+ QPaintDevice (0x0x7f58d4d674e0) 16
+ vptr=((& QAbstractSlider::_ZTV15QAbstractSlider) + 456u)
+
+Class QSlider::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSlider::QPrivateSignal (0x0x7f58d4d67660) 0 empty
+
+Vtable for QSlider
+QSlider::_ZTV7QSlider: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSlider)
+16 (int (*)(...))QSlider::metaObject
+24 (int (*)(...))QSlider::qt_metacast
+32 (int (*)(...))QSlider::qt_metacall
+40 (int (*)(...))QSlider::~QSlider
+48 (int (*)(...))QSlider::~QSlider
+56 (int (*)(...))QSlider::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSlider::sizeHint
+136 (int (*)(...))QSlider::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSlider::mousePressEvent
+176 (int (*)(...))QSlider::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSlider::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSlider::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractSlider::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI7QSlider)
+456 (int (*)(...))QSlider::_ZThn16_N7QSliderD1Ev
+464 (int (*)(...))QSlider::_ZThn16_N7QSliderD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSlider
+ size=48 align=8
+ base size=48 base align=8
+QSlider (0x0x7f58d4d664e0) 0
+ vptr=((& QSlider::_ZTV7QSlider) + 16u)
+ QAbstractSlider (0x0x7f58d4d66548) 0
+ primary-for QSlider (0x0x7f58d4d664e0)
+ QWidget (0x0x7f58d4df1700) 0
+ primary-for QAbstractSlider (0x0x7f58d4d66548)
+ QObject (0x0x7f58d4d675a0) 0
+ primary-for QWidget (0x0x7f58d4df1700)
+ QPaintDevice (0x0x7f58d4d67600) 16
+ vptr=((& QSlider::_ZTV7QSlider) + 456u)
+
+Class QStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyle::QPrivateSignal (0x0x7f58d4d67720) 0 empty
+
+Vtable for QStyle
+QStyle::_ZTV6QStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QStyle)
+16 (int (*)(...))QStyle::metaObject
+24 (int (*)(...))QStyle::qt_metacast
+32 (int (*)(...))QStyle::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyle::polish
+120 (int (*)(...))QStyle::unpolish
+128 (int (*)(...))QStyle::polish
+136 (int (*)(...))QStyle::unpolish
+144 (int (*)(...))QStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))__cxa_pure_virtual
+232 (int (*)(...))__cxa_pure_virtual
+240 (int (*)(...))__cxa_pure_virtual
+248 (int (*)(...))__cxa_pure_virtual
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))__cxa_pure_virtual
+272 (int (*)(...))__cxa_pure_virtual
+280 (int (*)(...))__cxa_pure_virtual
+288 (int (*)(...))__cxa_pure_virtual
+
+Class QStyle
+ size=16 align=8
+ base size=16 base align=8
+QStyle (0x0x7f58d4d66618) 0
+ vptr=((& QStyle::_ZTV6QStyle) + 16u)
+ QObject (0x0x7f58d4d676c0) 0
+ primary-for QStyle (0x0x7f58d4d66618)
+
+Class QTabBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabBar::QPrivateSignal (0x0x7f58d4d67b40) 0 empty
+
+Vtable for QTabBar
+QTabBar::_ZTV7QTabBar: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QTabBar)
+16 (int (*)(...))QTabBar::metaObject
+24 (int (*)(...))QTabBar::qt_metacast
+32 (int (*)(...))QTabBar::qt_metacall
+40 (int (*)(...))QTabBar::~QTabBar
+48 (int (*)(...))QTabBar::~QTabBar
+56 (int (*)(...))QTabBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTabBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabBar::sizeHint
+136 (int (*)(...))QTabBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTabBar::mousePressEvent
+176 (int (*)(...))QTabBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QTabBar::mouseMoveEvent
+200 (int (*)(...))QTabBar::wheelEvent
+208 (int (*)(...))QTabBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabBar::showEvent
+352 (int (*)(...))QTabBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabBar::tabSizeHint
+440 (int (*)(...))QTabBar::minimumTabSizeHint
+448 (int (*)(...))QTabBar::tabInserted
+456 (int (*)(...))QTabBar::tabRemoved
+464 (int (*)(...))QTabBar::tabLayoutChange
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QTabBar)
+488 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD1Ev
+496 (int (*)(...))QTabBar::_ZThn16_N7QTabBarD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabBar
+ size=48 align=8
+ base size=48 base align=8
+QTabBar (0x0x7f58d4d66820) 0
+ vptr=((& QTabBar::_ZTV7QTabBar) + 16u)
+ QWidget (0x0x7f58d4ebe690) 0
+ primary-for QTabBar (0x0x7f58d4d66820)
+ QObject (0x0x7f58d4d67a80) 0
+ primary-for QWidget (0x0x7f58d4ebe690)
+ QPaintDevice (0x0x7f58d4d67ae0) 16
+ vptr=((& QTabBar::_ZTV7QTabBar) + 488u)
+
+Class QTabWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTabWidget::QPrivateSignal (0x0x7f58d4d67c60) 0 empty
+
+Vtable for QTabWidget
+QTabWidget::_ZTV10QTabWidget: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTabWidget)
+16 (int (*)(...))QTabWidget::metaObject
+24 (int (*)(...))QTabWidget::qt_metacast
+32 (int (*)(...))QTabWidget::qt_metacall
+40 (int (*)(...))QTabWidget::~QTabWidget
+48 (int (*)(...))QTabWidget::~QTabWidget
+56 (int (*)(...))QTabWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QTabWidget::sizeHint
+136 (int (*)(...))QTabWidget::minimumSizeHint
+144 (int (*)(...))QTabWidget::heightForWidth
+152 (int (*)(...))QTabWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QTabWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTabWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTabWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QTabWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTabWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QTabWidget::tabInserted
+440 (int (*)(...))QTabWidget::tabRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI10QTabWidget)
+464 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD1Ev
+472 (int (*)(...))QTabWidget::_ZThn16_N10QTabWidgetD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTabWidget
+ size=48 align=8
+ base size=48 base align=8
+QTabWidget (0x0x7f58d4d66888) 0
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 16u)
+ QWidget (0x0x7f58d4eff070) 0
+ primary-for QTabWidget (0x0x7f58d4d66888)
+ QObject (0x0x7f58d4d67ba0) 0
+ primary-for QWidget (0x0x7f58d4eff070)
+ QPaintDevice (0x0x7f58d4d67c00) 16
+ vptr=((& QTabWidget::_ZTV10QTabWidget) + 464u)
+
+Class QRubberBand::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRubberBand::QPrivateSignal (0x0x7f58d4d67d80) 0 empty
+
+Vtable for QRubberBand
+QRubberBand::_ZTV11QRubberBand: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QRubberBand)
+16 (int (*)(...))QRubberBand::metaObject
+24 (int (*)(...))QRubberBand::qt_metacast
+32 (int (*)(...))QRubberBand::qt_metacall
+40 (int (*)(...))QRubberBand::~QRubberBand
+48 (int (*)(...))QRubberBand::~QRubberBand
+56 (int (*)(...))QRubberBand::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRubberBand::paintEvent
+264 (int (*)(...))QRubberBand::moveEvent
+272 (int (*)(...))QRubberBand::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QRubberBand::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QRubberBand::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QRubberBand)
+448 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD1Ev
+456 (int (*)(...))QRubberBand::_ZThn16_N11QRubberBandD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRubberBand
+ size=48 align=8
+ base size=48 base align=8
+QRubberBand (0x0x7f58d4d668f0) 0
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 16u)
+ QWidget (0x0x7f58d4eff850) 0
+ primary-for QRubberBand (0x0x7f58d4d668f0)
+ QObject (0x0x7f58d4d67cc0) 0
+ primary-for QWidget (0x0x7f58d4eff850)
+ QPaintDevice (0x0x7f58d4d67d20) 16
+ vptr=((& QRubberBand::_ZTV11QRubberBand) + 448u)
+
+Class QFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFrame::QPrivateSignal (0x0x7f58d4d67ea0) 0 empty
+
+Vtable for QFrame
+QFrame::_ZTV6QFrame: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QFrame)
+16 (int (*)(...))QFrame::metaObject
+24 (int (*)(...))QFrame::qt_metacast
+32 (int (*)(...))QFrame::qt_metacall
+40 (int (*)(...))QFrame::~QFrame
+48 (int (*)(...))QFrame::~QFrame
+56 (int (*)(...))QFrame::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QFrame)
+448 (int (*)(...))QFrame::_ZThn16_N6QFrameD1Ev
+456 (int (*)(...))QFrame::_ZThn16_N6QFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFrame
+ size=48 align=8
+ base size=48 base align=8
+QFrame (0x0x7f58d4d66958) 0
+ vptr=((& QFrame::_ZTV6QFrame) + 16u)
+ QWidget (0x0x7f58d4effe70) 0
+ primary-for QFrame (0x0x7f58d4d66958)
+ QObject (0x0x7f58d4d67de0) 0
+ primary-for QWidget (0x0x7f58d4effe70)
+ QPaintDevice (0x0x7f58d4d67e40) 16
+ vptr=((& QFrame::_ZTV6QFrame) + 448u)
+
+Class QStyleOption
+ size=64 align=8
+ base size=64 base align=8
+QStyleOption (0x0x7f58d4d67f00) 0
+
+Class QStyleOptionFocusRect
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFocusRect (0x0x7f58d4d669c0) 0
+ QStyleOption (0x0x7f58d4d67f60) 0
+
+Class QStyleOptionFrame
+ size=80 align=8
+ base size=80 base align=8
+QStyleOptionFrame (0x0x7f58d4d66a28) 0
+ QStyleOption (0x0x7f58d4b35000) 0
+
+Class QStyleOptionTabWidgetFrame
+ size=136 align=8
+ base size=132 base align=8
+QStyleOptionTabWidgetFrame (0x0x7f58d4d66b60) 0
+ QStyleOption (0x0x7f58d4b351e0) 0
+
+Class QStyleOptionTabBarBase
+ size=104 align=8
+ base size=101 base align=8
+QStyleOptionTabBarBase (0x0x7f58d4d66bc8) 0
+ QStyleOption (0x0x7f58d4b35240) 0
+
+Class QStyleOptionHeader
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionHeader (0x0x7f58d4d66c30) 0
+ QStyleOption (0x0x7f58d4b35300) 0
+
+Class QStyleOptionButton
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionButton (0x0x7f58d4d66c98) 0
+ QStyleOption (0x0x7f58d4b35360) 0
+
+Class QStyleOptionTab
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionTab (0x0x7f58d4d66dd0) 0
+ QStyleOption (0x0x7f58d4b35540) 0
+
+Class QStyleOptionToolBar
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBar (0x0x7f58d4c2d000) 0
+ QStyleOption (0x0x7f58d4b358a0) 0
+
+Class QStyleOptionProgressBar
+ size=104 align=8
+ base size=102 base align=8
+QStyleOptionProgressBar (0x0x7f58d4c2d138) 0
+ QStyleOption (0x0x7f58d4b35a80) 0
+
+Class QStyleOptionMenuItem
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionMenuItem (0x0x7f58d4c2d1a0) 0
+ QStyleOption (0x0x7f58d4b35ae0) 0
+
+Class QStyleOptionDockWidget
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionDockWidget (0x0x7f58d4c2d208) 0
+ QStyleOption (0x0x7f58d4b35b40) 0
+
+Class QStyleOptionViewItem
+ size=192 align=8
+ base size=192 base align=8
+QStyleOptionViewItem (0x0x7f58d4c2d2d8) 0
+ QStyleOption (0x0x7f58d4b35ba0) 0
+
+Class QStyleOptionToolBox
+ size=88 align=8
+ base size=88 base align=8
+QStyleOptionToolBox (0x0x7f58d4c2d410) 0
+ QStyleOption (0x0x7f58d4b35d80) 0
+
+Class QStyleOptionRubberBand
+ size=72 align=8
+ base size=69 base align=8
+QStyleOptionRubberBand (0x0x7f58d4c2d478) 0
+ QStyleOption (0x0x7f58d4b35de0) 0
+
+Class QStyleOptionComplex
+ size=72 align=8
+ base size=72 base align=8
+QStyleOptionComplex (0x0x7f58d4c2d4e0) 0
+ QStyleOption (0x0x7f58d4b35e40) 0
+
+Class QStyleOptionSlider
+ size=128 align=8
+ base size=121 base align=8
+QStyleOptionSlider (0x0x7f58d4c2d548) 0
+ QStyleOptionComplex (0x0x7f58d4c2d5b0) 0
+ QStyleOption (0x0x7f58d4b35ea0) 0
+
+Class QStyleOptionSpinBox
+ size=88 align=8
+ base size=81 base align=8
+QStyleOptionSpinBox (0x0x7f58d4c2d618) 0
+ QStyleOptionComplex (0x0x7f58d4c2d680) 0
+ QStyleOption (0x0x7f58d4b35f00) 0
+
+Class QStyleOptionToolButton
+ size=136 align=8
+ base size=136 base align=8
+QStyleOptionToolButton (0x0x7f58d4c2d6e8) 0
+ QStyleOptionComplex (0x0x7f58d4c2d750) 0
+ QStyleOption (0x0x7f58d4b35f60) 0
+
+Class QStyleOptionComboBox
+ size=120 align=8
+ base size=120 base align=8
+QStyleOptionComboBox (0x0x7f58d4c2d888) 0
+ QStyleOptionComplex (0x0x7f58d4c2d8f0) 0
+ QStyleOption (0x0x7f58d4d12180) 0
+
+Class QStyleOptionTitleBar
+ size=96 align=8
+ base size=96 base align=8
+QStyleOptionTitleBar (0x0x7f58d4c2d958) 0
+ QStyleOptionComplex (0x0x7f58d4c2d9c0) 0
+ QStyleOption (0x0x7f58d4d121e0) 0
+
+Class QStyleOptionGroupBox
+ size=120 align=8
+ base size=116 base align=8
+QStyleOptionGroupBox (0x0x7f58d4c2da28) 0
+ QStyleOptionComplex (0x0x7f58d4c2da90) 0
+ QStyleOption (0x0x7f58d4d122a0) 0
+
+Class QStyleOptionSizeGrip
+ size=80 align=8
+ base size=76 base align=8
+QStyleOptionSizeGrip (0x0x7f58d4c2daf8) 0
+ QStyleOptionComplex (0x0x7f58d4c2db60) 0
+ QStyleOption (0x0x7f58d4d12300) 0
+
+Class QStyleOptionGraphicsItem
+ size=152 align=8
+ base size=152 base align=8
+QStyleOptionGraphicsItem (0x0x7f58d4c2dbc8) 0
+ QStyleOption (0x0x7f58d4d12360) 0
+
+Class QStyleHintReturn
+ size=8 align=4
+ base size=8 base align=4
+QStyleHintReturn (0x0x7f58d4d12840) 0
+
+Class QStyleHintReturnMask
+ size=16 align=8
+ base size=16 base align=8
+QStyleHintReturnMask (0x0x7f58d49891a0) 0
+ QStyleHintReturn (0x0x7f58d4d128a0) 0
+
+Class QStyleHintReturnVariant
+ size=24 align=8
+ base size=24 base align=8
+QStyleHintReturnVariant (0x0x7f58d4989208) 0
+ QStyleHintReturn (0x0x7f58d4d12900) 0
+
+Class QAbstractItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemDelegate::QPrivateSignal (0x0x7f58d4d12e40) 0 empty
+
+Vtable for QAbstractItemDelegate
+QAbstractItemDelegate::_ZTV21QAbstractItemDelegate: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAbstractItemDelegate)
+16 (int (*)(...))QAbstractItemDelegate::metaObject
+24 (int (*)(...))QAbstractItemDelegate::qt_metacast
+32 (int (*)(...))QAbstractItemDelegate::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QAbstractItemDelegate::setEditorData
+152 (int (*)(...))QAbstractItemDelegate::setModelData
+160 (int (*)(...))QAbstractItemDelegate::updateEditorGeometry
+168 (int (*)(...))QAbstractItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+
+Class QAbstractItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemDelegate (0x0x7f58d4989750) 0
+ vptr=((& QAbstractItemDelegate::_ZTV21QAbstractItemDelegate) + 16u)
+ QObject (0x0x7f58d4d12de0) 0
+ primary-for QAbstractItemDelegate (0x0x7f58d4989750)
+
+Class QAbstractScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractScrollArea::QPrivateSignal (0x0x7f58d49d6000) 0 empty
+
+Vtable for QAbstractScrollArea
+QAbstractScrollArea::_ZTV19QAbstractScrollArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+16 (int (*)(...))QAbstractScrollArea::metaObject
+24 (int (*)(...))QAbstractScrollArea::qt_metacast
+32 (int (*)(...))QAbstractScrollArea::qt_metacall
+40 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+48 (int (*)(...))QAbstractScrollArea::~QAbstractScrollArea
+56 (int (*)(...))QAbstractScrollArea::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI19QAbstractScrollArea)
+480 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD1Ev
+488 (int (*)(...))QAbstractScrollArea::_ZThn16_N19QAbstractScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QAbstractScrollArea (0x0x7f58d49897b8) 0
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 16u)
+ QFrame (0x0x7f58d4989820) 0
+ primary-for QAbstractScrollArea (0x0x7f58d49897b8)
+ QWidget (0x0x7f58d49aeb60) 0
+ primary-for QFrame (0x0x7f58d4989820)
+ QObject (0x0x7f58d4d12f00) 0
+ primary-for QWidget (0x0x7f58d49aeb60)
+ QPaintDevice (0x0x7f58d4d12f60) 16
+ vptr=((& QAbstractScrollArea::_ZTV19QAbstractScrollArea) + 480u)
+
+Class QAbstractItemView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemView::QPrivateSignal (0x0x7f58d49d6120) 0 empty
+
+Vtable for QAbstractItemView
+QAbstractItemView::_ZTV17QAbstractItemView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAbstractItemView)
+16 (int (*)(...))QAbstractItemView::metaObject
+24 (int (*)(...))QAbstractItemView::qt_metacast
+32 (int (*)(...))QAbstractItemView::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QAbstractScrollArea::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))__cxa_pure_virtual
+496 (int (*)(...))__cxa_pure_virtual
+504 (int (*)(...))__cxa_pure_virtual
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QAbstractItemView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))__cxa_pure_virtual
+688 (int (*)(...))__cxa_pure_virtual
+696 (int (*)(...))__cxa_pure_virtual
+704 (int (*)(...))__cxa_pure_virtual
+712 (int (*)(...))__cxa_pure_virtual
+720 (int (*)(...))__cxa_pure_virtual
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI17QAbstractItemView)
+784 0u
+792 0u
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QAbstractItemView
+ size=48 align=8
+ base size=48 base align=8
+QAbstractItemView (0x0x7f58d4989888) 0
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 16u)
+ QAbstractScrollArea (0x0x7f58d49898f0) 0
+ primary-for QAbstractItemView (0x0x7f58d4989888)
+ QFrame (0x0x7f58d4989958) 0
+ primary-for QAbstractScrollArea (0x0x7f58d49898f0)
+ QWidget (0x0x7f58d49f20e0) 0
+ primary-for QFrame (0x0x7f58d4989958)
+ QObject (0x0x7f58d49d6060) 0
+ primary-for QWidget (0x0x7f58d49f20e0)
+ QPaintDevice (0x0x7f58d49d60c0) 16
+ vptr=((& QAbstractItemView::_ZTV17QAbstractItemView) + 784u)
+
+Vtable for QAccessibleWidget
+QAccessibleWidget::_ZTV17QAccessibleWidget: 35u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAccessibleWidget)
+16 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+24 (int (*)(...))QAccessibleWidget::~QAccessibleWidget
+32 (int (*)(...))QAccessibleWidget::isValid
+40 (int (*)(...))QAccessibleObject::object
+48 (int (*)(...))QAccessibleWidget::window
+56 (int (*)(...))QAccessibleWidget::relations
+64 (int (*)(...))QAccessibleWidget::focusChild
+72 (int (*)(...))QAccessibleObject::childAt
+80 (int (*)(...))QAccessibleWidget::parent
+88 (int (*)(...))QAccessibleWidget::child
+96 (int (*)(...))QAccessibleWidget::childCount
+104 (int (*)(...))QAccessibleWidget::indexOfChild
+112 (int (*)(...))QAccessibleWidget::text
+120 (int (*)(...))QAccessibleObject::setText
+128 (int (*)(...))QAccessibleWidget::rect
+136 (int (*)(...))QAccessibleWidget::role
+144 (int (*)(...))QAccessibleWidget::state
+152 (int (*)(...))QAccessibleWidget::foregroundColor
+160 (int (*)(...))QAccessibleWidget::backgroundColor
+168 (int (*)(...))QAccessibleInterface::virtual_hook
+176 (int (*)(...))QAccessibleWidget::interface_cast
+184 (int (*)(...))QAccessibleWidget::actionNames
+192 (int (*)(...))QAccessibleWidget::doAction
+200 (int (*)(...))QAccessibleWidget::keyBindingsForAction
+208 (int (*)(...))-16
+216 (int (*)(...))(& _ZTI17QAccessibleWidget)
+224 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD1Ev
+232 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidgetD0Ev
+240 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget11actionNamesEv
+248 (int (*)(...))QAccessibleActionInterface::localizedActionName
+256 (int (*)(...))QAccessibleActionInterface::localizedActionDescription
+264 (int (*)(...))QAccessibleWidget::_ZThn16_N17QAccessibleWidget8doActionERK7QString
+272 (int (*)(...))QAccessibleWidget::_ZThn16_NK17QAccessibleWidget20keyBindingsForActionERK7QString
+
+Class QAccessibleWidget
+ size=32 align=8
+ base size=32 base align=8
+QAccessibleWidget (0x0x7f58d4a5c7e0) 0
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 16u)
+ QAccessibleObject (0x0x7f58d4989a90) 0
+ primary-for QAccessibleWidget (0x0x7f58d4a5c7e0)
+ QAccessibleInterface (0x0x7f58d49d6300) 0 nearly-empty
+ primary-for QAccessibleObject (0x0x7f58d4989a90)
+ QAccessibleActionInterface (0x0x7f58d49d6360) 16 nearly-empty
+ vptr=((& QAccessibleWidget::_ZTV17QAccessibleWidget) + 224u)
+
+Class QAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAction::QPrivateSignal (0x0x7f58d49d6480) 0 empty
+
+Vtable for QAction
+QAction::_ZTV7QAction: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QAction)
+16 (int (*)(...))QAction::metaObject
+24 (int (*)(...))QAction::qt_metacast
+32 (int (*)(...))QAction::qt_metacall
+40 (int (*)(...))QAction::~QAction
+48 (int (*)(...))QAction::~QAction
+56 (int (*)(...))QAction::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAction
+ size=16 align=8
+ base size=16 base align=8
+QAction (0x0x7f58d4989af8) 0
+ vptr=((& QAction::_ZTV7QAction) + 16u)
+ QObject (0x0x7f58d49d6420) 0
+ primary-for QAction (0x0x7f58d4989af8)
+
+Class QActionGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QActionGroup::QPrivateSignal (0x0x7f58d49d6540) 0 empty
+
+Vtable for QActionGroup
+QActionGroup::_ZTV12QActionGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QActionGroup)
+16 (int (*)(...))QActionGroup::metaObject
+24 (int (*)(...))QActionGroup::qt_metacast
+32 (int (*)(...))QActionGroup::qt_metacall
+40 (int (*)(...))QActionGroup::~QActionGroup
+48 (int (*)(...))QActionGroup::~QActionGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QActionGroup
+ size=16 align=8
+ base size=16 base align=8
+QActionGroup (0x0x7f58d4989b60) 0
+ vptr=((& QActionGroup::_ZTV12QActionGroup) + 16u)
+ QObject (0x0x7f58d49d64e0) 0
+ primary-for QActionGroup (0x0x7f58d4989b60)
+
+Class QApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QApplication::QPrivateSignal (0x0x7f58d49d6600) 0 empty
+
+Vtable for QApplication
+QApplication::_ZTV12QApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QApplication)
+16 (int (*)(...))QApplication::metaObject
+24 (int (*)(...))QApplication::qt_metacast
+32 (int (*)(...))QApplication::qt_metacall
+40 (int (*)(...))QApplication::~QApplication
+48 (int (*)(...))QApplication::~QApplication
+56 (int (*)(...))QApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QApplication::notify
+120 (int (*)(...))QApplication::compressEvent
+
+Class QApplication
+ size=16 align=8
+ base size=16 base align=8
+QApplication (0x0x7f58d4989bc8) 0
+ vptr=((& QApplication::_ZTV12QApplication) + 16u)
+ QGuiApplication (0x0x7f58d4989c30) 0
+ primary-for QApplication (0x0x7f58d4989bc8)
+ QCoreApplication (0x0x7f58d4989c98) 0
+ primary-for QGuiApplication (0x0x7f58d4989c30)
+ QObject (0x0x7f58d49d65a0) 0
+ primary-for QCoreApplication (0x0x7f58d4989c98)
+
+Vtable for QLayoutItem
+QLayoutItem::_ZTV11QLayoutItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLayoutItem)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QLayoutItem
+ size=16 align=8
+ base size=12 base align=8
+QLayoutItem (0x0x7f58d49d6660) 0
+ vptr=((& QLayoutItem::_ZTV11QLayoutItem) + 16u)
+
+Vtable for QSpacerItem
+QSpacerItem::_ZTV11QSpacerItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QSpacerItem)
+16 (int (*)(...))QSpacerItem::~QSpacerItem
+24 (int (*)(...))QSpacerItem::~QSpacerItem
+32 (int (*)(...))QSpacerItem::sizeHint
+40 (int (*)(...))QSpacerItem::minimumSize
+48 (int (*)(...))QSpacerItem::maximumSize
+56 (int (*)(...))QSpacerItem::expandingDirections
+64 (int (*)(...))QSpacerItem::setGeometry
+72 (int (*)(...))QSpacerItem::geometry
+80 (int (*)(...))QSpacerItem::isEmpty
+88 (int (*)(...))QLayoutItem::hasHeightForWidth
+96 (int (*)(...))QLayoutItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QLayoutItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QSpacerItem::spacerItem
+144 (int (*)(...))QLayoutItem::controlTypes
+
+Class QSpacerItem
+ size=40 align=8
+ base size=40 base align=8
+QSpacerItem (0x0x7f58d4989d00) 0
+ vptr=((& QSpacerItem::_ZTV11QSpacerItem) + 16u)
+ QLayoutItem (0x0x7f58d49d66c0) 0
+ primary-for QSpacerItem (0x0x7f58d4989d00)
+
+Vtable for QWidgetItem
+QWidgetItem::_ZTV11QWidgetItem: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWidgetItem)
+16 (int (*)(...))QWidgetItem::~QWidgetItem
+24 (int (*)(...))QWidgetItem::~QWidgetItem
+32 (int (*)(...))QWidgetItem::sizeHint
+40 (int (*)(...))QWidgetItem::minimumSize
+48 (int (*)(...))QWidgetItem::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItem::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItem
+ size=24 align=8
+ base size=24 base align=8
+QWidgetItem (0x0x7f58d4989d68) 0
+ vptr=((& QWidgetItem::_ZTV11QWidgetItem) + 16u)
+ QLayoutItem (0x0x7f58d49d6720) 0
+ primary-for QWidgetItem (0x0x7f58d4989d68)
+
+Vtable for QWidgetItemV2
+QWidgetItemV2::_ZTV13QWidgetItemV2: 19u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetItemV2)
+16 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+24 (int (*)(...))QWidgetItemV2::~QWidgetItemV2
+32 (int (*)(...))QWidgetItemV2::sizeHint
+40 (int (*)(...))QWidgetItemV2::minimumSize
+48 (int (*)(...))QWidgetItemV2::maximumSize
+56 (int (*)(...))QWidgetItem::expandingDirections
+64 (int (*)(...))QWidgetItem::setGeometry
+72 (int (*)(...))QWidgetItem::geometry
+80 (int (*)(...))QWidgetItem::isEmpty
+88 (int (*)(...))QWidgetItem::hasHeightForWidth
+96 (int (*)(...))QWidgetItemV2::heightForWidth
+104 (int (*)(...))QLayoutItem::minimumHeightForWidth
+112 (int (*)(...))QLayoutItem::invalidate
+120 (int (*)(...))QWidgetItem::widget
+128 (int (*)(...))QLayoutItem::layout
+136 (int (*)(...))QLayoutItem::spacerItem
+144 (int (*)(...))QWidgetItem::controlTypes
+
+Class QWidgetItemV2
+ size=88 align=8
+ base size=88 base align=8
+QWidgetItemV2 (0x0x7f58d4989dd0) 0
+ vptr=((& QWidgetItemV2::_ZTV13QWidgetItemV2) + 16u)
+ QWidgetItem (0x0x7f58d4989e38) 0
+ primary-for QWidgetItemV2 (0x0x7f58d4989dd0)
+ QLayoutItem (0x0x7f58d49d6780) 0
+ primary-for QWidgetItem (0x0x7f58d4989e38)
+
+Class QLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLayout::QPrivateSignal (0x0x7f58d49d68a0) 0 empty
+
+Vtable for QLayout
+QLayout::_ZTV7QLayout: 47u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QLayout)
+16 (int (*)(...))QLayout::metaObject
+24 (int (*)(...))QLayout::qt_metacast
+32 (int (*)(...))QLayout::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QLayout::setGeometry
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))-16
+232 (int (*)(...))(& _ZTI7QLayout)
+240 0u
+248 0u
+256 (int (*)(...))__cxa_pure_virtual
+264 (int (*)(...))QLayout::_ZThn16_NK7QLayout11minimumSizeEv
+272 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+280 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+288 (int (*)(...))QLayout::_ZThn16_N7QLayout11setGeometryERK5QRect
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+312 (int (*)(...))QLayoutItem::hasHeightForWidth
+320 (int (*)(...))QLayoutItem::heightForWidth
+328 (int (*)(...))QLayoutItem::minimumHeightForWidth
+336 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+344 (int (*)(...))QLayoutItem::widget
+352 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+360 (int (*)(...))QLayoutItem::spacerItem
+368 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QLayout
+ size=32 align=8
+ base size=28 base align=8
+QLayout (0x0x7f58d4ae9850) 0
+ vptr=((& QLayout::_ZTV7QLayout) + 16u)
+ QObject (0x0x7f58d49d67e0) 0
+ primary-for QLayout (0x0x7f58d4ae9850)
+ QLayoutItem (0x0x7f58d49d6840) 16
+ vptr=((& QLayout::_ZTV7QLayout) + 240u)
+
+Class QGridLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGridLayout::QPrivateSignal (0x0x7f58d49d69c0) 0 empty
+
+Vtable for QGridLayout
+QGridLayout::_ZTV11QGridLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QGridLayout)
+16 (int (*)(...))QGridLayout::metaObject
+24 (int (*)(...))QGridLayout::qt_metacast
+32 (int (*)(...))QGridLayout::qt_metacall
+40 (int (*)(...))QGridLayout::~QGridLayout
+48 (int (*)(...))QGridLayout::~QGridLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGridLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QGridLayout::addItem
+136 (int (*)(...))QGridLayout::expandingDirections
+144 (int (*)(...))QGridLayout::minimumSize
+152 (int (*)(...))QGridLayout::maximumSize
+160 (int (*)(...))QGridLayout::setGeometry
+168 (int (*)(...))QGridLayout::itemAt
+176 (int (*)(...))QGridLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QGridLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QGridLayout::sizeHint
+232 (int (*)(...))QGridLayout::hasHeightForWidth
+240 (int (*)(...))QGridLayout::heightForWidth
+248 (int (*)(...))QGridLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QGridLayout)
+272 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD1Ev
+280 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayoutD0Ev
+288 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout8sizeHintEv
+296 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11minimumSizeEv
+304 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout11maximumSizeEv
+312 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout19expandingDirectionsEv
+320 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout17hasHeightForWidthEv
+352 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout14heightForWidthEi
+360 (int (*)(...))QGridLayout::_ZThn16_NK11QGridLayout21minimumHeightForWidthEi
+368 (int (*)(...))QGridLayout::_ZThn16_N11QGridLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QGridLayout
+ size=32 align=8
+ base size=28 base align=8
+QGridLayout (0x0x7f58d4989ea0) 0
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 16u)
+ QLayout (0x0x7f58d472a070) 0
+ primary-for QGridLayout (0x0x7f58d4989ea0)
+ QObject (0x0x7f58d49d6900) 0
+ primary-for QLayout (0x0x7f58d472a070)
+ QLayoutItem (0x0x7f58d49d6960) 16
+ vptr=((& QGridLayout::_ZTV11QGridLayout) + 272u)
+
+Class QBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBoxLayout::QPrivateSignal (0x0x7f58d49d6ae0) 0 empty
+
+Vtable for QBoxLayout
+QBoxLayout::_ZTV10QBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QBoxLayout)
+16 (int (*)(...))QBoxLayout::metaObject
+24 (int (*)(...))QBoxLayout::qt_metacast
+32 (int (*)(...))QBoxLayout::qt_metacall
+40 (int (*)(...))QBoxLayout::~QBoxLayout
+48 (int (*)(...))QBoxLayout::~QBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI10QBoxLayout)
+272 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD1Ev
+280 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QBoxLayout (0x0x7f58d4989f08) 0
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 16u)
+ QLayout (0x0x7f58d472a620) 0
+ primary-for QBoxLayout (0x0x7f58d4989f08)
+ QObject (0x0x7f58d49d6a20) 0
+ primary-for QLayout (0x0x7f58d472a620)
+ QLayoutItem (0x0x7f58d49d6a80) 16
+ vptr=((& QBoxLayout::_ZTV10QBoxLayout) + 272u)
+
+Class QHBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHBoxLayout::QPrivateSignal (0x0x7f58d49d6c00) 0 empty
+
+Vtable for QHBoxLayout
+QHBoxLayout::_ZTV11QHBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHBoxLayout)
+16 (int (*)(...))QHBoxLayout::metaObject
+24 (int (*)(...))QHBoxLayout::qt_metacast
+32 (int (*)(...))QHBoxLayout::qt_metacall
+40 (int (*)(...))QHBoxLayout::~QHBoxLayout
+48 (int (*)(...))QHBoxLayout::~QHBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QHBoxLayout)
+272 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD1Ev
+280 (int (*)(...))QHBoxLayout::_ZThn16_N11QHBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QHBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QHBoxLayout (0x0x7f58d476a000) 0
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 16u)
+ QBoxLayout (0x0x7f58d476a068) 0
+ primary-for QHBoxLayout (0x0x7f58d476a000)
+ QLayout (0x0x7f58d472acb0) 0
+ primary-for QBoxLayout (0x0x7f58d476a068)
+ QObject (0x0x7f58d49d6b40) 0
+ primary-for QLayout (0x0x7f58d472acb0)
+ QLayoutItem (0x0x7f58d49d6ba0) 16
+ vptr=((& QHBoxLayout::_ZTV11QHBoxLayout) + 272u)
+
+Class QVBoxLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVBoxLayout::QPrivateSignal (0x0x7f58d49d6d20) 0 empty
+
+Vtable for QVBoxLayout
+QVBoxLayout::_ZTV11QVBoxLayout: 51u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QVBoxLayout)
+16 (int (*)(...))QVBoxLayout::metaObject
+24 (int (*)(...))QVBoxLayout::qt_metacast
+32 (int (*)(...))QVBoxLayout::qt_metacall
+40 (int (*)(...))QVBoxLayout::~QVBoxLayout
+48 (int (*)(...))QVBoxLayout::~QVBoxLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QBoxLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QBoxLayout::addItem
+136 (int (*)(...))QBoxLayout::expandingDirections
+144 (int (*)(...))QBoxLayout::minimumSize
+152 (int (*)(...))QBoxLayout::maximumSize
+160 (int (*)(...))QBoxLayout::setGeometry
+168 (int (*)(...))QBoxLayout::itemAt
+176 (int (*)(...))QBoxLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QBoxLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QBoxLayout::sizeHint
+232 (int (*)(...))QBoxLayout::hasHeightForWidth
+240 (int (*)(...))QBoxLayout::heightForWidth
+248 (int (*)(...))QBoxLayout::minimumHeightForWidth
+256 (int (*)(...))-16
+264 (int (*)(...))(& _ZTI11QVBoxLayout)
+272 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD1Ev
+280 (int (*)(...))QVBoxLayout::_ZThn16_N11QVBoxLayoutD0Ev
+288 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout8sizeHintEv
+296 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11minimumSizeEv
+304 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout11maximumSizeEv
+312 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout19expandingDirectionsEv
+320 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout11setGeometryERK5QRect
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+336 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+344 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout17hasHeightForWidthEv
+352 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout14heightForWidthEi
+360 (int (*)(...))QBoxLayout::_ZThn16_NK10QBoxLayout21minimumHeightForWidthEi
+368 (int (*)(...))QBoxLayout::_ZThn16_N10QBoxLayout10invalidateEv
+376 (int (*)(...))QLayoutItem::widget
+384 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+392 (int (*)(...))QLayoutItem::spacerItem
+400 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QVBoxLayout
+ size=32 align=8
+ base size=28 base align=8
+QVBoxLayout (0x0x7f58d476a0d0) 0
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 16u)
+ QBoxLayout (0x0x7f58d476a138) 0
+ primary-for QVBoxLayout (0x0x7f58d476a0d0)
+ QLayout (0x0x7f58d472aee0) 0
+ primary-for QBoxLayout (0x0x7f58d476a138)
+ QObject (0x0x7f58d49d6c60) 0
+ primary-for QLayout (0x0x7f58d472aee0)
+ QLayoutItem (0x0x7f58d49d6cc0) 16
+ vptr=((& QVBoxLayout::_ZTV11QVBoxLayout) + 272u)
+
+Class QButtonGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QButtonGroup::QPrivateSignal (0x0x7f58d49d6de0) 0 empty
+
+Vtable for QButtonGroup
+QButtonGroup::_ZTV12QButtonGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QButtonGroup)
+16 (int (*)(...))QButtonGroup::metaObject
+24 (int (*)(...))QButtonGroup::qt_metacast
+32 (int (*)(...))QButtonGroup::qt_metacall
+40 (int (*)(...))QButtonGroup::~QButtonGroup
+48 (int (*)(...))QButtonGroup::~QButtonGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QButtonGroup
+ size=16 align=8
+ base size=16 base align=8
+QButtonGroup (0x0x7f58d476a1a0) 0
+ vptr=((& QButtonGroup::_ZTV12QButtonGroup) + 16u)
+ QObject (0x0x7f58d49d6d80) 0
+ primary-for QButtonGroup (0x0x7f58d476a1a0)
+
+Class QCalendarWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCalendarWidget::QPrivateSignal (0x0x7f58d49d6f00) 0 empty
+
+Vtable for QCalendarWidget
+QCalendarWidget::_ZTV15QCalendarWidget: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCalendarWidget)
+16 (int (*)(...))QCalendarWidget::metaObject
+24 (int (*)(...))QCalendarWidget::qt_metacast
+32 (int (*)(...))QCalendarWidget::qt_metacall
+40 (int (*)(...))QCalendarWidget::~QCalendarWidget
+48 (int (*)(...))QCalendarWidget::~QCalendarWidget
+56 (int (*)(...))QCalendarWidget::event
+64 (int (*)(...))QCalendarWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCalendarWidget::sizeHint
+136 (int (*)(...))QCalendarWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QCalendarWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QCalendarWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QCalendarWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCalendarWidget::paintCell
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI15QCalendarWidget)
+456 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD1Ev
+464 (int (*)(...))QCalendarWidget::_ZThn16_N15QCalendarWidgetD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCalendarWidget
+ size=48 align=8
+ base size=48 base align=8
+QCalendarWidget (0x0x7f58d476a208) 0
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 16u)
+ QWidget (0x0x7f58d47783f0) 0
+ primary-for QCalendarWidget (0x0x7f58d476a208)
+ QObject (0x0x7f58d49d6e40) 0
+ primary-for QWidget (0x0x7f58d47783f0)
+ QPaintDevice (0x0x7f58d49d6ea0) 16
+ vptr=((& QCalendarWidget::_ZTV15QCalendarWidget) + 456u)
+
+Class QCheckBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCheckBox::QPrivateSignal (0x0x7f58d47bc060) 0 empty
+
+Vtable for QCheckBox
+QCheckBox::_ZTV9QCheckBox: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QCheckBox)
+16 (int (*)(...))QCheckBox::metaObject
+24 (int (*)(...))QCheckBox::qt_metacast
+32 (int (*)(...))QCheckBox::qt_metacall
+40 (int (*)(...))QCheckBox::~QCheckBox
+48 (int (*)(...))QCheckBox::~QCheckBox
+56 (int (*)(...))QCheckBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCheckBox::sizeHint
+136 (int (*)(...))QCheckBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QCheckBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCheckBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QCheckBox::hitButton
+440 (int (*)(...))QCheckBox::checkStateSet
+448 (int (*)(...))QCheckBox::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI9QCheckBox)
+472 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD1Ev
+480 (int (*)(...))QCheckBox::_ZThn16_N9QCheckBoxD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCheckBox
+ size=48 align=8
+ base size=48 base align=8
+QCheckBox (0x0x7f58d476a270) 0
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 16u)
+ QAbstractButton (0x0x7f58d476a2d8) 0
+ primary-for QCheckBox (0x0x7f58d476a270)
+ QWidget (0x0x7f58d4778d20) 0
+ primary-for QAbstractButton (0x0x7f58d476a2d8)
+ QObject (0x0x7f58d49d6f60) 0
+ primary-for QWidget (0x0x7f58d4778d20)
+ QPaintDevice (0x0x7f58d47bc000) 16
+ vptr=((& QCheckBox::_ZTV9QCheckBox) + 472u)
+
+Class QDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialog::QPrivateSignal (0x0x7f58d47bc180) 0 empty
+
+Vtable for QDialog
+QDialog::_ZTV7QDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QDialog)
+16 (int (*)(...))QDialog::metaObject
+24 (int (*)(...))QDialog::qt_metacast
+32 (int (*)(...))QDialog::qt_metacall
+40 (int (*)(...))QDialog::~QDialog
+48 (int (*)(...))QDialog::~QDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI7QDialog)
+488 (int (*)(...))QDialog::_ZThn16_N7QDialogD1Ev
+496 (int (*)(...))QDialog::_ZThn16_N7QDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialog
+ size=48 align=8
+ base size=48 base align=8
+QDialog (0x0x7f58d476a340) 0
+ vptr=((& QDialog::_ZTV7QDialog) + 16u)
+ QWidget (0x0x7f58d47d1070) 0
+ primary-for QDialog (0x0x7f58d476a340)
+ QObject (0x0x7f58d47bc0c0) 0
+ primary-for QWidget (0x0x7f58d47d1070)
+ QPaintDevice (0x0x7f58d47bc120) 16
+ vptr=((& QDialog::_ZTV7QDialog) + 488u)
+
+Class QColorDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColorDialog::QPrivateSignal (0x0x7f58d47bc2a0) 0 empty
+
+Vtable for QColorDialog
+QColorDialog::_ZTV12QColorDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QColorDialog)
+16 (int (*)(...))QColorDialog::metaObject
+24 (int (*)(...))QColorDialog::qt_metacast
+32 (int (*)(...))QColorDialog::qt_metacall
+40 (int (*)(...))QColorDialog::~QColorDialog
+48 (int (*)(...))QColorDialog::~QColorDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QColorDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QColorDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QColorDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QColorDialog)
+488 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD1Ev
+496 (int (*)(...))QColorDialog::_ZThn16_N12QColorDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColorDialog
+ size=48 align=8
+ base size=48 base align=8
+QColorDialog (0x0x7f58d476a3a8) 0
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 16u)
+ QDialog (0x0x7f58d476a410) 0
+ primary-for QColorDialog (0x0x7f58d476a3a8)
+ QWidget (0x0x7f58d47d1540) 0
+ primary-for QDialog (0x0x7f58d476a410)
+ QObject (0x0x7f58d47bc1e0) 0
+ primary-for QWidget (0x0x7f58d47d1540)
+ QPaintDevice (0x0x7f58d47bc240) 16
+ vptr=((& QColorDialog::_ZTV12QColorDialog) + 488u)
+
+Class QColormap
+ size=8 align=8
+ base size=8 base align=8
+QColormap (0x0x7f58d47bc4e0) 0
+
+Class QColumnView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QColumnView::QPrivateSignal (0x0x7f58d47bc600) 0 empty
+
+Vtable for QColumnView
+QColumnView::_ZTV11QColumnView: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QColumnView)
+16 (int (*)(...))QColumnView::metaObject
+24 (int (*)(...))QColumnView::qt_metacast
+32 (int (*)(...))QColumnView::qt_metacall
+40 (int (*)(...))QColumnView::~QColumnView
+48 (int (*)(...))QColumnView::~QColumnView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QColumnView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QColumnView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QColumnView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QColumnView::setModel
+472 (int (*)(...))QColumnView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QColumnView::visualRect
+496 (int (*)(...))QColumnView::scrollTo
+504 (int (*)(...))QColumnView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QColumnView::setRootIndex
+544 (int (*)(...))QAbstractItemView::doItemsLayout
+552 (int (*)(...))QColumnView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QColumnView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QColumnView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QAbstractItemView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QColumnView::moveCursor
+688 (int (*)(...))QColumnView::horizontalOffset
+696 (int (*)(...))QColumnView::verticalOffset
+704 (int (*)(...))QColumnView::isIndexHidden
+712 (int (*)(...))QColumnView::setSelection
+720 (int (*)(...))QColumnView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QColumnView::createColumn
+776 (int (*)(...))-16
+784 (int (*)(...))(& _ZTI11QColumnView)
+792 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD1Ev
+800 (int (*)(...))QColumnView::_ZThn16_N11QColumnViewD0Ev
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QColumnView
+ size=48 align=8
+ base size=48 base align=8
+QColumnView (0x0x7f58d476a548) 0
+ vptr=((& QColumnView::_ZTV11QColumnView) + 16u)
+ QAbstractItemView (0x0x7f58d476a5b0) 0
+ primary-for QColumnView (0x0x7f58d476a548)
+ QAbstractScrollArea (0x0x7f58d476a618) 0
+ primary-for QAbstractItemView (0x0x7f58d476a5b0)
+ QFrame (0x0x7f58d476a680) 0
+ primary-for QAbstractScrollArea (0x0x7f58d476a618)
+ QWidget (0x0x7f58d481d9a0) 0
+ primary-for QFrame (0x0x7f58d476a680)
+ QObject (0x0x7f58d47bc540) 0
+ primary-for QWidget (0x0x7f58d481d9a0)
+ QPaintDevice (0x0x7f58d47bc5a0) 16
+ vptr=((& QColumnView::_ZTV11QColumnView) + 792u)
+
+Class QComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QComboBox::QPrivateSignal (0x0x7f58d47bc720) 0 empty
+
+Vtable for QComboBox
+QComboBox::_ZTV9QComboBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QComboBox)
+16 (int (*)(...))QComboBox::metaObject
+24 (int (*)(...))QComboBox::qt_metacast
+32 (int (*)(...))QComboBox::qt_metacall
+40 (int (*)(...))QComboBox::~QComboBox
+48 (int (*)(...))QComboBox::~QComboBox
+56 (int (*)(...))QComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI9QComboBox)
+464 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD1Ev
+472 (int (*)(...))QComboBox::_ZThn16_N9QComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QComboBox
+ size=48 align=8
+ base size=48 base align=8
+QComboBox (0x0x7f58d476a6e8) 0
+ vptr=((& QComboBox::_ZTV9QComboBox) + 16u)
+ QWidget (0x0x7f58d481dcb0) 0
+ primary-for QComboBox (0x0x7f58d476a6e8)
+ QObject (0x0x7f58d47bc660) 0
+ primary-for QWidget (0x0x7f58d481dcb0)
+ QPaintDevice (0x0x7f58d47bc6c0) 16
+ vptr=((& QComboBox::_ZTV9QComboBox) + 464u)
+
+Class QPushButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPushButton::QPrivateSignal (0x0x7f58d47bc840) 0 empty
+
+Vtable for QPushButton
+QPushButton::_ZTV11QPushButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPushButton)
+16 (int (*)(...))QPushButton::metaObject
+24 (int (*)(...))QPushButton::qt_metacast
+32 (int (*)(...))QPushButton::qt_metacall
+40 (int (*)(...))QPushButton::~QPushButton
+48 (int (*)(...))QPushButton::~QPushButton
+56 (int (*)(...))QPushButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QPushButton::sizeHint
+136 (int (*)(...))QPushButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPushButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QPushButton)
+472 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD1Ev
+480 (int (*)(...))QPushButton::_ZThn16_N11QPushButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPushButton
+ size=48 align=8
+ base size=48 base align=8
+QPushButton (0x0x7f58d476a750) 0
+ vptr=((& QPushButton::_ZTV11QPushButton) + 16u)
+ QAbstractButton (0x0x7f58d476a7b8) 0
+ primary-for QPushButton (0x0x7f58d476a750)
+ QWidget (0x0x7f58d48678c0) 0
+ primary-for QAbstractButton (0x0x7f58d476a7b8)
+ QObject (0x0x7f58d47bc780) 0
+ primary-for QWidget (0x0x7f58d48678c0)
+ QPaintDevice (0x0x7f58d47bc7e0) 16
+ vptr=((& QPushButton::_ZTV11QPushButton) + 472u)
+
+Class QCommandLinkButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommandLinkButton::QPrivateSignal (0x0x7f58d47bc960) 0 empty
+
+Vtable for QCommandLinkButton
+QCommandLinkButton::_ZTV18QCommandLinkButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QCommandLinkButton)
+16 (int (*)(...))QCommandLinkButton::metaObject
+24 (int (*)(...))QCommandLinkButton::qt_metacast
+32 (int (*)(...))QCommandLinkButton::qt_metacall
+40 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+48 (int (*)(...))QCommandLinkButton::~QCommandLinkButton
+56 (int (*)(...))QCommandLinkButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QCommandLinkButton::sizeHint
+136 (int (*)(...))QCommandLinkButton::minimumSizeHint
+144 (int (*)(...))QCommandLinkButton::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QPushButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QPushButton::focusInEvent
+232 (int (*)(...))QPushButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QCommandLinkButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QAbstractButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI18QCommandLinkButton)
+472 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD1Ev
+480 (int (*)(...))QCommandLinkButton::_ZThn16_N18QCommandLinkButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QCommandLinkButton
+ size=48 align=8
+ base size=48 base align=8
+QCommandLinkButton (0x0x7f58d476a820) 0
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 16u)
+ QPushButton (0x0x7f58d476a888) 0
+ primary-for QCommandLinkButton (0x0x7f58d476a820)
+ QAbstractButton (0x0x7f58d476a8f0) 0
+ primary-for QPushButton (0x0x7f58d476a888)
+ QWidget (0x0x7f58d4867bd0) 0
+ primary-for QAbstractButton (0x0x7f58d476a8f0)
+ QObject (0x0x7f58d47bc8a0) 0
+ primary-for QWidget (0x0x7f58d4867bd0)
+ QPaintDevice (0x0x7f58d47bc900) 16
+ vptr=((& QCommandLinkButton::_ZTV18QCommandLinkButton) + 472u)
+
+Class QCommonStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCommonStyle::QPrivateSignal (0x0x7f58d47bca20) 0 empty
+
+Vtable for QCommonStyle
+QCommonStyle::_ZTV12QCommonStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QCommonStyle)
+16 (int (*)(...))QCommonStyle::metaObject
+24 (int (*)(...))QCommonStyle::qt_metacast
+32 (int (*)(...))QCommonStyle::qt_metacall
+40 (int (*)(...))QCommonStyle::~QCommonStyle
+48 (int (*)(...))QCommonStyle::~QCommonStyle
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCommonStyle::polish
+120 (int (*)(...))QCommonStyle::unpolish
+128 (int (*)(...))QCommonStyle::polish
+136 (int (*)(...))QCommonStyle::unpolish
+144 (int (*)(...))QCommonStyle::polish
+152 (int (*)(...))QStyle::itemTextRect
+160 (int (*)(...))QStyle::itemPixmapRect
+168 (int (*)(...))QStyle::drawItemText
+176 (int (*)(...))QStyle::drawItemPixmap
+184 (int (*)(...))QStyle::standardPalette
+192 (int (*)(...))QCommonStyle::drawPrimitive
+200 (int (*)(...))QCommonStyle::drawControl
+208 (int (*)(...))QCommonStyle::subElementRect
+216 (int (*)(...))QCommonStyle::drawComplexControl
+224 (int (*)(...))QCommonStyle::hitTestComplexControl
+232 (int (*)(...))QCommonStyle::subControlRect
+240 (int (*)(...))QCommonStyle::pixelMetric
+248 (int (*)(...))QCommonStyle::sizeFromContents
+256 (int (*)(...))QCommonStyle::styleHint
+264 (int (*)(...))QCommonStyle::standardPixmap
+272 (int (*)(...))QCommonStyle::standardIcon
+280 (int (*)(...))QCommonStyle::generatedIconPixmap
+288 (int (*)(...))QCommonStyle::layoutSpacing
+
+Class QCommonStyle
+ size=16 align=8
+ base size=16 base align=8
+QCommonStyle (0x0x7f58d476a958) 0
+ vptr=((& QCommonStyle::_ZTV12QCommonStyle) + 16u)
+ QStyle (0x0x7f58d476a9c0) 0
+ primary-for QCommonStyle (0x0x7f58d476a958)
+ QObject (0x0x7f58d47bc9c0) 0
+ primary-for QStyle (0x0x7f58d476a9c0)
+
+Class QCompleter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompleter::QPrivateSignal (0x0x7f58d47bcae0) 0 empty
+
+Vtable for QCompleter
+QCompleter::_ZTV10QCompleter: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QCompleter)
+16 (int (*)(...))QCompleter::metaObject
+24 (int (*)(...))QCompleter::qt_metacast
+32 (int (*)(...))QCompleter::qt_metacall
+40 (int (*)(...))QCompleter::~QCompleter
+48 (int (*)(...))QCompleter::~QCompleter
+56 (int (*)(...))QCompleter::event
+64 (int (*)(...))QCompleter::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompleter::pathFromIndex
+120 (int (*)(...))QCompleter::splitPath
+
+Class QCompleter
+ size=16 align=8
+ base size=16 base align=8
+QCompleter (0x0x7f58d476aa28) 0
+ vptr=((& QCompleter::_ZTV10QCompleter) + 16u)
+ QObject (0x0x7f58d47bca80) 0
+ primary-for QCompleter (0x0x7f58d476aa28)
+
+Class QDataWidgetMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDataWidgetMapper::QPrivateSignal (0x0x7f58d47bcba0) 0 empty
+
+Vtable for QDataWidgetMapper
+QDataWidgetMapper::_ZTV17QDataWidgetMapper: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QDataWidgetMapper)
+16 (int (*)(...))QDataWidgetMapper::metaObject
+24 (int (*)(...))QDataWidgetMapper::qt_metacast
+32 (int (*)(...))QDataWidgetMapper::qt_metacall
+40 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+48 (int (*)(...))QDataWidgetMapper::~QDataWidgetMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDataWidgetMapper::setCurrentIndex
+
+Class QDataWidgetMapper
+ size=16 align=8
+ base size=16 base align=8
+QDataWidgetMapper (0x0x7f58d476aa90) 0
+ vptr=((& QDataWidgetMapper::_ZTV17QDataWidgetMapper) + 16u)
+ QObject (0x0x7f58d47bcb40) 0
+ primary-for QDataWidgetMapper (0x0x7f58d476aa90)
+
+Class QDateTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateTimeEdit::QPrivateSignal (0x0x7f58d47bccc0) 0 empty
+
+Vtable for QDateTimeEdit
+QDateTimeEdit::_ZTV13QDateTimeEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QDateTimeEdit)
+16 (int (*)(...))QDateTimeEdit::metaObject
+24 (int (*)(...))QDateTimeEdit::qt_metacast
+32 (int (*)(...))QDateTimeEdit::qt_metacall
+40 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+48 (int (*)(...))QDateTimeEdit::~QDateTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QDateTimeEdit)
+504 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD1Ev
+512 (int (*)(...))QDateTimeEdit::_ZThn16_N13QDateTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateTimeEdit (0x0x7f58d476aaf8) 0
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 16u)
+ QAbstractSpinBox (0x0x7f58d476ab60) 0
+ primary-for QDateTimeEdit (0x0x7f58d476aaf8)
+ QWidget (0x0x7f58d48d8bd0) 0
+ primary-for QAbstractSpinBox (0x0x7f58d476ab60)
+ QObject (0x0x7f58d47bcc00) 0
+ primary-for QWidget (0x0x7f58d48d8bd0)
+ QPaintDevice (0x0x7f58d47bcc60) 16
+ vptr=((& QDateTimeEdit::_ZTV13QDateTimeEdit) + 504u)
+
+Class QTimeEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeEdit::QPrivateSignal (0x0x7f58d47bcf60) 0 empty
+
+Vtable for QTimeEdit
+QTimeEdit::_ZTV9QTimeEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeEdit)
+16 (int (*)(...))QTimeEdit::metaObject
+24 (int (*)(...))QTimeEdit::qt_metacast
+32 (int (*)(...))QTimeEdit::qt_metacall
+40 (int (*)(...))QTimeEdit::~QTimeEdit
+48 (int (*)(...))QTimeEdit::~QTimeEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QTimeEdit)
+504 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD1Ev
+512 (int (*)(...))QTimeEdit::_ZThn16_N9QTimeEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTimeEdit
+ size=48 align=8
+ base size=48 base align=8
+QTimeEdit (0x0x7f58d476ac98) 0
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 16u)
+ QDateTimeEdit (0x0x7f58d476ad00) 0
+ primary-for QTimeEdit (0x0x7f58d476ac98)
+ QAbstractSpinBox (0x0x7f58d476ad68) 0
+ primary-for QDateTimeEdit (0x0x7f58d476ad00)
+ QWidget (0x0x7f58d4910770) 0
+ primary-for QAbstractSpinBox (0x0x7f58d476ad68)
+ QObject (0x0x7f58d47bcea0) 0
+ primary-for QWidget (0x0x7f58d4910770)
+ QPaintDevice (0x0x7f58d47bcf00) 16
+ vptr=((& QTimeEdit::_ZTV9QTimeEdit) + 504u)
+
+Class QDateEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDateEdit::QPrivateSignal (0x0x7f58d455b0c0) 0 empty
+
+Vtable for QDateEdit
+QDateEdit::_ZTV9QDateEdit: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDateEdit)
+16 (int (*)(...))QDateEdit::metaObject
+24 (int (*)(...))QDateEdit::qt_metacast
+32 (int (*)(...))QDateEdit::qt_metacall
+40 (int (*)(...))QDateEdit::~QDateEdit
+48 (int (*)(...))QDateEdit::~QDateEdit
+56 (int (*)(...))QDateTimeEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDateTimeEdit::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDateTimeEdit::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QDateTimeEdit::wheelEvent
+208 (int (*)(...))QDateTimeEdit::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QDateTimeEdit::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDateTimeEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QDateTimeEdit::focusNextPrevChild
+432 (int (*)(...))QDateTimeEdit::validate
+440 (int (*)(...))QDateTimeEdit::fixup
+448 (int (*)(...))QDateTimeEdit::stepBy
+456 (int (*)(...))QDateTimeEdit::clear
+464 (int (*)(...))QDateTimeEdit::stepEnabled
+472 (int (*)(...))QDateTimeEdit::dateTimeFromText
+480 (int (*)(...))QDateTimeEdit::textFromDateTime
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI9QDateEdit)
+504 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD1Ev
+512 (int (*)(...))QDateEdit::_ZThn16_N9QDateEditD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDateEdit
+ size=48 align=8
+ base size=48 base align=8
+QDateEdit (0x0x7f58d476add0) 0
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 16u)
+ QDateTimeEdit (0x0x7f58d476ae38) 0
+ primary-for QDateEdit (0x0x7f58d476add0)
+ QAbstractSpinBox (0x0x7f58d476aea0) 0
+ primary-for QDateTimeEdit (0x0x7f58d476ae38)
+ QWidget (0x0x7f58d49109a0) 0
+ primary-for QAbstractSpinBox (0x0x7f58d476aea0)
+ QObject (0x0x7f58d455b000) 0
+ primary-for QWidget (0x0x7f58d49109a0)
+ QPaintDevice (0x0x7f58d455b060) 16
+ vptr=((& QDateEdit::_ZTV9QDateEdit) + 504u)
+
+Class QDesktopWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDesktopWidget::QPrivateSignal (0x0x7f58d455b1e0) 0 empty
+
+Vtable for QDesktopWidget
+QDesktopWidget::_ZTV14QDesktopWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDesktopWidget)
+16 (int (*)(...))QDesktopWidget::metaObject
+24 (int (*)(...))QDesktopWidget::qt_metacast
+32 (int (*)(...))QDesktopWidget::qt_metacall
+40 (int (*)(...))QDesktopWidget::~QDesktopWidget
+48 (int (*)(...))QDesktopWidget::~QDesktopWidget
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDesktopWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QDesktopWidget)
+448 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD1Ev
+456 (int (*)(...))QDesktopWidget::_ZThn16_N14QDesktopWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDesktopWidget
+ size=48 align=8
+ base size=48 base align=8
+QDesktopWidget (0x0x7f58d476af08) 0
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 16u)
+ QWidget (0x0x7f58d45733f0) 0
+ primary-for QDesktopWidget (0x0x7f58d476af08)
+ QObject (0x0x7f58d455b120) 0
+ primary-for QWidget (0x0x7f58d45733f0)
+ QPaintDevice (0x0x7f58d455b180) 16
+ vptr=((& QDesktopWidget::_ZTV14QDesktopWidget) + 448u)
+
+Class QDial::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDial::QPrivateSignal (0x0x7f58d455b300) 0 empty
+
+Vtable for QDial
+QDial::_ZTV5QDial: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QDial)
+16 (int (*)(...))QDial::metaObject
+24 (int (*)(...))QDial::qt_metacast
+32 (int (*)(...))QDial::qt_metacall
+40 (int (*)(...))QDial::~QDial
+48 (int (*)(...))QDial::~QDial
+56 (int (*)(...))QDial::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QDial::sizeHint
+136 (int (*)(...))QDial::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QDial::mousePressEvent
+176 (int (*)(...))QDial::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QDial::mouseMoveEvent
+200 (int (*)(...))QAbstractSlider::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDial::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDial::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDial::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI5QDial)
+456 (int (*)(...))QDial::_ZThn16_N5QDialD1Ev
+464 (int (*)(...))QDial::_ZThn16_N5QDialD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDial
+ size=48 align=8
+ base size=48 base align=8
+QDial (0x0x7f58d476af70) 0
+ vptr=((& QDial::_ZTV5QDial) + 16u)
+ QAbstractSlider (0x0x7f58d459d000) 0
+ primary-for QDial (0x0x7f58d476af70)
+ QWidget (0x0x7f58d4573850) 0
+ primary-for QAbstractSlider (0x0x7f58d459d000)
+ QObject (0x0x7f58d455b240) 0
+ primary-for QWidget (0x0x7f58d4573850)
+ QPaintDevice (0x0x7f58d455b2a0) 16
+ vptr=((& QDial::_ZTV5QDial) + 456u)
+
+Class QDialogButtonBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDialogButtonBox::QPrivateSignal (0x0x7f58d455b420) 0 empty
+
+Vtable for QDialogButtonBox
+QDialogButtonBox::_ZTV16QDialogButtonBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDialogButtonBox)
+16 (int (*)(...))QDialogButtonBox::metaObject
+24 (int (*)(...))QDialogButtonBox::qt_metacast
+32 (int (*)(...))QDialogButtonBox::qt_metacall
+40 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+48 (int (*)(...))QDialogButtonBox::~QDialogButtonBox
+56 (int (*)(...))QDialogButtonBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDialogButtonBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QDialogButtonBox)
+448 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD1Ev
+456 (int (*)(...))QDialogButtonBox::_ZThn16_N16QDialogButtonBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDialogButtonBox
+ size=48 align=8
+ base size=48 base align=8
+QDialogButtonBox (0x0x7f58d459d068) 0
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 16u)
+ QWidget (0x0x7f58d4573b60) 0
+ primary-for QDialogButtonBox (0x0x7f58d459d068)
+ QObject (0x0x7f58d455b360) 0
+ primary-for QWidget (0x0x7f58d4573b60)
+ QPaintDevice (0x0x7f58d455b3c0) 16
+ vptr=((& QDialogButtonBox::_ZTV16QDialogButtonBox) + 448u)
+
+Vtable for QFileIconProvider
+QFileIconProvider::_ZTV17QFileIconProvider: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFileIconProvider)
+16 (int (*)(...))QFileIconProvider::~QFileIconProvider
+24 (int (*)(...))QFileIconProvider::~QFileIconProvider
+32 (int (*)(...))QFileIconProvider::icon
+40 (int (*)(...))QFileIconProvider::icon
+48 (int (*)(...))QFileIconProvider::type
+
+Class QFileIconProvider
+ size=16 align=8
+ base size=16 base align=8
+QFileIconProvider (0x0x7f58d455b600) 0
+ vptr=((& QFileIconProvider::_ZTV17QFileIconProvider) + 16u)
+
+Class QDirModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDirModel::QPrivateSignal (0x0x7f58d455b900) 0 empty
+
+Vtable for QDirModel
+QDirModel::_ZTV9QDirModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QDirModel)
+16 (int (*)(...))QDirModel::metaObject
+24 (int (*)(...))QDirModel::qt_metacast
+32 (int (*)(...))QDirModel::qt_metacall
+40 (int (*)(...))QDirModel::~QDirModel
+48 (int (*)(...))QDirModel::~QDirModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDirModel::index
+120 (int (*)(...))QDirModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QDirModel::rowCount
+144 (int (*)(...))QDirModel::columnCount
+152 (int (*)(...))QDirModel::hasChildren
+160 (int (*)(...))QDirModel::data
+168 (int (*)(...))QDirModel::setData
+176 (int (*)(...))QDirModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QDirModel::mimeTypes
+216 (int (*)(...))QDirModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QDirModel::dropMimeData
+240 (int (*)(...))QDirModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QDirModel::flags
+328 (int (*)(...))QDirModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QDirModel
+ size=16 align=8
+ base size=16 base align=8
+QDirModel (0x0x7f58d459d270) 0
+ vptr=((& QDirModel::_ZTV9QDirModel) + 16u)
+ QAbstractItemModel (0x0x7f58d459d2d8) 0
+ primary-for QDirModel (0x0x7f58d459d270)
+ QObject (0x0x7f58d455b8a0) 0
+ primary-for QAbstractItemModel (0x0x7f58d459d2d8)
+
+Class QDockWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDockWidget::QPrivateSignal (0x0x7f58d455ba20) 0 empty
+
+Vtable for QDockWidget
+QDockWidget::_ZTV11QDockWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QDockWidget)
+16 (int (*)(...))QDockWidget::metaObject
+24 (int (*)(...))QDockWidget::qt_metacast
+32 (int (*)(...))QDockWidget::qt_metacall
+40 (int (*)(...))QDockWidget::~QDockWidget
+48 (int (*)(...))QDockWidget::~QDockWidget
+56 (int (*)(...))QDockWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QDockWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QDockWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QDockWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QDockWidget)
+448 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD1Ev
+456 (int (*)(...))QDockWidget::_ZThn16_N11QDockWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDockWidget
+ size=48 align=8
+ base size=48 base align=8
+QDockWidget (0x0x7f58d459d340) 0
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 16u)
+ QWidget (0x0x7f58d4618d20) 0
+ primary-for QDockWidget (0x0x7f58d459d340)
+ QObject (0x0x7f58d455b960) 0
+ primary-for QWidget (0x0x7f58d4618d20)
+ QPaintDevice (0x0x7f58d455b9c0) 16
+ vptr=((& QDockWidget::_ZTV11QDockWidget) + 448u)
+
+Class QTileRules
+ size=8 align=4
+ base size=8 base align=4
+QTileRules (0x0x7f58d46a00c0) 0
+
+Class QErrorMessage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QErrorMessage::QPrivateSignal (0x0x7f58d46a0360) 0 empty
+
+Vtable for QErrorMessage
+QErrorMessage::_ZTV13QErrorMessage: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QErrorMessage)
+16 (int (*)(...))QErrorMessage::metaObject
+24 (int (*)(...))QErrorMessage::qt_metacast
+32 (int (*)(...))QErrorMessage::qt_metacall
+40 (int (*)(...))QErrorMessage::~QErrorMessage
+48 (int (*)(...))QErrorMessage::~QErrorMessage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QErrorMessage::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QErrorMessage::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI13QErrorMessage)
+488 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD1Ev
+496 (int (*)(...))QErrorMessage::_ZThn16_N13QErrorMessageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QErrorMessage
+ size=48 align=8
+ base size=48 base align=8
+QErrorMessage (0x0x7f58d459da28) 0
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 16u)
+ QDialog (0x0x7f58d459da90) 0
+ primary-for QErrorMessage (0x0x7f58d459da28)
+ QWidget (0x0x7f58d46d6770) 0
+ primary-for QDialog (0x0x7f58d459da90)
+ QObject (0x0x7f58d46a02a0) 0
+ primary-for QWidget (0x0x7f58d46d6770)
+ QPaintDevice (0x0x7f58d46a0300) 16
+ vptr=((& QErrorMessage::_ZTV13QErrorMessage) + 488u)
+
+Class QFileDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDialog::QPrivateSignal (0x0x7f58d46a0480) 0 empty
+
+Vtable for QFileDialog
+QFileDialog::_ZTV11QFileDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDialog)
+16 (int (*)(...))QFileDialog::metaObject
+24 (int (*)(...))QFileDialog::qt_metacast
+32 (int (*)(...))QFileDialog::qt_metacall
+40 (int (*)(...))QFileDialog::~QFileDialog
+48 (int (*)(...))QFileDialog::~QFileDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFileDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFileDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFileDialog::done
+456 (int (*)(...))QFileDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFileDialog)
+488 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD1Ev
+496 (int (*)(...))QFileDialog::_ZThn16_N11QFileDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFileDialog
+ size=48 align=8
+ base size=48 base align=8
+QFileDialog (0x0x7f58d459daf8) 0
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 16u)
+ QDialog (0x0x7f58d459db60) 0
+ primary-for QFileDialog (0x0x7f58d459daf8)
+ QWidget (0x0x7f58d46d6a80) 0
+ primary-for QDialog (0x0x7f58d459db60)
+ QObject (0x0x7f58d46a03c0) 0
+ primary-for QWidget (0x0x7f58d46d6a80)
+ QPaintDevice (0x0x7f58d46a0420) 16
+ vptr=((& QFileDialog::_ZTV11QFileDialog) + 488u)
+
+Class QFileSystemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemModel::QPrivateSignal (0x0x7f58d46a06c0) 0 empty
+
+Vtable for QFileSystemModel
+QFileSystemModel::_ZTV16QFileSystemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QFileSystemModel)
+16 (int (*)(...))QFileSystemModel::metaObject
+24 (int (*)(...))QFileSystemModel::qt_metacast
+32 (int (*)(...))QFileSystemModel::qt_metacall
+40 (int (*)(...))QFileSystemModel::~QFileSystemModel
+48 (int (*)(...))QFileSystemModel::~QFileSystemModel
+56 (int (*)(...))QFileSystemModel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QFileSystemModel::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileSystemModel::index
+120 (int (*)(...))QFileSystemModel::parent
+128 (int (*)(...))QFileSystemModel::sibling
+136 (int (*)(...))QFileSystemModel::rowCount
+144 (int (*)(...))QFileSystemModel::columnCount
+152 (int (*)(...))QFileSystemModel::hasChildren
+160 (int (*)(...))QFileSystemModel::data
+168 (int (*)(...))QFileSystemModel::setData
+176 (int (*)(...))QFileSystemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QFileSystemModel::mimeTypes
+216 (int (*)(...))QFileSystemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QFileSystemModel::dropMimeData
+240 (int (*)(...))QFileSystemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QFileSystemModel::fetchMore
+312 (int (*)(...))QFileSystemModel::canFetchMore
+320 (int (*)(...))QFileSystemModel::flags
+328 (int (*)(...))QFileSystemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QFileSystemModel
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemModel (0x0x7f58d459dc98) 0
+ vptr=((& QFileSystemModel::_ZTV16QFileSystemModel) + 16u)
+ QAbstractItemModel (0x0x7f58d459dd00) 0
+ primary-for QFileSystemModel (0x0x7f58d459dc98)
+ QObject (0x0x7f58d46a0660) 0
+ primary-for QAbstractItemModel (0x0x7f58d459dd00)
+
+Class QFocusFrame::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFocusFrame::QPrivateSignal (0x0x7f58d46a0840) 0 empty
+
+Vtable for QFocusFrame
+QFocusFrame::_ZTV11QFocusFrame: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFocusFrame)
+16 (int (*)(...))QFocusFrame::metaObject
+24 (int (*)(...))QFocusFrame::qt_metacast
+32 (int (*)(...))QFocusFrame::qt_metacall
+40 (int (*)(...))QFocusFrame::~QFocusFrame
+48 (int (*)(...))QFocusFrame::~QFocusFrame
+56 (int (*)(...))QFocusFrame::event
+64 (int (*)(...))QFocusFrame::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFocusFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI11QFocusFrame)
+448 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD1Ev
+456 (int (*)(...))QFocusFrame::_ZThn16_N11QFocusFrameD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFocusFrame
+ size=48 align=8
+ base size=48 base align=8
+QFocusFrame (0x0x7f58d459dd68) 0
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 16u)
+ QWidget (0x0x7f58d43a7150) 0
+ primary-for QFocusFrame (0x0x7f58d459dd68)
+ QObject (0x0x7f58d46a0780) 0
+ primary-for QWidget (0x0x7f58d43a7150)
+ QPaintDevice (0x0x7f58d46a07e0) 16
+ vptr=((& QFocusFrame::_ZTV11QFocusFrame) + 448u)
+
+Class QFontComboBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontComboBox::QPrivateSignal (0x0x7f58d46a0960) 0 empty
+
+Vtable for QFontComboBox
+QFontComboBox::_ZTV13QFontComboBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFontComboBox)
+16 (int (*)(...))QFontComboBox::metaObject
+24 (int (*)(...))QFontComboBox::qt_metacast
+32 (int (*)(...))QFontComboBox::qt_metacall
+40 (int (*)(...))QFontComboBox::~QFontComboBox
+48 (int (*)(...))QFontComboBox::~QFontComboBox
+56 (int (*)(...))QFontComboBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFontComboBox::sizeHint
+136 (int (*)(...))QComboBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QComboBox::mousePressEvent
+176 (int (*)(...))QComboBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QComboBox::wheelEvent
+208 (int (*)(...))QComboBox::keyPressEvent
+216 (int (*)(...))QComboBox::keyReleaseEvent
+224 (int (*)(...))QComboBox::focusInEvent
+232 (int (*)(...))QComboBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QComboBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QComboBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QComboBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QComboBox::showEvent
+352 (int (*)(...))QComboBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QComboBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QComboBox::inputMethodEvent
+416 (int (*)(...))QComboBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QComboBox::showPopup
+440 (int (*)(...))QComboBox::hidePopup
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI13QFontComboBox)
+464 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD1Ev
+472 (int (*)(...))QFontComboBox::_ZThn16_N13QFontComboBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontComboBox
+ size=48 align=8
+ base size=48 base align=8
+QFontComboBox (0x0x7f58d459ddd0) 0
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 16u)
+ QComboBox (0x0x7f58d459de38) 0
+ primary-for QFontComboBox (0x0x7f58d459ddd0)
+ QWidget (0x0x7f58d43a7460) 0
+ primary-for QComboBox (0x0x7f58d459de38)
+ QObject (0x0x7f58d46a08a0) 0
+ primary-for QWidget (0x0x7f58d43a7460)
+ QPaintDevice (0x0x7f58d46a0900) 16
+ vptr=((& QFontComboBox::_ZTV13QFontComboBox) + 464u)
+
+Class QFontDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFontDialog::QPrivateSignal (0x0x7f58d46a0c00) 0 empty
+
+Vtable for QFontDialog
+QFontDialog::_ZTV11QFontDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFontDialog)
+16 (int (*)(...))QFontDialog::metaObject
+24 (int (*)(...))QFontDialog::qt_metacast
+32 (int (*)(...))QFontDialog::qt_metacall
+40 (int (*)(...))QFontDialog::~QFontDialog
+48 (int (*)(...))QFontDialog::~QFontDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QFontDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QFontDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFontDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QFontDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QFontDialog)
+488 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD1Ev
+496 (int (*)(...))QFontDialog::_ZThn16_N11QFontDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QFontDialog
+ size=48 align=8
+ base size=48 base align=8
+QFontDialog (0x0x7f58d4404000) 0
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 16u)
+ QDialog (0x0x7f58d4404068) 0
+ primary-for QFontDialog (0x0x7f58d4404000)
+ QWidget (0x0x7f58d43f3460) 0
+ primary-for QDialog (0x0x7f58d4404068)
+ QObject (0x0x7f58d46a0b40) 0
+ primary-for QWidget (0x0x7f58d43f3460)
+ QPaintDevice (0x0x7f58d46a0ba0) 16
+ vptr=((& QFontDialog::_ZTV11QFontDialog) + 488u)
+
+Class QFormLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFormLayout::QPrivateSignal (0x0x7f58d46a0ea0) 0 empty
+
+Class QFormLayout::TakeRowResult
+ size=16 align=8
+ base size=16 base align=8
+QFormLayout::TakeRowResult (0x0x7f58d46a0f00) 0
+
+Vtable for QFormLayout
+QFormLayout::_ZTV11QFormLayout: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFormLayout)
+16 (int (*)(...))QFormLayout::metaObject
+24 (int (*)(...))QFormLayout::qt_metacast
+32 (int (*)(...))QFormLayout::qt_metacall
+40 (int (*)(...))QFormLayout::~QFormLayout
+48 (int (*)(...))QFormLayout::~QFormLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFormLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QFormLayout::addItem
+136 (int (*)(...))QFormLayout::expandingDirections
+144 (int (*)(...))QFormLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QFormLayout::setGeometry
+168 (int (*)(...))QFormLayout::itemAt
+176 (int (*)(...))QFormLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QFormLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QFormLayout::sizeHint
+232 (int (*)(...))QFormLayout::hasHeightForWidth
+240 (int (*)(...))QFormLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI11QFormLayout)
+264 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD1Ev
+272 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayoutD0Ev
+280 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout8sizeHintEv
+288 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout19expandingDirectionsEv
+312 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout17hasHeightForWidthEv
+344 (int (*)(...))QFormLayout::_ZThn16_NK11QFormLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QFormLayout::_ZThn16_N11QFormLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QFormLayout
+ size=32 align=8
+ base size=28 base align=8
+QFormLayout (0x0x7f58d44041a0) 0
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 16u)
+ QLayout (0x0x7f58d4433850) 0
+ primary-for QFormLayout (0x0x7f58d44041a0)
+ QObject (0x0x7f58d46a0de0) 0
+ primary-for QLayout (0x0x7f58d4433850)
+ QLayoutItem (0x0x7f58d46a0e40) 16
+ vptr=((& QFormLayout::_ZTV11QFormLayout) + 264u)
+
+Class QGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGesture::QPrivateSignal (0x0x7f58d447d480) 0 empty
+
+Vtable for QGesture
+QGesture::_ZTV8QGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QGesture)
+16 (int (*)(...))QGesture::metaObject
+24 (int (*)(...))QGesture::qt_metacast
+32 (int (*)(...))QGesture::qt_metacall
+40 (int (*)(...))QGesture::~QGesture
+48 (int (*)(...))QGesture::~QGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGesture
+ size=16 align=8
+ base size=16 base align=8
+QGesture (0x0x7f58d44043a8) 0
+ vptr=((& QGesture::_ZTV8QGesture) + 16u)
+ QObject (0x0x7f58d447d420) 0
+ primary-for QGesture (0x0x7f58d44043a8)
+
+Class QPanGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPanGesture::QPrivateSignal (0x0x7f58d447d540) 0 empty
+
+Vtable for QPanGesture
+QPanGesture::_ZTV11QPanGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QPanGesture)
+16 (int (*)(...))QPanGesture::metaObject
+24 (int (*)(...))QPanGesture::qt_metacast
+32 (int (*)(...))QPanGesture::qt_metacall
+40 (int (*)(...))QPanGesture::~QPanGesture
+48 (int (*)(...))QPanGesture::~QPanGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPanGesture
+ size=16 align=8
+ base size=16 base align=8
+QPanGesture (0x0x7f58d4404410) 0
+ vptr=((& QPanGesture::_ZTV11QPanGesture) + 16u)
+ QGesture (0x0x7f58d4404478) 0
+ primary-for QPanGesture (0x0x7f58d4404410)
+ QObject (0x0x7f58d447d4e0) 0
+ primary-for QGesture (0x0x7f58d4404478)
+
+Class QPinchGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPinchGesture::QPrivateSignal (0x0x7f58d447d600) 0 empty
+
+Vtable for QPinchGesture
+QPinchGesture::_ZTV13QPinchGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPinchGesture)
+16 (int (*)(...))QPinchGesture::metaObject
+24 (int (*)(...))QPinchGesture::qt_metacast
+32 (int (*)(...))QPinchGesture::qt_metacall
+40 (int (*)(...))QPinchGesture::~QPinchGesture
+48 (int (*)(...))QPinchGesture::~QPinchGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPinchGesture
+ size=16 align=8
+ base size=16 base align=8
+QPinchGesture (0x0x7f58d44044e0) 0
+ vptr=((& QPinchGesture::_ZTV13QPinchGesture) + 16u)
+ QGesture (0x0x7f58d4404548) 0
+ primary-for QPinchGesture (0x0x7f58d44044e0)
+ QObject (0x0x7f58d447d5a0) 0
+ primary-for QGesture (0x0x7f58d4404548)
+
+Class QSwipeGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSwipeGesture::QPrivateSignal (0x0x7f58d447d960) 0 empty
+
+Vtable for QSwipeGesture
+QSwipeGesture::_ZTV13QSwipeGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSwipeGesture)
+16 (int (*)(...))QSwipeGesture::metaObject
+24 (int (*)(...))QSwipeGesture::qt_metacast
+32 (int (*)(...))QSwipeGesture::qt_metacall
+40 (int (*)(...))QSwipeGesture::~QSwipeGesture
+48 (int (*)(...))QSwipeGesture::~QSwipeGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSwipeGesture
+ size=16 align=8
+ base size=16 base align=8
+QSwipeGesture (0x0x7f58d4404680) 0
+ vptr=((& QSwipeGesture::_ZTV13QSwipeGesture) + 16u)
+ QGesture (0x0x7f58d44046e8) 0
+ primary-for QSwipeGesture (0x0x7f58d4404680)
+ QObject (0x0x7f58d447d900) 0
+ primary-for QGesture (0x0x7f58d44046e8)
+
+Class QTapGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapGesture::QPrivateSignal (0x0x7f58d447da80) 0 empty
+
+Vtable for QTapGesture
+QTapGesture::_ZTV11QTapGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapGesture)
+16 (int (*)(...))QTapGesture::metaObject
+24 (int (*)(...))QTapGesture::qt_metacast
+32 (int (*)(...))QTapGesture::qt_metacall
+40 (int (*)(...))QTapGesture::~QTapGesture
+48 (int (*)(...))QTapGesture::~QTapGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapGesture (0x0x7f58d4404750) 0
+ vptr=((& QTapGesture::_ZTV11QTapGesture) + 16u)
+ QGesture (0x0x7f58d44047b8) 0
+ primary-for QTapGesture (0x0x7f58d4404750)
+ QObject (0x0x7f58d447da20) 0
+ primary-for QGesture (0x0x7f58d44047b8)
+
+Class QTapAndHoldGesture::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapAndHoldGesture::QPrivateSignal (0x0x7f58d447db40) 0 empty
+
+Vtable for QTapAndHoldGesture
+QTapAndHoldGesture::_ZTV18QTapAndHoldGesture: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QTapAndHoldGesture)
+16 (int (*)(...))QTapAndHoldGesture::metaObject
+24 (int (*)(...))QTapAndHoldGesture::qt_metacast
+32 (int (*)(...))QTapAndHoldGesture::qt_metacall
+40 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+48 (int (*)(...))QTapAndHoldGesture::~QTapAndHoldGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapAndHoldGesture
+ size=16 align=8
+ base size=16 base align=8
+QTapAndHoldGesture (0x0x7f58d4404820) 0
+ vptr=((& QTapAndHoldGesture::_ZTV18QTapAndHoldGesture) + 16u)
+ QGesture (0x0x7f58d4404888) 0
+ primary-for QTapAndHoldGesture (0x0x7f58d4404820)
+ QObject (0x0x7f58d447dae0) 0
+ primary-for QGesture (0x0x7f58d4404888)
+
+Vtable for QGestureEvent
+QGestureEvent::_ZTV13QGestureEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGestureEvent)
+16 (int (*)(...))QGestureEvent::~QGestureEvent
+24 (int (*)(...))QGestureEvent::~QGestureEvent
+
+Class QGestureEvent
+ size=56 align=8
+ base size=56 base align=8
+QGestureEvent (0x0x7f58d44048f0) 0
+ vptr=((& QGestureEvent::_ZTV13QGestureEvent) + 16u)
+ QEvent (0x0x7f58d447dba0) 0
+ primary-for QGestureEvent (0x0x7f58d44048f0)
+
+Vtable for QGestureRecognizer
+QGestureRecognizer::_ZTV18QGestureRecognizer: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGestureRecognizer)
+16 0u
+24 0u
+32 (int (*)(...))QGestureRecognizer::create
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGestureRecognizer::reset
+
+Class QGestureRecognizer
+ size=8 align=8
+ base size=8 base align=8
+QGestureRecognizer (0x0x7f58e5ee3660) 0 nearly-empty
+ vptr=((& QGestureRecognizer::_ZTV18QGestureRecognizer) + 16u)
+
+Vtable for QGraphicsItem
+QGraphicsItem::_ZTV13QGraphicsItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItem::isObscuredBy
+88 (int (*)(...))QGraphicsItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItem (0x0x7f58e5f59660) 0
+ vptr=((& QGraphicsItem::_ZTV13QGraphicsItem) + 16u)
+
+Class QGraphicsObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsObject::QPrivateSignal (0x0x7f58de813240) 0 empty
+
+Vtable for QGraphicsObject
+QGraphicsObject::_ZTV15QGraphicsObject: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsObject)
+16 (int (*)(...))QGraphicsObject::metaObject
+24 (int (*)(...))QGraphicsObject::qt_metacast
+32 (int (*)(...))QGraphicsObject::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))-16
+120 (int (*)(...))(& _ZTI15QGraphicsObject)
+128 0u
+136 0u
+144 (int (*)(...))QGraphicsItem::advance
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))QGraphicsItem::shape
+168 (int (*)(...))QGraphicsItem::contains
+176 (int (*)(...))QGraphicsItem::collidesWithItem
+184 (int (*)(...))QGraphicsItem::collidesWithPath
+192 (int (*)(...))QGraphicsItem::isObscuredBy
+200 (int (*)(...))QGraphicsItem::opaqueArea
+208 (int (*)(...))__cxa_pure_virtual
+216 (int (*)(...))QGraphicsItem::type
+224 (int (*)(...))QGraphicsItem::sceneEventFilter
+232 (int (*)(...))QGraphicsItem::sceneEvent
+240 (int (*)(...))QGraphicsItem::contextMenuEvent
+248 (int (*)(...))QGraphicsItem::dragEnterEvent
+256 (int (*)(...))QGraphicsItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsItem::dragMoveEvent
+272 (int (*)(...))QGraphicsItem::dropEvent
+280 (int (*)(...))QGraphicsItem::focusInEvent
+288 (int (*)(...))QGraphicsItem::focusOutEvent
+296 (int (*)(...))QGraphicsItem::hoverEnterEvent
+304 (int (*)(...))QGraphicsItem::hoverMoveEvent
+312 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+320 (int (*)(...))QGraphicsItem::keyPressEvent
+328 (int (*)(...))QGraphicsItem::keyReleaseEvent
+336 (int (*)(...))QGraphicsItem::mousePressEvent
+344 (int (*)(...))QGraphicsItem::mouseMoveEvent
+352 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+360 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+368 (int (*)(...))QGraphicsItem::wheelEvent
+376 (int (*)(...))QGraphicsItem::inputMethodEvent
+384 (int (*)(...))QGraphicsItem::inputMethodQuery
+392 (int (*)(...))QGraphicsItem::itemChange
+400 (int (*)(...))QGraphicsItem::supportsExtension
+408 (int (*)(...))QGraphicsItem::setExtension
+416 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsObject
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsObject (0x0x7f58e12c8d20) 0
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 16u)
+ QObject (0x0x7f58e03b9de0) 0
+ primary-for QGraphicsObject (0x0x7f58e12c8d20)
+ QGraphicsItem (0x0x7f58de8131e0) 16
+ vptr=((& QGraphicsObject::_ZTV15QGraphicsObject) + 128u)
+
+Vtable for QAbstractGraphicsShapeItem
+QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractGraphicsShapeItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QAbstractGraphicsShapeItem::isObscuredBy
+88 (int (*)(...))QAbstractGraphicsShapeItem::opaqueArea
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))QGraphicsItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QAbstractGraphicsShapeItem
+ size=16 align=8
+ base size=16 base align=8
+QAbstractGraphicsShapeItem (0x0x7f58e067ea28) 0
+ vptr=((& QAbstractGraphicsShapeItem::_ZTV26QAbstractGraphicsShapeItem) + 16u)
+ QGraphicsItem (0x0x7f58de813540) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f58e067ea28)
+
+Vtable for QGraphicsPathItem
+QGraphicsPathItem::_ZTV17QGraphicsPathItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsPathItem)
+16 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+24 (int (*)(...))QGraphicsPathItem::~QGraphicsPathItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPathItem::boundingRect
+48 (int (*)(...))QGraphicsPathItem::shape
+56 (int (*)(...))QGraphicsPathItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPathItem::isObscuredBy
+88 (int (*)(...))QGraphicsPathItem::opaqueArea
+96 (int (*)(...))QGraphicsPathItem::paint
+104 (int (*)(...))QGraphicsPathItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPathItem::supportsExtension
+296 (int (*)(...))QGraphicsPathItem::setExtension
+304 (int (*)(...))QGraphicsPathItem::extension
+
+Class QGraphicsPathItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPathItem (0x0x7f58e067edd0) 0
+ vptr=((& QGraphicsPathItem::_ZTV17QGraphicsPathItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f58e067ee38) 0
+ primary-for QGraphicsPathItem (0x0x7f58e067edd0)
+ QGraphicsItem (0x0x7f58de8135a0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f58e067ee38)
+
+Vtable for QGraphicsRectItem
+QGraphicsRectItem::_ZTV17QGraphicsRectItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRectItem)
+16 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+24 (int (*)(...))QGraphicsRectItem::~QGraphicsRectItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsRectItem::boundingRect
+48 (int (*)(...))QGraphicsRectItem::shape
+56 (int (*)(...))QGraphicsRectItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsRectItem::isObscuredBy
+88 (int (*)(...))QGraphicsRectItem::opaqueArea
+96 (int (*)(...))QGraphicsRectItem::paint
+104 (int (*)(...))QGraphicsRectItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsRectItem::supportsExtension
+296 (int (*)(...))QGraphicsRectItem::setExtension
+304 (int (*)(...))QGraphicsRectItem::extension
+
+Class QGraphicsRectItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRectItem (0x0x7f58dfefaf70) 0
+ vptr=((& QGraphicsRectItem::_ZTV17QGraphicsRectItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f58df6aaf08) 0
+ primary-for QGraphicsRectItem (0x0x7f58dfefaf70)
+ QGraphicsItem (0x0x7f58de43aba0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f58df6aaf08)
+
+Vtable for QGraphicsEllipseItem
+QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsEllipseItem)
+16 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+24 (int (*)(...))QGraphicsEllipseItem::~QGraphicsEllipseItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsEllipseItem::boundingRect
+48 (int (*)(...))QGraphicsEllipseItem::shape
+56 (int (*)(...))QGraphicsEllipseItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsEllipseItem::isObscuredBy
+88 (int (*)(...))QGraphicsEllipseItem::opaqueArea
+96 (int (*)(...))QGraphicsEllipseItem::paint
+104 (int (*)(...))QGraphicsEllipseItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsEllipseItem::supportsExtension
+296 (int (*)(...))QGraphicsEllipseItem::setExtension
+304 (int (*)(...))QGraphicsEllipseItem::extension
+
+Class QGraphicsEllipseItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEllipseItem (0x0x7f58df6aaf70) 0
+ vptr=((& QGraphicsEllipseItem::_ZTV20QGraphicsEllipseItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f58df6aa000) 0
+ primary-for QGraphicsEllipseItem (0x0x7f58df6aaf70)
+ QGraphicsItem (0x0x7f58de43ac00) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f58df6aa000)
+
+Vtable for QGraphicsPolygonItem
+QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsPolygonItem)
+16 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+24 (int (*)(...))QGraphicsPolygonItem::~QGraphicsPolygonItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPolygonItem::boundingRect
+48 (int (*)(...))QGraphicsPolygonItem::shape
+56 (int (*)(...))QGraphicsPolygonItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPolygonItem::isObscuredBy
+88 (int (*)(...))QGraphicsPolygonItem::opaqueArea
+96 (int (*)(...))QGraphicsPolygonItem::paint
+104 (int (*)(...))QGraphicsPolygonItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPolygonItem::supportsExtension
+296 (int (*)(...))QGraphicsPolygonItem::setExtension
+304 (int (*)(...))QGraphicsPolygonItem::extension
+
+Class QGraphicsPolygonItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPolygonItem (0x0x7f58df6aa068) 0
+ vptr=((& QGraphicsPolygonItem::_ZTV20QGraphicsPolygonItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f58df6aaea0) 0
+ primary-for QGraphicsPolygonItem (0x0x7f58df6aa068)
+ QGraphicsItem (0x0x7f58de094540) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f58df6aaea0)
+
+Vtable for QGraphicsLineItem
+QGraphicsLineItem::_ZTV17QGraphicsLineItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsLineItem)
+16 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+24 (int (*)(...))QGraphicsLineItem::~QGraphicsLineItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsLineItem::boundingRect
+48 (int (*)(...))QGraphicsLineItem::shape
+56 (int (*)(...))QGraphicsLineItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsLineItem::isObscuredBy
+88 (int (*)(...))QGraphicsLineItem::opaqueArea
+96 (int (*)(...))QGraphicsLineItem::paint
+104 (int (*)(...))QGraphicsLineItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsLineItem::supportsExtension
+296 (int (*)(...))QGraphicsLineItem::setExtension
+304 (int (*)(...))QGraphicsLineItem::extension
+
+Class QGraphicsLineItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLineItem (0x0x7f58ded1c000) 0
+ vptr=((& QGraphicsLineItem::_ZTV17QGraphicsLineItem) + 16u)
+ QGraphicsItem (0x0x7f58de0945a0) 0
+ primary-for QGraphicsLineItem (0x0x7f58ded1c000)
+
+Vtable for QGraphicsPixmapItem
+QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsPixmapItem)
+16 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+24 (int (*)(...))QGraphicsPixmapItem::~QGraphicsPixmapItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsPixmapItem::boundingRect
+48 (int (*)(...))QGraphicsPixmapItem::shape
+56 (int (*)(...))QGraphicsPixmapItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsPixmapItem::isObscuredBy
+88 (int (*)(...))QGraphicsPixmapItem::opaqueArea
+96 (int (*)(...))QGraphicsPixmapItem::paint
+104 (int (*)(...))QGraphicsPixmapItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsPixmapItem::supportsExtension
+296 (int (*)(...))QGraphicsPixmapItem::setExtension
+304 (int (*)(...))QGraphicsPixmapItem::extension
+
+Class QGraphicsPixmapItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsPixmapItem (0x0x7f58ded1c068) 0
+ vptr=((& QGraphicsPixmapItem::_ZTV19QGraphicsPixmapItem) + 16u)
+ QGraphicsItem (0x0x7f58de094c60) 0
+ primary-for QGraphicsPixmapItem (0x0x7f58ded1c068)
+
+Class QGraphicsTextItem::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTextItem::QPrivateSignal (0x0x7f58de094e40) 0 empty
+
+Vtable for QGraphicsTextItem
+QGraphicsTextItem::_ZTV17QGraphicsTextItem: 82u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+16 (int (*)(...))QGraphicsTextItem::metaObject
+24 (int (*)(...))QGraphicsTextItem::qt_metacast
+32 (int (*)(...))QGraphicsTextItem::qt_metacall
+40 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+48 (int (*)(...))QGraphicsTextItem::~QGraphicsTextItem
+56 (int (*)(...))QGraphicsObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsTextItem::boundingRect
+120 (int (*)(...))QGraphicsTextItem::shape
+128 (int (*)(...))QGraphicsTextItem::contains
+136 (int (*)(...))QGraphicsTextItem::paint
+144 (int (*)(...))QGraphicsTextItem::isObscuredBy
+152 (int (*)(...))QGraphicsTextItem::opaqueArea
+160 (int (*)(...))QGraphicsTextItem::type
+168 (int (*)(...))QGraphicsTextItem::sceneEvent
+176 (int (*)(...))QGraphicsTextItem::mousePressEvent
+184 (int (*)(...))QGraphicsTextItem::mouseMoveEvent
+192 (int (*)(...))QGraphicsTextItem::mouseReleaseEvent
+200 (int (*)(...))QGraphicsTextItem::mouseDoubleClickEvent
+208 (int (*)(...))QGraphicsTextItem::contextMenuEvent
+216 (int (*)(...))QGraphicsTextItem::keyPressEvent
+224 (int (*)(...))QGraphicsTextItem::keyReleaseEvent
+232 (int (*)(...))QGraphicsTextItem::focusInEvent
+240 (int (*)(...))QGraphicsTextItem::focusOutEvent
+248 (int (*)(...))QGraphicsTextItem::dragEnterEvent
+256 (int (*)(...))QGraphicsTextItem::dragLeaveEvent
+264 (int (*)(...))QGraphicsTextItem::dragMoveEvent
+272 (int (*)(...))QGraphicsTextItem::dropEvent
+280 (int (*)(...))QGraphicsTextItem::inputMethodEvent
+288 (int (*)(...))QGraphicsTextItem::hoverEnterEvent
+296 (int (*)(...))QGraphicsTextItem::hoverMoveEvent
+304 (int (*)(...))QGraphicsTextItem::hoverLeaveEvent
+312 (int (*)(...))QGraphicsTextItem::inputMethodQuery
+320 (int (*)(...))QGraphicsTextItem::supportsExtension
+328 (int (*)(...))QGraphicsTextItem::setExtension
+336 (int (*)(...))QGraphicsTextItem::extension
+344 (int (*)(...))-16
+352 (int (*)(...))(& _ZTI17QGraphicsTextItem)
+360 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD1Ev
+368 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItemD0Ev
+376 (int (*)(...))QGraphicsItem::advance
+384 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12boundingRectEv
+392 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem5shapeEv
+400 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem8containsERK7QPointF
+408 (int (*)(...))QGraphicsItem::collidesWithItem
+416 (int (*)(...))QGraphicsItem::collidesWithPath
+424 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem
+432 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem10opaqueAreaEv
+440 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+448 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem4typeEv
+456 (int (*)(...))QGraphicsItem::sceneEventFilter
+464 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem10sceneEventEP6QEvent
+472 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+480 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent
+488 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+496 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent
+504 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent
+512 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12focusInEventEP11QFocusEvent
+520 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent
+528 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent
+536 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent
+544 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+552 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent
+560 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent
+568 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent
+576 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent
+584 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+592 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+600 (int (*)(...))QGraphicsItem::wheelEvent
+608 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent
+616 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE
+624 (int (*)(...))QGraphicsItem::itemChange
+632 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE
+640 (int (*)(...))QGraphicsTextItem::_ZThn16_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant
+648 (int (*)(...))QGraphicsTextItem::_ZThn16_NK17QGraphicsTextItem9extensionERK8QVariant
+
+Class QGraphicsTextItem
+ size=40 align=8
+ base size=40 base align=8
+QGraphicsTextItem (0x0x7f58ded1c0d0) 0
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 16u)
+ QGraphicsObject (0x0x7f58e12fd460) 0
+ primary-for QGraphicsTextItem (0x0x7f58ded1c0d0)
+ QObject (0x0x7f58de094cc0) 0
+ primary-for QGraphicsObject (0x0x7f58e12fd460)
+ QGraphicsItem (0x0x7f58de094d80) 16
+ vptr=((& QGraphicsTextItem::_ZTV17QGraphicsTextItem) + 360u)
+
+Vtable for QGraphicsSimpleTextItem
+QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSimpleTextItem)
+16 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+24 (int (*)(...))QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsSimpleTextItem::boundingRect
+48 (int (*)(...))QGraphicsSimpleTextItem::shape
+56 (int (*)(...))QGraphicsSimpleTextItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsSimpleTextItem::isObscuredBy
+88 (int (*)(...))QGraphicsSimpleTextItem::opaqueArea
+96 (int (*)(...))QGraphicsSimpleTextItem::paint
+104 (int (*)(...))QGraphicsSimpleTextItem::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsSimpleTextItem::supportsExtension
+296 (int (*)(...))QGraphicsSimpleTextItem::setExtension
+304 (int (*)(...))QGraphicsSimpleTextItem::extension
+
+Class QGraphicsSimpleTextItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsSimpleTextItem (0x0x7f58debd4bc8) 0
+ vptr=((& QGraphicsSimpleTextItem::_ZTV23QGraphicsSimpleTextItem) + 16u)
+ QAbstractGraphicsShapeItem (0x0x7f58debd4c30) 0
+ primary-for QGraphicsSimpleTextItem (0x0x7f58debd4bc8)
+ QGraphicsItem (0x0x7f58de0b89c0) 0
+ primary-for QAbstractGraphicsShapeItem (0x0x7f58debd4c30)
+
+Vtable for QGraphicsItemGroup
+QGraphicsItemGroup::_ZTV18QGraphicsItemGroup: 39u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsItemGroup)
+16 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+24 (int (*)(...))QGraphicsItemGroup::~QGraphicsItemGroup
+32 (int (*)(...))QGraphicsItem::advance
+40 (int (*)(...))QGraphicsItemGroup::boundingRect
+48 (int (*)(...))QGraphicsItem::shape
+56 (int (*)(...))QGraphicsItem::contains
+64 (int (*)(...))QGraphicsItem::collidesWithItem
+72 (int (*)(...))QGraphicsItem::collidesWithPath
+80 (int (*)(...))QGraphicsItemGroup::isObscuredBy
+88 (int (*)(...))QGraphicsItemGroup::opaqueArea
+96 (int (*)(...))QGraphicsItemGroup::paint
+104 (int (*)(...))QGraphicsItemGroup::type
+112 (int (*)(...))QGraphicsItem::sceneEventFilter
+120 (int (*)(...))QGraphicsItem::sceneEvent
+128 (int (*)(...))QGraphicsItem::contextMenuEvent
+136 (int (*)(...))QGraphicsItem::dragEnterEvent
+144 (int (*)(...))QGraphicsItem::dragLeaveEvent
+152 (int (*)(...))QGraphicsItem::dragMoveEvent
+160 (int (*)(...))QGraphicsItem::dropEvent
+168 (int (*)(...))QGraphicsItem::focusInEvent
+176 (int (*)(...))QGraphicsItem::focusOutEvent
+184 (int (*)(...))QGraphicsItem::hoverEnterEvent
+192 (int (*)(...))QGraphicsItem::hoverMoveEvent
+200 (int (*)(...))QGraphicsItem::hoverLeaveEvent
+208 (int (*)(...))QGraphicsItem::keyPressEvent
+216 (int (*)(...))QGraphicsItem::keyReleaseEvent
+224 (int (*)(...))QGraphicsItem::mousePressEvent
+232 (int (*)(...))QGraphicsItem::mouseMoveEvent
+240 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+248 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+256 (int (*)(...))QGraphicsItem::wheelEvent
+264 (int (*)(...))QGraphicsItem::inputMethodEvent
+272 (int (*)(...))QGraphicsItem::inputMethodQuery
+280 (int (*)(...))QGraphicsItem::itemChange
+288 (int (*)(...))QGraphicsItem::supportsExtension
+296 (int (*)(...))QGraphicsItem::setExtension
+304 (int (*)(...))QGraphicsItem::extension
+
+Class QGraphicsItemGroup
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsItemGroup (0x0x7f58de415f08) 0
+ vptr=((& QGraphicsItemGroup::_ZTV18QGraphicsItemGroup) + 16u)
+ QGraphicsItem (0x0x7f58de0e20c0) 0
+ primary-for QGraphicsItemGroup (0x0x7f58de415f08)
+
+Vtable for QGraphicsLayoutItem
+QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsLayoutItem)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayoutItem::getContentsMargins
+48 (int (*)(...))QGraphicsLayoutItem::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayoutItem
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayoutItem (0x0x7f58de1fcc60) 0
+ vptr=((& QGraphicsLayoutItem::_ZTV19QGraphicsLayoutItem) + 16u)
+
+Vtable for QGraphicsLayout
+QGraphicsLayout::_ZTV15QGraphicsLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsLayout)
+16 0u
+24 0u
+32 (int (*)(...))QGraphicsLayoutItem::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))QGraphicsLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLayout (0x0x7f58de415f70) 0
+ vptr=((& QGraphicsLayout::_ZTV15QGraphicsLayout) + 16u)
+ QGraphicsLayoutItem (0x0x7f58ddefd7e0) 0
+ primary-for QGraphicsLayout (0x0x7f58de415f70)
+
+Class QGraphicsAnchor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsAnchor::QPrivateSignal (0x0x7f58ddefd900) 0 empty
+
+Vtable for QGraphicsAnchor
+QGraphicsAnchor::_ZTV15QGraphicsAnchor: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsAnchor)
+16 (int (*)(...))QGraphicsAnchor::metaObject
+24 (int (*)(...))QGraphicsAnchor::qt_metacast
+32 (int (*)(...))QGraphicsAnchor::qt_metacall
+40 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+48 (int (*)(...))QGraphicsAnchor::~QGraphicsAnchor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGraphicsAnchor
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchor (0x0x7f58de097478) 0
+ vptr=((& QGraphicsAnchor::_ZTV15QGraphicsAnchor) + 16u)
+ QObject (0x0x7f58ddefd8a0) 0
+ primary-for QGraphicsAnchor (0x0x7f58de097478)
+
+Vtable for QGraphicsAnchorLayout
+QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsAnchorLayout)
+16 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+24 (int (*)(...))QGraphicsAnchorLayout::~QGraphicsAnchorLayout
+32 (int (*)(...))QGraphicsAnchorLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsAnchorLayout::sizeHint
+64 (int (*)(...))QGraphicsAnchorLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsAnchorLayout::count
+88 (int (*)(...))QGraphicsAnchorLayout::itemAt
+96 (int (*)(...))QGraphicsAnchorLayout::removeAt
+
+Class QGraphicsAnchorLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsAnchorLayout (0x0x7f58de0974e0) 0
+ vptr=((& QGraphicsAnchorLayout::_ZTV21QGraphicsAnchorLayout) + 16u)
+ QGraphicsLayout (0x0x7f58de0c4478) 0
+ primary-for QGraphicsAnchorLayout (0x0x7f58de0974e0)
+ QGraphicsLayoutItem (0x0x7f58ddefd960) 0
+ primary-for QGraphicsLayout (0x0x7f58de0c4478)
+
+Class QGraphicsEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsEffect::QPrivateSignal (0x0x7f58ddefda20) 0 empty
+
+Vtable for QGraphicsEffect
+QGraphicsEffect::_ZTV15QGraphicsEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsEffect)
+16 (int (*)(...))QGraphicsEffect::metaObject
+24 (int (*)(...))QGraphicsEffect::qt_metacast
+32 (int (*)(...))QGraphicsEffect::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsEffect (0x0x7f58de0c44e0) 0
+ vptr=((& QGraphicsEffect::_ZTV15QGraphicsEffect) + 16u)
+ QObject (0x0x7f58ddefd9c0) 0
+ primary-for QGraphicsEffect (0x0x7f58de0c44e0)
+
+Class QGraphicsColorizeEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsColorizeEffect::QPrivateSignal (0x0x7f58ddefdcc0) 0 empty
+
+Vtable for QGraphicsColorizeEffect
+QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsColorizeEffect)
+16 (int (*)(...))QGraphicsColorizeEffect::metaObject
+24 (int (*)(...))QGraphicsColorizeEffect::qt_metacast
+32 (int (*)(...))QGraphicsColorizeEffect::qt_metacall
+40 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+48 (int (*)(...))QGraphicsColorizeEffect::~QGraphicsColorizeEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsColorizeEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsColorizeEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsColorizeEffect (0x0x7f58de0de478) 0
+ vptr=((& QGraphicsColorizeEffect::_ZTV23QGraphicsColorizeEffect) + 16u)
+ QGraphicsEffect (0x0x7f58de0de4e0) 0
+ primary-for QGraphicsColorizeEffect (0x0x7f58de0de478)
+ QObject (0x0x7f58ddefdc60) 0
+ primary-for QGraphicsEffect (0x0x7f58de0de4e0)
+
+Class QGraphicsBlurEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsBlurEffect::QPrivateSignal (0x0x7f58ddc79de0) 0 empty
+
+Vtable for QGraphicsBlurEffect
+QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsBlurEffect)
+16 (int (*)(...))QGraphicsBlurEffect::metaObject
+24 (int (*)(...))QGraphicsBlurEffect::qt_metacast
+32 (int (*)(...))QGraphicsBlurEffect::qt_metacall
+40 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+48 (int (*)(...))QGraphicsBlurEffect::~QGraphicsBlurEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsBlurEffect::boundingRectFor
+120 (int (*)(...))QGraphicsBlurEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsBlurEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsBlurEffect (0x0x7f58de0de958) 0
+ vptr=((& QGraphicsBlurEffect::_ZTV19QGraphicsBlurEffect) + 16u)
+ QGraphicsEffect (0x0x7f58de0de9c0) 0
+ primary-for QGraphicsBlurEffect (0x0x7f58de0de958)
+ QObject (0x0x7f58ddefdd20) 0
+ primary-for QGraphicsEffect (0x0x7f58de0de9c0)
+
+Class QGraphicsDropShadowEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsDropShadowEffect::QPrivateSignal (0x0x7f58dde01300) 0 empty
+
+Vtable for QGraphicsDropShadowEffect
+QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsDropShadowEffect)
+16 (int (*)(...))QGraphicsDropShadowEffect::metaObject
+24 (int (*)(...))QGraphicsDropShadowEffect::qt_metacast
+32 (int (*)(...))QGraphicsDropShadowEffect::qt_metacall
+40 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+48 (int (*)(...))QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsDropShadowEffect::boundingRectFor
+120 (int (*)(...))QGraphicsDropShadowEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsDropShadowEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsDropShadowEffect (0x0x7f58ddebc6e8) 0
+ vptr=((& QGraphicsDropShadowEffect::_ZTV25QGraphicsDropShadowEffect) + 16u)
+ QGraphicsEffect (0x0x7f58ddebc750) 0
+ primary-for QGraphicsDropShadowEffect (0x0x7f58ddebc6e8)
+ QObject (0x0x7f58dde012a0) 0
+ primary-for QGraphicsEffect (0x0x7f58ddebc750)
+
+Class QGraphicsOpacityEffect::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsOpacityEffect::QPrivateSignal (0x0x7f58dd8d53c0) 0 empty
+
+Vtable for QGraphicsOpacityEffect
+QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsOpacityEffect)
+16 (int (*)(...))QGraphicsOpacityEffect::metaObject
+24 (int (*)(...))QGraphicsOpacityEffect::qt_metacast
+32 (int (*)(...))QGraphicsOpacityEffect::qt_metacall
+40 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+48 (int (*)(...))QGraphicsOpacityEffect::~QGraphicsOpacityEffect
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsEffect::boundingRectFor
+120 (int (*)(...))QGraphicsOpacityEffect::draw
+128 (int (*)(...))QGraphicsEffect::sourceChanged
+
+Class QGraphicsOpacityEffect
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsOpacityEffect (0x0x7f58ddebc7b8) 0
+ vptr=((& QGraphicsOpacityEffect::_ZTV22QGraphicsOpacityEffect) + 16u)
+ QGraphicsEffect (0x0x7f58ddebc820) 0
+ primary-for QGraphicsOpacityEffect (0x0x7f58ddebc7b8)
+ QObject (0x0x7f58dd8d5360) 0
+ primary-for QGraphicsEffect (0x0x7f58ddebc820)
+
+Vtable for QGraphicsGridLayout
+QGraphicsGridLayout::_ZTV19QGraphicsGridLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsGridLayout)
+16 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+24 (int (*)(...))QGraphicsGridLayout::~QGraphicsGridLayout
+32 (int (*)(...))QGraphicsGridLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsGridLayout::sizeHint
+64 (int (*)(...))QGraphicsGridLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsGridLayout::count
+88 (int (*)(...))QGraphicsGridLayout::itemAt
+96 (int (*)(...))QGraphicsGridLayout::removeAt
+
+Class QGraphicsGridLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsGridLayout (0x0x7f58ddebc888) 0
+ vptr=((& QGraphicsGridLayout::_ZTV19QGraphicsGridLayout) + 16u)
+ QGraphicsLayout (0x0x7f58ddebc8f0) 0
+ primary-for QGraphicsGridLayout (0x0x7f58ddebc888)
+ QGraphicsLayoutItem (0x0x7f58dd8d5480) 0
+ primary-for QGraphicsLayout (0x0x7f58ddebc8f0)
+
+Class QGraphicsItemAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsItemAnimation::QPrivateSignal (0x0x7f58dd8d56c0) 0 empty
+
+Vtable for QGraphicsItemAnimation
+QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QGraphicsItemAnimation)
+16 (int (*)(...))QGraphicsItemAnimation::metaObject
+24 (int (*)(...))QGraphicsItemAnimation::qt_metacast
+32 (int (*)(...))QGraphicsItemAnimation::qt_metacall
+40 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+48 (int (*)(...))QGraphicsItemAnimation::~QGraphicsItemAnimation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsItemAnimation::beforeAnimationStep
+120 (int (*)(...))QGraphicsItemAnimation::afterAnimationStep
+
+Class QGraphicsItemAnimation
+ size=24 align=8
+ base size=24 base align=8
+QGraphicsItemAnimation (0x0x7f58ddebc9c0) 0
+ vptr=((& QGraphicsItemAnimation::_ZTV22QGraphicsItemAnimation) + 16u)
+ QObject (0x0x7f58dd8d5660) 0
+ primary-for QGraphicsItemAnimation (0x0x7f58ddebc9c0)
+
+Vtable for QGraphicsLinearLayout
+QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout: 13u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QGraphicsLinearLayout)
+16 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+24 (int (*)(...))QGraphicsLinearLayout::~QGraphicsLinearLayout
+32 (int (*)(...))QGraphicsLinearLayout::setGeometry
+40 (int (*)(...))QGraphicsLayout::getContentsMargins
+48 (int (*)(...))QGraphicsLayout::updateGeometry
+56 (int (*)(...))QGraphicsLinearLayout::sizeHint
+64 (int (*)(...))QGraphicsLinearLayout::invalidate
+72 (int (*)(...))QGraphicsLayout::widgetEvent
+80 (int (*)(...))QGraphicsLinearLayout::count
+88 (int (*)(...))QGraphicsLinearLayout::itemAt
+96 (int (*)(...))QGraphicsLinearLayout::removeAt
+
+Class QGraphicsLinearLayout
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsLinearLayout (0x0x7f58ddebca28) 0
+ vptr=((& QGraphicsLinearLayout::_ZTV21QGraphicsLinearLayout) + 16u)
+ QGraphicsLayout (0x0x7f58ddebca90) 0
+ primary-for QGraphicsLinearLayout (0x0x7f58ddebca28)
+ QGraphicsLayoutItem (0x0x7f58dd8fc240) 0
+ primary-for QGraphicsLayout (0x0x7f58ddebca90)
+
+Class QGraphicsWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsWidget::QPrivateSignal (0x0x7f58dd8fccc0) 0 empty
+
+Vtable for QGraphicsWidget
+QGraphicsWidget::_ZTV15QGraphicsWidget: 92u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QGraphicsWidget)
+16 (int (*)(...))QGraphicsWidget::metaObject
+24 (int (*)(...))QGraphicsWidget::qt_metacast
+32 (int (*)(...))QGraphicsWidget::qt_metacall
+40 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+48 (int (*)(...))QGraphicsWidget::~QGraphicsWidget
+56 (int (*)(...))QGraphicsWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsWidget::type
+136 (int (*)(...))QGraphicsWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsWidget::focusInEvent
+256 (int (*)(...))QGraphicsWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsWidget::focusOutEvent
+272 (int (*)(...))QGraphicsWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsWidget::resizeEvent
+304 (int (*)(...))QGraphicsWidget::showEvent
+312 (int (*)(...))QGraphicsWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))-16
+368 (int (*)(...))(& _ZTI15QGraphicsWidget)
+376 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD1Ev
+384 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidgetD0Ev
+392 (int (*)(...))QGraphicsItem::advance
+400 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+408 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+416 (int (*)(...))QGraphicsItem::contains
+424 (int (*)(...))QGraphicsItem::collidesWithItem
+432 (int (*)(...))QGraphicsItem::collidesWithPath
+440 (int (*)(...))QGraphicsItem::isObscuredBy
+448 (int (*)(...))QGraphicsItem::opaqueArea
+456 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+464 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget4typeEv
+472 (int (*)(...))QGraphicsItem::sceneEventFilter
+480 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+488 (int (*)(...))QGraphicsItem::contextMenuEvent
+496 (int (*)(...))QGraphicsItem::dragEnterEvent
+504 (int (*)(...))QGraphicsItem::dragLeaveEvent
+512 (int (*)(...))QGraphicsItem::dragMoveEvent
+520 (int (*)(...))QGraphicsItem::dropEvent
+528 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget12focusInEventEP11QFocusEvent
+536 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget13focusOutEventEP11QFocusEvent
+544 (int (*)(...))QGraphicsItem::hoverEnterEvent
+552 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+560 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+568 (int (*)(...))QGraphicsItem::keyPressEvent
+576 (int (*)(...))QGraphicsItem::keyReleaseEvent
+584 (int (*)(...))QGraphicsItem::mousePressEvent
+592 (int (*)(...))QGraphicsItem::mouseMoveEvent
+600 (int (*)(...))QGraphicsItem::mouseReleaseEvent
+608 (int (*)(...))QGraphicsItem::mouseDoubleClickEvent
+616 (int (*)(...))QGraphicsItem::wheelEvent
+624 (int (*)(...))QGraphicsItem::inputMethodEvent
+632 (int (*)(...))QGraphicsItem::inputMethodQuery
+640 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+648 (int (*)(...))QGraphicsItem::supportsExtension
+656 (int (*)(...))QGraphicsItem::setExtension
+664 (int (*)(...))QGraphicsItem::extension
+672 (int (*)(...))-32
+680 (int (*)(...))(& _ZTI15QGraphicsWidget)
+688 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD1Ev
+696 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidgetD0Ev
+704 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget11setGeometryERK6QRectF
+712 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+720 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+728 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsWidget (0x0x7f58e0e9f540) 0
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 16u)
+ QGraphicsObject (0x0x7f58e0e9f5b0) 0
+ primary-for QGraphicsWidget (0x0x7f58e0e9f540)
+ QObject (0x0x7f58dd8fc2a0) 0
+ primary-for QGraphicsObject (0x0x7f58e0e9f5b0)
+ QGraphicsItem (0x0x7f58dd8fcba0) 16
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 376u)
+ QGraphicsLayoutItem (0x0x7f58dd8fcc00) 32
+ vptr=((& QGraphicsWidget::_ZTV15QGraphicsWidget) + 688u)
+
+Class QGraphicsProxyWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsProxyWidget::QPrivateSignal (0x0x7f58dd91eea0) 0 empty
+
+Vtable for QGraphicsProxyWidget
+QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget: 107u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+16 (int (*)(...))QGraphicsProxyWidget::metaObject
+24 (int (*)(...))QGraphicsProxyWidget::qt_metacast
+32 (int (*)(...))QGraphicsProxyWidget::qt_metacall
+40 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+48 (int (*)(...))QGraphicsProxyWidget::~QGraphicsProxyWidget
+56 (int (*)(...))QGraphicsProxyWidget::event
+64 (int (*)(...))QGraphicsProxyWidget::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsProxyWidget::setGeometry
+120 (int (*)(...))QGraphicsWidget::getContentsMargins
+128 (int (*)(...))QGraphicsProxyWidget::type
+136 (int (*)(...))QGraphicsProxyWidget::paint
+144 (int (*)(...))QGraphicsWidget::paintWindowFrame
+152 (int (*)(...))QGraphicsWidget::boundingRect
+160 (int (*)(...))QGraphicsWidget::shape
+168 (int (*)(...))QGraphicsWidget::initStyleOption
+176 (int (*)(...))QGraphicsProxyWidget::sizeHint
+184 (int (*)(...))QGraphicsWidget::updateGeometry
+192 (int (*)(...))QGraphicsProxyWidget::itemChange
+200 (int (*)(...))QGraphicsWidget::propertyChange
+208 (int (*)(...))QGraphicsWidget::sceneEvent
+216 (int (*)(...))QGraphicsWidget::windowFrameEvent
+224 (int (*)(...))QGraphicsWidget::windowFrameSectionAt
+232 (int (*)(...))QGraphicsWidget::changeEvent
+240 (int (*)(...))QGraphicsWidget::closeEvent
+248 (int (*)(...))QGraphicsProxyWidget::focusInEvent
+256 (int (*)(...))QGraphicsProxyWidget::focusNextPrevChild
+264 (int (*)(...))QGraphicsProxyWidget::focusOutEvent
+272 (int (*)(...))QGraphicsProxyWidget::hideEvent
+280 (int (*)(...))QGraphicsWidget::moveEvent
+288 (int (*)(...))QGraphicsWidget::polishEvent
+296 (int (*)(...))QGraphicsProxyWidget::resizeEvent
+304 (int (*)(...))QGraphicsProxyWidget::showEvent
+312 (int (*)(...))QGraphicsProxyWidget::hoverMoveEvent
+320 (int (*)(...))QGraphicsProxyWidget::hoverLeaveEvent
+328 (int (*)(...))QGraphicsProxyWidget::grabMouseEvent
+336 (int (*)(...))QGraphicsProxyWidget::ungrabMouseEvent
+344 (int (*)(...))QGraphicsWidget::grabKeyboardEvent
+352 (int (*)(...))QGraphicsWidget::ungrabKeyboardEvent
+360 (int (*)(...))QGraphicsProxyWidget::contextMenuEvent
+368 (int (*)(...))QGraphicsProxyWidget::dragEnterEvent
+376 (int (*)(...))QGraphicsProxyWidget::dragLeaveEvent
+384 (int (*)(...))QGraphicsProxyWidget::dragMoveEvent
+392 (int (*)(...))QGraphicsProxyWidget::dropEvent
+400 (int (*)(...))QGraphicsProxyWidget::hoverEnterEvent
+408 (int (*)(...))QGraphicsProxyWidget::mouseMoveEvent
+416 (int (*)(...))QGraphicsProxyWidget::mousePressEvent
+424 (int (*)(...))QGraphicsProxyWidget::mouseReleaseEvent
+432 (int (*)(...))QGraphicsProxyWidget::mouseDoubleClickEvent
+440 (int (*)(...))QGraphicsProxyWidget::wheelEvent
+448 (int (*)(...))QGraphicsProxyWidget::keyPressEvent
+456 (int (*)(...))QGraphicsProxyWidget::keyReleaseEvent
+464 (int (*)(...))QGraphicsProxyWidget::inputMethodQuery
+472 (int (*)(...))QGraphicsProxyWidget::inputMethodEvent
+480 (int (*)(...))-16
+488 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+496 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD1Ev
+504 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidgetD0Ev
+512 (int (*)(...))QGraphicsItem::advance
+520 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget12boundingRectEv
+528 (int (*)(...))QGraphicsWidget::_ZThn16_NK15QGraphicsWidget5shapeEv
+536 (int (*)(...))QGraphicsItem::contains
+544 (int (*)(...))QGraphicsItem::collidesWithItem
+552 (int (*)(...))QGraphicsItem::collidesWithPath
+560 (int (*)(...))QGraphicsItem::isObscuredBy
+568 (int (*)(...))QGraphicsItem::opaqueArea
+576 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget
+584 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget4typeEv
+592 (int (*)(...))QGraphicsItem::sceneEventFilter
+600 (int (*)(...))QGraphicsWidget::_ZThn16_N15QGraphicsWidget10sceneEventEP6QEvent
+608 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent
+616 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent
+624 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent
+632 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent
+640 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent
+648 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent
+656 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent
+664 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent
+672 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent
+680 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent
+688 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent
+696 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent
+704 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent
+712 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent
+720 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent
+728 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent
+736 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent
+744 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget16inputMethodEventEP17QInputMethodEvent
+752 (int (*)(...))QGraphicsProxyWidget::_ZThn16_NK20QGraphicsProxyWidget16inputMethodQueryEN2Qt16InputMethodQueryE
+760 (int (*)(...))QGraphicsProxyWidget::_ZThn16_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant
+768 (int (*)(...))QGraphicsItem::supportsExtension
+776 (int (*)(...))QGraphicsItem::setExtension
+784 (int (*)(...))QGraphicsItem::extension
+792 (int (*)(...))-32
+800 (int (*)(...))(& _ZTI20QGraphicsProxyWidget)
+808 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD1Ev
+816 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidgetD0Ev
+824 (int (*)(...))QGraphicsProxyWidget::_ZThn32_N20QGraphicsProxyWidget11setGeometryERK6QRectF
+832 (int (*)(...))QGraphicsWidget::_ZThn32_NK15QGraphicsWidget18getContentsMarginsEPdS0_S0_S0_
+840 (int (*)(...))QGraphicsWidget::_ZThn32_N15QGraphicsWidget14updateGeometryEv
+848 (int (*)(...))QGraphicsProxyWidget::_ZThn32_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF
+
+Class QGraphicsProxyWidget
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsProxyWidget (0x0x7f58ddebcbc8) 0
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 16u)
+ QGraphicsWidget (0x0x7f58e0e9fbd0) 0
+ primary-for QGraphicsProxyWidget (0x0x7f58ddebcbc8)
+ QGraphicsObject (0x0x7f58e0e9fc40) 0
+ primary-for QGraphicsWidget (0x0x7f58e0e9fbd0)
+ QObject (0x0x7f58dd91e5a0) 0
+ primary-for QGraphicsObject (0x0x7f58e0e9fc40)
+ QGraphicsItem (0x0x7f58dd91ed80) 16
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 496u)
+ QGraphicsLayoutItem (0x0x7f58dd91ede0) 32
+ vptr=((& QGraphicsProxyWidget::_ZTV20QGraphicsProxyWidget) + 808u)
+
+Class QGraphicsScene::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScene::QPrivateSignal (0x0x7f58dd132a80) 0 empty
+
+Vtable for QGraphicsScene
+QGraphicsScene::_ZTV14QGraphicsScene: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScene)
+16 (int (*)(...))QGraphicsScene::metaObject
+24 (int (*)(...))QGraphicsScene::qt_metacast
+32 (int (*)(...))QGraphicsScene::qt_metacall
+40 (int (*)(...))QGraphicsScene::~QGraphicsScene
+48 (int (*)(...))QGraphicsScene::~QGraphicsScene
+56 (int (*)(...))QGraphicsScene::event
+64 (int (*)(...))QGraphicsScene::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScene::inputMethodQuery
+120 (int (*)(...))QGraphicsScene::contextMenuEvent
+128 (int (*)(...))QGraphicsScene::dragEnterEvent
+136 (int (*)(...))QGraphicsScene::dragMoveEvent
+144 (int (*)(...))QGraphicsScene::dragLeaveEvent
+152 (int (*)(...))QGraphicsScene::dropEvent
+160 (int (*)(...))QGraphicsScene::focusInEvent
+168 (int (*)(...))QGraphicsScene::focusOutEvent
+176 (int (*)(...))QGraphicsScene::helpEvent
+184 (int (*)(...))QGraphicsScene::keyPressEvent
+192 (int (*)(...))QGraphicsScene::keyReleaseEvent
+200 (int (*)(...))QGraphicsScene::mousePressEvent
+208 (int (*)(...))QGraphicsScene::mouseMoveEvent
+216 (int (*)(...))QGraphicsScene::mouseReleaseEvent
+224 (int (*)(...))QGraphicsScene::mouseDoubleClickEvent
+232 (int (*)(...))QGraphicsScene::wheelEvent
+240 (int (*)(...))QGraphicsScene::inputMethodEvent
+248 (int (*)(...))QGraphicsScene::drawBackground
+256 (int (*)(...))QGraphicsScene::drawForeground
+264 (int (*)(...))QGraphicsScene::drawItems
+
+Class QGraphicsScene
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScene (0x0x7f58ddebcdd0) 0
+ vptr=((& QGraphicsScene::_ZTV14QGraphicsScene) + 16u)
+ QObject (0x0x7f58dd132660) 0
+ primary-for QGraphicsScene (0x0x7f58ddebcdd0)
+
+Vtable for QGraphicsSceneEvent
+QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QGraphicsSceneEvent)
+16 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+24 (int (*)(...))QGraphicsSceneEvent::~QGraphicsSceneEvent
+
+Class QGraphicsSceneEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneEvent (0x0x7f58ddf345b0) 0
+ vptr=((& QGraphicsSceneEvent::_ZTV19QGraphicsSceneEvent) + 16u)
+ QEvent (0x0x7f58dce7fde0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58ddf345b0)
+
+Vtable for QGraphicsSceneMouseEvent
+QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneMouseEvent)
+16 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+24 (int (*)(...))QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent
+
+Class QGraphicsSceneMouseEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMouseEvent (0x0x7f58ddf34680) 0
+ vptr=((& QGraphicsSceneMouseEvent::_ZTV24QGraphicsSceneMouseEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58ddf346e8) 0
+ primary-for QGraphicsSceneMouseEvent (0x0x7f58ddf34680)
+ QEvent (0x0x7f58dcea4a80) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58ddf346e8)
+
+Vtable for QGraphicsSceneWheelEvent
+QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneWheelEvent)
+16 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+24 (int (*)(...))QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent
+
+Class QGraphicsSceneWheelEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneWheelEvent (0x0x7f58ddf34750) 0
+ vptr=((& QGraphicsSceneWheelEvent::_ZTV24QGraphicsSceneWheelEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58ddf347b8) 0
+ primary-for QGraphicsSceneWheelEvent (0x0x7f58ddf34750)
+ QEvent (0x0x7f58dcea4cc0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58ddf347b8)
+
+Vtable for QGraphicsSceneContextMenuEvent
+QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI30QGraphicsSceneContextMenuEvent)
+16 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+24 (int (*)(...))QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent
+
+Class QGraphicsSceneContextMenuEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneContextMenuEvent (0x0x7f58ddf34820) 0
+ vptr=((& QGraphicsSceneContextMenuEvent::_ZTV30QGraphicsSceneContextMenuEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58ddf34888) 0
+ primary-for QGraphicsSceneContextMenuEvent (0x0x7f58ddf34820)
+ QEvent (0x0x7f58dcea4d20) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58ddf34888)
+
+Vtable for QGraphicsSceneHoverEvent
+QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QGraphicsSceneHoverEvent)
+16 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+24 (int (*)(...))QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent
+
+Class QGraphicsSceneHoverEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHoverEvent (0x0x7f58ddf348f0) 0
+ vptr=((& QGraphicsSceneHoverEvent::_ZTV24QGraphicsSceneHoverEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58ddf34958) 0
+ primary-for QGraphicsSceneHoverEvent (0x0x7f58ddf348f0)
+ QEvent (0x0x7f58dc6f4f60) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58ddf34958)
+
+Vtable for QGraphicsSceneHelpEvent
+QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneHelpEvent)
+16 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+24 (int (*)(...))QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent
+
+Class QGraphicsSceneHelpEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneHelpEvent (0x0x7f58ddf349c0) 0
+ vptr=((& QGraphicsSceneHelpEvent::_ZTV23QGraphicsSceneHelpEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58ddce6af8) 0
+ primary-for QGraphicsSceneHelpEvent (0x0x7f58ddf349c0)
+ QEvent (0x0x7f58dc782000) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58ddce6af8)
+
+Vtable for QGraphicsSceneDragDropEvent
+QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QGraphicsSceneDragDropEvent)
+16 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+24 (int (*)(...))QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent
+
+Class QGraphicsSceneDragDropEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneDragDropEvent (0x0x7f58ddce6bc8) 0
+ vptr=((& QGraphicsSceneDragDropEvent::_ZTV27QGraphicsSceneDragDropEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58dda5c680) 0
+ primary-for QGraphicsSceneDragDropEvent (0x0x7f58ddce6bc8)
+ QEvent (0x0x7f58dc782420) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58dda5c680)
+
+Vtable for QGraphicsSceneResizeEvent
+QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QGraphicsSceneResizeEvent)
+16 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+24 (int (*)(...))QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent
+
+Class QGraphicsSceneResizeEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneResizeEvent (0x0x7f58dda5c6e8) 0
+ vptr=((& QGraphicsSceneResizeEvent::_ZTV25QGraphicsSceneResizeEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58dda5c750) 0
+ primary-for QGraphicsSceneResizeEvent (0x0x7f58dda5c6e8)
+ QEvent (0x0x7f58dc782480) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58dda5c750)
+
+Vtable for QGraphicsSceneMoveEvent
+QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QGraphicsSceneMoveEvent)
+16 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+24 (int (*)(...))QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent
+
+Class QGraphicsSceneMoveEvent
+ size=32 align=8
+ base size=32 base align=8
+QGraphicsSceneMoveEvent (0x0x7f58dda5c8f0) 0
+ vptr=((& QGraphicsSceneMoveEvent::_ZTV23QGraphicsSceneMoveEvent) + 16u)
+ QGraphicsSceneEvent (0x0x7f58dda5c958) 0
+ primary-for QGraphicsSceneMoveEvent (0x0x7f58dda5c8f0)
+ QEvent (0x0x7f58dc782ba0) 0
+ primary-for QGraphicsSceneEvent (0x0x7f58dda5c958)
+
+Class QGraphicsTransform::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsTransform::QPrivateSignal (0x0x7f58dc7bc480) 0 empty
+
+Vtable for QGraphicsTransform
+QGraphicsTransform::_ZTV18QGraphicsTransform: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QGraphicsTransform)
+16 (int (*)(...))QGraphicsTransform::metaObject
+24 (int (*)(...))QGraphicsTransform::qt_metacast
+32 (int (*)(...))QGraphicsTransform::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QGraphicsTransform
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsTransform (0x0x7f58dda5c9c0) 0
+ vptr=((& QGraphicsTransform::_ZTV18QGraphicsTransform) + 16u)
+ QObject (0x0x7f58dc782c00) 0
+ primary-for QGraphicsTransform (0x0x7f58dda5c9c0)
+
+Class QGraphicsScale::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsScale::QPrivateSignal (0x0x7f58dc7bc600) 0 empty
+
+Vtable for QGraphicsScale
+QGraphicsScale::_ZTV14QGraphicsScale: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QGraphicsScale)
+16 (int (*)(...))QGraphicsScale::metaObject
+24 (int (*)(...))QGraphicsScale::qt_metacast
+32 (int (*)(...))QGraphicsScale::qt_metacall
+40 (int (*)(...))QGraphicsScale::~QGraphicsScale
+48 (int (*)(...))QGraphicsScale::~QGraphicsScale
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsScale::applyTo
+
+Class QGraphicsScale
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsScale (0x0x7f58dda5ca28) 0
+ vptr=((& QGraphicsScale::_ZTV14QGraphicsScale) + 16u)
+ QGraphicsTransform (0x0x7f58dda5ca90) 0
+ primary-for QGraphicsScale (0x0x7f58dda5ca28)
+ QObject (0x0x7f58dc7bc4e0) 0
+ primary-for QGraphicsTransform (0x0x7f58dda5ca90)
+
+Class QGraphicsRotation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsRotation::QPrivateSignal (0x0x7f58dc7bc720) 0 empty
+
+Vtable for QGraphicsRotation
+QGraphicsRotation::_ZTV17QGraphicsRotation: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGraphicsRotation)
+16 (int (*)(...))QGraphicsRotation::metaObject
+24 (int (*)(...))QGraphicsRotation::qt_metacast
+32 (int (*)(...))QGraphicsRotation::qt_metacall
+40 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+48 (int (*)(...))QGraphicsRotation::~QGraphicsRotation
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGraphicsRotation::applyTo
+
+Class QGraphicsRotation
+ size=16 align=8
+ base size=16 base align=8
+QGraphicsRotation (0x0x7f58dda5cd00) 0
+ vptr=((& QGraphicsRotation::_ZTV17QGraphicsRotation) + 16u)
+ QGraphicsTransform (0x0x7f58dda5cd68) 0
+ primary-for QGraphicsRotation (0x0x7f58dda5cd00)
+ QObject (0x0x7f58dc7bc660) 0
+ primary-for QGraphicsTransform (0x0x7f58dda5cd68)
+
+Class QScrollArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollArea::QPrivateSignal (0x0x7f58dc7bccc0) 0 empty
+
+Vtable for QScrollArea
+QScrollArea::_ZTV11QScrollArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QScrollArea)
+16 (int (*)(...))QScrollArea::metaObject
+24 (int (*)(...))QScrollArea::qt_metacast
+32 (int (*)(...))QScrollArea::qt_metacall
+40 (int (*)(...))QScrollArea::~QScrollArea
+48 (int (*)(...))QScrollArea::~QScrollArea
+56 (int (*)(...))QScrollArea::event
+64 (int (*)(...))QScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractScrollArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QScrollArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QScrollArea::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QScrollArea::scrollContentsBy
+456 (int (*)(...))QScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI11QScrollArea)
+480 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD1Ev
+488 (int (*)(...))QScrollArea::_ZThn16_N11QScrollAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollArea
+ size=48 align=8
+ base size=48 base align=8
+QScrollArea (0x0x7f58dda5cdd0) 0
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 16u)
+ QAbstractScrollArea (0x0x7f58dda5cf70) 0
+ primary-for QScrollArea (0x0x7f58dda5cdd0)
+ QFrame (0x0x7f58ddba0068) 0
+ primary-for QAbstractScrollArea (0x0x7f58dda5cf70)
+ QWidget (0x0x7f58e0f12af0) 0
+ primary-for QFrame (0x0x7f58ddba0068)
+ QObject (0x0x7f58dc7bcba0) 0
+ primary-for QWidget (0x0x7f58e0f12af0)
+ QPaintDevice (0x0x7f58dc7bcc00) 16
+ vptr=((& QScrollArea::_ZTV11QScrollArea) + 480u)
+
+Class QGraphicsView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGraphicsView::QPrivateSignal (0x0x7f58dc7bce40) 0 empty
+
+Vtable for QGraphicsView
+QGraphicsView::_ZTV13QGraphicsView: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QGraphicsView)
+16 (int (*)(...))QGraphicsView::metaObject
+24 (int (*)(...))QGraphicsView::qt_metacast
+32 (int (*)(...))QGraphicsView::qt_metacall
+40 (int (*)(...))QGraphicsView::~QGraphicsView
+48 (int (*)(...))QGraphicsView::~QGraphicsView
+56 (int (*)(...))QGraphicsView::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QGraphicsView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGraphicsView::mousePressEvent
+176 (int (*)(...))QGraphicsView::mouseReleaseEvent
+184 (int (*)(...))QGraphicsView::mouseDoubleClickEvent
+192 (int (*)(...))QGraphicsView::mouseMoveEvent
+200 (int (*)(...))QGraphicsView::wheelEvent
+208 (int (*)(...))QGraphicsView::keyPressEvent
+216 (int (*)(...))QGraphicsView::keyReleaseEvent
+224 (int (*)(...))QGraphicsView::focusInEvent
+232 (int (*)(...))QGraphicsView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGraphicsView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGraphicsView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QGraphicsView::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QGraphicsView::dragEnterEvent
+320 (int (*)(...))QGraphicsView::dragMoveEvent
+328 (int (*)(...))QGraphicsView::dragLeaveEvent
+336 (int (*)(...))QGraphicsView::dropEvent
+344 (int (*)(...))QGraphicsView::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QGraphicsView::inputMethodEvent
+416 (int (*)(...))QGraphicsView::inputMethodQuery
+424 (int (*)(...))QGraphicsView::focusNextPrevChild
+432 (int (*)(...))QGraphicsView::setupViewport
+440 (int (*)(...))QGraphicsView::viewportEvent
+448 (int (*)(...))QGraphicsView::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QGraphicsView::drawBackground
+472 (int (*)(...))QGraphicsView::drawForeground
+480 (int (*)(...))QGraphicsView::drawItems
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI13QGraphicsView)
+504 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD1Ev
+512 (int (*)(...))QGraphicsView::_ZThn16_N13QGraphicsViewD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGraphicsView
+ size=48 align=8
+ base size=48 base align=8
+QGraphicsView (0x0x7f58ddba0138) 0
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 16u)
+ QAbstractScrollArea (0x0x7f58ddc413a8) 0
+ primary-for QGraphicsView (0x0x7f58ddba0138)
+ QFrame (0x0x7f58ddc410d0) 0
+ primary-for QAbstractScrollArea (0x0x7f58ddc413a8)
+ QWidget (0x0x7f58e0f12e00) 0
+ primary-for QFrame (0x0x7f58ddc410d0)
+ QObject (0x0x7f58dc7bcd20) 0
+ primary-for QWidget (0x0x7f58e0f12e00)
+ QPaintDevice (0x0x7f58dc7bcde0) 16
+ vptr=((& QGraphicsView::_ZTV13QGraphicsView) + 504u)
+
+Class QGroupBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGroupBox::QPrivateSignal (0x0x7f58dc50a660) 0 empty
+
+Vtable for QGroupBox
+QGroupBox::_ZTV9QGroupBox: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QGroupBox)
+16 (int (*)(...))QGroupBox::metaObject
+24 (int (*)(...))QGroupBox::qt_metacast
+32 (int (*)(...))QGroupBox::qt_metacall
+40 (int (*)(...))QGroupBox::~QGroupBox
+48 (int (*)(...))QGroupBox::~QGroupBox
+56 (int (*)(...))QGroupBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QGroupBox::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QGroupBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QGroupBox::mousePressEvent
+176 (int (*)(...))QGroupBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QGroupBox::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QGroupBox::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QGroupBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QGroupBox::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QGroupBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QGroupBox)
+448 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD1Ev
+456 (int (*)(...))QGroupBox::_ZThn16_N9QGroupBoxD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QGroupBox
+ size=48 align=8
+ base size=48 base align=8
+QGroupBox (0x0x7f58dd8f3208) 0
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 16u)
+ QWidget (0x0x7f58e100f700) 0
+ primary-for QGroupBox (0x0x7f58dd8f3208)
+ QObject (0x0x7f58dc50a4e0) 0
+ primary-for QWidget (0x0x7f58e100f700)
+ QPaintDevice (0x0x7f58dc50a600) 16
+ vptr=((& QGroupBox::_ZTV9QGroupBox) + 448u)
+
+Class QHeaderView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHeaderView::QPrivateSignal (0x0x7f58dbe75cc0) 0 empty
+
+Vtable for QHeaderView
+QHeaderView::_ZTV11QHeaderView: 108u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QHeaderView)
+16 (int (*)(...))QHeaderView::metaObject
+24 (int (*)(...))QHeaderView::qt_metacast
+32 (int (*)(...))QHeaderView::qt_metacall
+40 (int (*)(...))QHeaderView::~QHeaderView
+48 (int (*)(...))QHeaderView::~QHeaderView
+56 (int (*)(...))QHeaderView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QAbstractItemView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QHeaderView::setVisible
+128 (int (*)(...))QHeaderView::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QHeaderView::mousePressEvent
+176 (int (*)(...))QHeaderView::mouseReleaseEvent
+184 (int (*)(...))QHeaderView::mouseDoubleClickEvent
+192 (int (*)(...))QHeaderView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QHeaderView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QHeaderView::viewportEvent
+448 (int (*)(...))QHeaderView::scrollContentsBy
+456 (int (*)(...))QAbstractItemView::viewportSizeHint
+464 (int (*)(...))QHeaderView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QHeaderView::visualRect
+496 (int (*)(...))QHeaderView::scrollTo
+504 (int (*)(...))QHeaderView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QHeaderView::reset
+536 (int (*)(...))QAbstractItemView::setRootIndex
+544 (int (*)(...))QHeaderView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QHeaderView::dataChanged
+568 (int (*)(...))QHeaderView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QAbstractItemView::selectionChanged
+592 (int (*)(...))QHeaderView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QHeaderView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QHeaderView::moveCursor
+688 (int (*)(...))QHeaderView::horizontalOffset
+696 (int (*)(...))QHeaderView::verticalOffset
+704 (int (*)(...))QHeaderView::isIndexHidden
+712 (int (*)(...))QHeaderView::setSelection
+720 (int (*)(...))QHeaderView::visualRegionForSelection
+728 (int (*)(...))QAbstractItemView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QHeaderView::paintSection
+776 (int (*)(...))QHeaderView::sectionSizeFromContents
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI11QHeaderView)
+800 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD1Ev
+808 (int (*)(...))QHeaderView::_ZThn16_N11QHeaderViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QHeaderView
+ size=48 align=8
+ base size=48 base align=8
+QHeaderView (0x0x7f58dd8f3270) 0
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 16u)
+ QAbstractItemView (0x0x7f58dd8f3dd0) 0
+ primary-for QHeaderView (0x0x7f58dd8f3270)
+ QAbstractScrollArea (0x0x7f58dd8f3e38) 0
+ primary-for QAbstractItemView (0x0x7f58dd8f3dd0)
+ QFrame (0x0x7f58dd911000) 0
+ primary-for QAbstractScrollArea (0x0x7f58dd8f3e38)
+ QWidget (0x0x7f58e100fc40) 0
+ primary-for QFrame (0x0x7f58dd911000)
+ QObject (0x0x7f58dbe75180) 0
+ primary-for QWidget (0x0x7f58e100fc40)
+ QPaintDevice (0x0x7f58dbe751e0) 16
+ vptr=((& QHeaderView::_ZTV11QHeaderView) + 800u)
+
+Class QLineEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLineEdit::QPrivateSignal (0x0x7f58dbc69780) 0 empty
+
+Vtable for QLineEdit
+QLineEdit::_ZTV9QLineEdit: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QLineEdit)
+16 (int (*)(...))QLineEdit::metaObject
+24 (int (*)(...))QLineEdit::qt_metacast
+32 (int (*)(...))QLineEdit::qt_metacall
+40 (int (*)(...))QLineEdit::~QLineEdit
+48 (int (*)(...))QLineEdit::~QLineEdit
+56 (int (*)(...))QLineEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLineEdit::sizeHint
+136 (int (*)(...))QLineEdit::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLineEdit::mousePressEvent
+176 (int (*)(...))QLineEdit::mouseReleaseEvent
+184 (int (*)(...))QLineEdit::mouseDoubleClickEvent
+192 (int (*)(...))QLineEdit::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLineEdit::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLineEdit::focusInEvent
+232 (int (*)(...))QLineEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLineEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLineEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QLineEdit::dragEnterEvent
+320 (int (*)(...))QLineEdit::dragMoveEvent
+328 (int (*)(...))QLineEdit::dragLeaveEvent
+336 (int (*)(...))QLineEdit::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLineEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QLineEdit::inputMethodEvent
+416 (int (*)(...))QLineEdit::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QLineEdit)
+448 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD1Ev
+456 (int (*)(...))QLineEdit::_ZThn16_N9QLineEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLineEdit
+ size=48 align=8
+ base size=48 base align=8
+QLineEdit (0x0x7f58dd4f8af8) 0
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 16u)
+ QWidget (0x0x7f58e1021a80) 0
+ primary-for QLineEdit (0x0x7f58dd4f8af8)
+ QObject (0x0x7f58dbc69060) 0
+ primary-for QWidget (0x0x7f58e1021a80)
+ QPaintDevice (0x0x7f58dbc69720) 16
+ vptr=((& QLineEdit::_ZTV9QLineEdit) + 448u)
+
+Class QInputDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QInputDialog::QPrivateSignal (0x0x7f58dbc8d6c0) 0 empty
+
+Vtable for QInputDialog
+QInputDialog::_ZTV12QInputDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QInputDialog)
+16 (int (*)(...))QInputDialog::metaObject
+24 (int (*)(...))QInputDialog::qt_metacast
+32 (int (*)(...))QInputDialog::qt_metacall
+40 (int (*)(...))QInputDialog::~QInputDialog
+48 (int (*)(...))QInputDialog::~QInputDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QInputDialog::setVisible
+128 (int (*)(...))QInputDialog::sizeHint
+136 (int (*)(...))QInputDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QDialog::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QInputDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI12QInputDialog)
+488 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD1Ev
+496 (int (*)(...))QInputDialog::_ZThn16_N12QInputDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QInputDialog
+ size=48 align=8
+ base size=48 base align=8
+QInputDialog (0x0x7f58dd4f8b60) 0
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 16u)
+ QDialog (0x0x7f58dd2ba3a8) 0
+ primary-for QInputDialog (0x0x7f58dd4f8b60)
+ QWidget (0x0x7f58e102d380) 0
+ primary-for QDialog (0x0x7f58dd2ba3a8)
+ QObject (0x0x7f58dbc69f00) 0
+ primary-for QWidget (0x0x7f58e102d380)
+ QPaintDevice (0x0x7f58dbc69f60) 16
+ vptr=((& QInputDialog::_ZTV12QInputDialog) + 488u)
+
+Class QItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemDelegate::QPrivateSignal (0x0x7f58dba525a0) 0 empty
+
+Vtable for QItemDelegate
+QItemDelegate::_ZTV13QItemDelegate: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QItemDelegate)
+16 (int (*)(...))QItemDelegate::metaObject
+24 (int (*)(...))QItemDelegate::qt_metacast
+32 (int (*)(...))QItemDelegate::qt_metacall
+40 (int (*)(...))QItemDelegate::~QItemDelegate
+48 (int (*)(...))QItemDelegate::~QItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemDelegate::paint
+120 (int (*)(...))QItemDelegate::sizeHint
+128 (int (*)(...))QItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QItemDelegate::setEditorData
+152 (int (*)(...))QItemDelegate::setModelData
+160 (int (*)(...))QItemDelegate::updateEditorGeometry
+168 (int (*)(...))QItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QItemDelegate::drawDisplay
+200 (int (*)(...))QItemDelegate::drawDecoration
+208 (int (*)(...))QItemDelegate::drawFocus
+216 (int (*)(...))QItemDelegate::drawCheck
+
+Class QItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QItemDelegate (0x0x7f58dce6b068) 0
+ vptr=((& QItemDelegate::_ZTV13QItemDelegate) + 16u)
+ QAbstractItemDelegate (0x0x7f58dce6baf8) 0
+ primary-for QItemDelegate (0x0x7f58dce6b068)
+ QObject (0x0x7f58dba524e0) 0
+ primary-for QAbstractItemDelegate (0x0x7f58dce6baf8)
+
+Vtable for QItemEditorCreatorBase
+QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QItemEditorCreatorBase)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QItemEditorCreatorBase
+ size=8 align=8
+ base size=8 base align=8
+QItemEditorCreatorBase (0x0x7f58dba526c0) 0 nearly-empty
+ vptr=((& QItemEditorCreatorBase::_ZTV22QItemEditorCreatorBase) + 16u)
+
+Vtable for QItemEditorFactory
+QItemEditorFactory::_ZTV18QItemEditorFactory: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QItemEditorFactory)
+16 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+24 (int (*)(...))QItemEditorFactory::~QItemEditorFactory
+32 (int (*)(...))QItemEditorFactory::createEditor
+40 (int (*)(...))QItemEditorFactory::valuePropertyName
+
+Class QItemEditorFactory
+ size=16 align=8
+ base size=16 base align=8
+QItemEditorFactory (0x0x7f58dba52840) 0
+ vptr=((& QItemEditorFactory::_ZTV18QItemEditorFactory) + 16u)
+
+Class QKeyEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeyEventTransition::QPrivateSignal (0x0x7f58dba52ba0) 0 empty
+
+Vtable for QKeyEventTransition
+QKeyEventTransition::_ZTV19QKeyEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QKeyEventTransition)
+16 (int (*)(...))QKeyEventTransition::metaObject
+24 (int (*)(...))QKeyEventTransition::qt_metacast
+32 (int (*)(...))QKeyEventTransition::qt_metacall
+40 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+48 (int (*)(...))QKeyEventTransition::~QKeyEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QKeyEventTransition::eventTest
+120 (int (*)(...))QKeyEventTransition::onTransition
+
+Class QKeyEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QKeyEventTransition (0x0x7f58dce917b8) 0
+ vptr=((& QKeyEventTransition::_ZTV19QKeyEventTransition) + 16u)
+ QEventTransition (0x0x7f58dce91b60) 0
+ primary-for QKeyEventTransition (0x0x7f58dce917b8)
+ QAbstractTransition (0x0x7f58dce91bc8) 0
+ primary-for QEventTransition (0x0x7f58dce91b60)
+ QObject (0x0x7f58dba52ae0) 0
+ primary-for QAbstractTransition (0x0x7f58dce91bc8)
+
+Class QKeySequenceEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QKeySequenceEdit::QPrivateSignal (0x0x7f58db66b5a0) 0 empty
+
+Vtable for QKeySequenceEdit
+QKeySequenceEdit::_ZTV16QKeySequenceEdit: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+16 (int (*)(...))QKeySequenceEdit::metaObject
+24 (int (*)(...))QKeySequenceEdit::qt_metacast
+32 (int (*)(...))QKeySequenceEdit::qt_metacall
+40 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+48 (int (*)(...))QKeySequenceEdit::~QKeySequenceEdit
+56 (int (*)(...))QKeySequenceEdit::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QKeySequenceEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QKeySequenceEdit::keyPressEvent
+216 (int (*)(...))QKeySequenceEdit::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI16QKeySequenceEdit)
+448 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD1Ev
+456 (int (*)(...))QKeySequenceEdit::_ZThn16_N16QKeySequenceEditD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QKeySequenceEdit
+ size=48 align=8
+ base size=48 base align=8
+QKeySequenceEdit (0x0x7f58dceaa750) 0
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 16u)
+ QWidget (0x0x7f58e1060690) 0
+ primary-for QKeySequenceEdit (0x0x7f58dceaa750)
+ QObject (0x0x7f58dba0da20) 0
+ primary-for QWidget (0x0x7f58e1060690)
+ QPaintDevice (0x0x7f58dba0da80) 16
+ vptr=((& QKeySequenceEdit::_ZTV16QKeySequenceEdit) + 448u)
+
+Class QLabel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLabel::QPrivateSignal (0x0x7f58db696240) 0 empty
+
+Vtable for QLabel
+QLabel::_ZTV6QLabel: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QLabel)
+16 (int (*)(...))QLabel::metaObject
+24 (int (*)(...))QLabel::qt_metacast
+32 (int (*)(...))QLabel::qt_metacall
+40 (int (*)(...))QLabel::~QLabel
+48 (int (*)(...))QLabel::~QLabel
+56 (int (*)(...))QLabel::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLabel::sizeHint
+136 (int (*)(...))QLabel::minimumSizeHint
+144 (int (*)(...))QLabel::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QLabel::mousePressEvent
+176 (int (*)(...))QLabel::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QLabel::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QLabel::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QLabel::focusInEvent
+232 (int (*)(...))QLabel::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLabel::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QLabel::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QLabel::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QLabel::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI6QLabel)
+448 (int (*)(...))QLabel::_ZThn16_N6QLabelD1Ev
+456 (int (*)(...))QLabel::_ZThn16_N6QLabelD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLabel
+ size=48 align=8
+ base size=48 base align=8
+QLabel (0x0x7f58dceaa7b8) 0
+ vptr=((& QLabel::_ZTV6QLabel) + 16u)
+ QFrame (0x0x7f58dcecd548) 0
+ primary-for QLabel (0x0x7f58dceaa7b8)
+ QWidget (0x0x7f58e1060af0) 0
+ primary-for QFrame (0x0x7f58dcecd548)
+ QObject (0x0x7f58db66b600) 0
+ primary-for QWidget (0x0x7f58e1060af0)
+ QPaintDevice (0x0x7f58db6961e0) 16
+ vptr=((& QLabel::_ZTV6QLabel) + 448u)
+
+Class QLCDNumber::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLCDNumber::QPrivateSignal (0x0x7f58db5748a0) 0 empty
+
+Vtable for QLCDNumber
+QLCDNumber::_ZTV10QLCDNumber: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLCDNumber)
+16 (int (*)(...))QLCDNumber::metaObject
+24 (int (*)(...))QLCDNumber::qt_metacast
+32 (int (*)(...))QLCDNumber::qt_metacall
+40 (int (*)(...))QLCDNumber::~QLCDNumber
+48 (int (*)(...))QLCDNumber::~QLCDNumber
+56 (int (*)(...))QLCDNumber::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QLCDNumber::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QLCDNumber::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QLCDNumber)
+448 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD1Ev
+456 (int (*)(...))QLCDNumber::_ZThn16_N10QLCDNumberD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QLCDNumber
+ size=48 align=8
+ base size=48 base align=8
+QLCDNumber (0x0x7f58dcecd6e8) 0
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 16u)
+ QFrame (0x0x7f58dcecd750) 0
+ primary-for QLCDNumber (0x0x7f58dcecd6e8)
+ QWidget (0x0x7f58e1060ee0) 0
+ primary-for QFrame (0x0x7f58dcecd750)
+ QObject (0x0x7f58db574420) 0
+ primary-for QWidget (0x0x7f58e1060ee0)
+ QPaintDevice (0x0x7f58db574480) 16
+ vptr=((& QLCDNumber::_ZTV10QLCDNumber) + 448u)
+
+Class QListView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListView::QPrivateSignal (0x0x7f58db574c60) 0 empty
+
+Vtable for QListView
+QListView::_ZTV9QListView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QListView)
+16 (int (*)(...))QListView::metaObject
+24 (int (*)(...))QListView::qt_metacast
+32 (int (*)(...))QListView::qt_metacall
+40 (int (*)(...))QListView::~QListView
+48 (int (*)(...))QListView::~QListView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QListView)
+784 (int (*)(...))QListView::_ZThn16_N9QListViewD1Ev
+792 (int (*)(...))QListView::_ZThn16_N9QListViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListView
+ size=48 align=8
+ base size=48 base align=8
+QListView (0x0x7f58dcecd7b8) 0
+ vptr=((& QListView::_ZTV9QListView) + 16u)
+ QAbstractItemView (0x0x7f58dcb517b8) 0
+ primary-for QListView (0x0x7f58dcecd7b8)
+ QAbstractScrollArea (0x0x7f58dc8f43a8) 0
+ primary-for QAbstractItemView (0x0x7f58dcb517b8)
+ QFrame (0x0x7f58dc8f4548) 0
+ primary-for QAbstractScrollArea (0x0x7f58dc8f43a8)
+ QWidget (0x0x7f58e0c87770) 0
+ primary-for QFrame (0x0x7f58dc8f4548)
+ QObject (0x0x7f58db574900) 0
+ primary-for QWidget (0x0x7f58e0c87770)
+ QPaintDevice (0x0x7f58db574c00) 16
+ vptr=((& QListView::_ZTV9QListView) + 784u)
+
+Vtable for QListWidgetItem
+QListWidgetItem::_ZTV15QListWidgetItem: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QListWidgetItem)
+16 (int (*)(...))QListWidgetItem::~QListWidgetItem
+24 (int (*)(...))QListWidgetItem::~QListWidgetItem
+32 (int (*)(...))QListWidgetItem::clone
+40 (int (*)(...))QListWidgetItem::setBackgroundColor
+48 (int (*)(...))QListWidgetItem::data
+56 (int (*)(...))QListWidgetItem::setData
+64 (int (*)(...))QListWidgetItem::operator<
+72 (int (*)(...))QListWidgetItem::read
+80 (int (*)(...))QListWidgetItem::write
+
+Class QListWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QListWidgetItem (0x0x7f58db574de0) 0
+ vptr=((& QListWidgetItem::_ZTV15QListWidgetItem) + 16u)
+
+Class QListWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QListWidget::QPrivateSignal (0x0x7f58db5d7c60) 0 empty
+
+Vtable for QListWidget
+QListWidget::_ZTV11QListWidget: 110u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QListWidget)
+16 (int (*)(...))QListWidget::metaObject
+24 (int (*)(...))QListWidget::qt_metacast
+32 (int (*)(...))QListWidget::qt_metacall
+40 (int (*)(...))QListWidget::~QListWidget
+48 (int (*)(...))QListWidget::~QListWidget
+56 (int (*)(...))QListWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QListWidget::setModel
+472 (int (*)(...))QListWidget::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))QListWidget::mimeTypes
+776 (int (*)(...))QListWidget::mimeData
+784 (int (*)(...))QListWidget::dropMimeData
+792 (int (*)(...))QListWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI11QListWidget)
+816 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD1Ev
+824 (int (*)(...))QListWidget::_ZThn16_N11QListWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QListWidget
+ size=48 align=8
+ base size=48 base align=8
+QListWidget (0x0x7f58dc8f4888) 0
+ vptr=((& QListWidget::_ZTV11QListWidget) + 16u)
+ QListView (0x0x7f58dc70baf8) 0
+ primary-for QListWidget (0x0x7f58dc8f4888)
+ QAbstractItemView (0x0x7f58dc70bb60) 0
+ primary-for QListView (0x0x7f58dc70baf8)
+ QAbstractScrollArea (0x0x7f58dc7926e8) 0
+ primary-for QAbstractItemView (0x0x7f58dc70bb60)
+ QFrame (0x0x7f58dc7d6478) 0
+ primary-for QAbstractScrollArea (0x0x7f58dc7926e8)
+ QWidget (0x0x7f58e0d45380) 0
+ primary-for QFrame (0x0x7f58dc7d6478)
+ QObject (0x0x7f58db5d7060) 0
+ primary-for QWidget (0x0x7f58e0d45380)
+ QPaintDevice (0x0x7f58db5d7c00) 16
+ vptr=((& QListWidget::_ZTV11QListWidget) + 816u)
+
+Class QMainWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMainWindow::QPrivateSignal (0x0x7f58db1fdae0) 0 empty
+
+Vtable for QMainWindow
+QMainWindow::_ZTV11QMainWindow: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMainWindow)
+16 (int (*)(...))QMainWindow::metaObject
+24 (int (*)(...))QMainWindow::qt_metacast
+32 (int (*)(...))QMainWindow::qt_metacall
+40 (int (*)(...))QMainWindow::~QMainWindow
+48 (int (*)(...))QMainWindow::~QMainWindow
+56 (int (*)(...))QMainWindow::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QMainWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMainWindow::createPopupMenu
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI11QMainWindow)
+456 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD1Ev
+464 (int (*)(...))QMainWindow::_ZThn16_N11QMainWindowD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMainWindow
+ size=48 align=8
+ base size=48 base align=8
+QMainWindow (0x0x7f58dc7d64e0) 0
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 16u)
+ QWidget (0x0x7f58e0d45d20) 0
+ primary-for QMainWindow (0x0x7f58dc7d64e0)
+ QObject (0x0x7f58db1fd840) 0
+ primary-for QWidget (0x0x7f58e0d45d20)
+ QPaintDevice (0x0x7f58db1fd8a0) 16
+ vptr=((& QMainWindow::_ZTV11QMainWindow) + 456u)
+
+Class QMdiArea::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiArea::QPrivateSignal (0x0x7f58db0e0a20) 0 empty
+
+Vtable for QMdiArea
+QMdiArea::_ZTV8QMdiArea: 68u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMdiArea)
+16 (int (*)(...))QMdiArea::metaObject
+24 (int (*)(...))QMdiArea::qt_metacast
+32 (int (*)(...))QMdiArea::qt_metacall
+40 (int (*)(...))QMdiArea::~QMdiArea
+48 (int (*)(...))QMdiArea::~QMdiArea
+56 (int (*)(...))QMdiArea::event
+64 (int (*)(...))QMdiArea::eventFilter
+72 (int (*)(...))QMdiArea::timerEvent
+80 (int (*)(...))QMdiArea::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiArea::sizeHint
+136 (int (*)(...))QMdiArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractScrollArea::mousePressEvent
+176 (int (*)(...))QAbstractScrollArea::mouseReleaseEvent
+184 (int (*)(...))QAbstractScrollArea::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractScrollArea::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractScrollArea::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QMdiArea::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMdiArea::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractScrollArea::dragEnterEvent
+320 (int (*)(...))QAbstractScrollArea::dragMoveEvent
+328 (int (*)(...))QAbstractScrollArea::dragLeaveEvent
+336 (int (*)(...))QAbstractScrollArea::dropEvent
+344 (int (*)(...))QMdiArea::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QMdiArea::setupViewport
+440 (int (*)(...))QMdiArea::viewportEvent
+448 (int (*)(...))QMdiArea::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))-16
+472 (int (*)(...))(& _ZTI8QMdiArea)
+480 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD1Ev
+488 (int (*)(...))QMdiArea::_ZThn16_N8QMdiAreaD0Ev
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiArea
+ size=48 align=8
+ base size=48 base align=8
+QMdiArea (0x0x7f58dc7d68f0) 0
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 16u)
+ QAbstractScrollArea (0x0x7f58dc7d6bc8) 0
+ primary-for QMdiArea (0x0x7f58dc7d68f0)
+ QFrame (0x0x7f58dc829dd0) 0
+ primary-for QAbstractScrollArea (0x0x7f58dc7d6bc8)
+ QWidget (0x0x7f58e0d7f150) 0
+ primary-for QFrame (0x0x7f58dc829dd0)
+ QObject (0x0x7f58db0e0780) 0
+ primary-for QWidget (0x0x7f58e0d7f150)
+ QPaintDevice (0x0x7f58db0e0840) 16
+ vptr=((& QMdiArea::_ZTV8QMdiArea) + 480u)
+
+Class QMdiSubWindow::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMdiSubWindow::QPrivateSignal (0x0x7f58db105900) 0 empty
+
+Vtable for QMdiSubWindow
+QMdiSubWindow::_ZTV13QMdiSubWindow: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMdiSubWindow)
+16 (int (*)(...))QMdiSubWindow::metaObject
+24 (int (*)(...))QMdiSubWindow::qt_metacast
+32 (int (*)(...))QMdiSubWindow::qt_metacall
+40 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+48 (int (*)(...))QMdiSubWindow::~QMdiSubWindow
+56 (int (*)(...))QMdiSubWindow::event
+64 (int (*)(...))QMdiSubWindow::eventFilter
+72 (int (*)(...))QMdiSubWindow::timerEvent
+80 (int (*)(...))QMdiSubWindow::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMdiSubWindow::sizeHint
+136 (int (*)(...))QMdiSubWindow::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMdiSubWindow::mousePressEvent
+176 (int (*)(...))QMdiSubWindow::mouseReleaseEvent
+184 (int (*)(...))QMdiSubWindow::mouseDoubleClickEvent
+192 (int (*)(...))QMdiSubWindow::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMdiSubWindow::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMdiSubWindow::focusInEvent
+232 (int (*)(...))QMdiSubWindow::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMdiSubWindow::leaveEvent
+256 (int (*)(...))QMdiSubWindow::paintEvent
+264 (int (*)(...))QMdiSubWindow::moveEvent
+272 (int (*)(...))QMdiSubWindow::resizeEvent
+280 (int (*)(...))QMdiSubWindow::closeEvent
+288 (int (*)(...))QMdiSubWindow::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMdiSubWindow::showEvent
+352 (int (*)(...))QMdiSubWindow::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMdiSubWindow::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI13QMdiSubWindow)
+448 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD1Ev
+456 (int (*)(...))QMdiSubWindow::_ZThn16_N13QMdiSubWindowD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMdiSubWindow
+ size=48 align=8
+ base size=48 base align=8
+QMdiSubWindow (0x0x7f58dc4d2680) 0
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 16u)
+ QWidget (0x0x7f58e0e163f0) 0
+ primary-for QMdiSubWindow (0x0x7f58dc4d2680)
+ QObject (0x0x7f58db105660) 0
+ primary-for QWidget (0x0x7f58e0e163f0)
+ QPaintDevice (0x0x7f58db1058a0) 16
+ vptr=((& QMdiSubWindow::_ZTV13QMdiSubWindow) + 448u)
+
+Class QMenu::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenu::QPrivateSignal (0x0x7f58dae594e0) 0 empty
+
+Vtable for QMenu
+QMenu::_ZTV5QMenu: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QMenu)
+16 (int (*)(...))QMenu::metaObject
+24 (int (*)(...))QMenu::qt_metacast
+32 (int (*)(...))QMenu::qt_metacall
+40 (int (*)(...))QMenu::~QMenu
+48 (int (*)(...))QMenu::~QMenu
+56 (int (*)(...))QMenu::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QMenu::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QMenu::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenu::mousePressEvent
+176 (int (*)(...))QMenu::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenu::mouseMoveEvent
+200 (int (*)(...))QMenu::wheelEvent
+208 (int (*)(...))QMenu::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QMenu::enterEvent
+248 (int (*)(...))QMenu::leaveEvent
+256 (int (*)(...))QMenu::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenu::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QMenu::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenu::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QMenu::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI5QMenu)
+448 (int (*)(...))QMenu::_ZThn16_N5QMenuD1Ev
+456 (int (*)(...))QMenu::_ZThn16_N5QMenuD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenu
+ size=48 align=8
+ base size=48 base align=8
+QMenu (0x0x7f58dc4d2d68) 0
+ vptr=((& QMenu::_ZTV5QMenu) + 16u)
+ QWidget (0x0x7f58e0e25380) 0
+ primary-for QMenu (0x0x7f58dc4d2d68)
+ QObject (0x0x7f58dae590c0) 0
+ primary-for QWidget (0x0x7f58e0e25380)
+ QPaintDevice (0x0x7f58dae59480) 16
+ vptr=((& QMenu::_ZTV5QMenu) + 448u)
+
+Class QMenuBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMenuBar::QPrivateSignal (0x0x7f58dae7c0c0) 0 empty
+
+Vtable for QMenuBar
+QMenuBar::_ZTV8QMenuBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QMenuBar)
+16 (int (*)(...))QMenuBar::metaObject
+24 (int (*)(...))QMenuBar::qt_metacast
+32 (int (*)(...))QMenuBar::qt_metacall
+40 (int (*)(...))QMenuBar::~QMenuBar
+48 (int (*)(...))QMenuBar::~QMenuBar
+56 (int (*)(...))QMenuBar::event
+64 (int (*)(...))QMenuBar::eventFilter
+72 (int (*)(...))QMenuBar::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QMenuBar::setVisible
+128 (int (*)(...))QMenuBar::sizeHint
+136 (int (*)(...))QMenuBar::minimumSizeHint
+144 (int (*)(...))QMenuBar::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QMenuBar::mousePressEvent
+176 (int (*)(...))QMenuBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QMenuBar::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMenuBar::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QMenuBar::focusInEvent
+232 (int (*)(...))QMenuBar::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QMenuBar::leaveEvent
+256 (int (*)(...))QMenuBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMenuBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QMenuBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMenuBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QMenuBar)
+448 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD1Ev
+456 (int (*)(...))QMenuBar::_ZThn16_N8QMenuBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMenuBar
+ size=48 align=8
+ base size=48 base align=8
+QMenuBar (0x0x7f58dc4d2ea0) 0
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 16u)
+ QWidget (0x0x7f58e0e25c40) 0
+ primary-for QMenuBar (0x0x7f58dc4d2ea0)
+ QObject (0x0x7f58dae59a20) 0
+ primary-for QWidget (0x0x7f58e0e25c40)
+ QPaintDevice (0x0x7f58dae59a80) 16
+ vptr=((& QMenuBar::_ZTV8QMenuBar) + 448u)
+
+Class QMessageBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMessageBox::QPrivateSignal (0x0x7f58dae7c9c0) 0 empty
+
+Vtable for QMessageBox
+QMessageBox::_ZTV11QMessageBox: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QMessageBox)
+16 (int (*)(...))QMessageBox::metaObject
+24 (int (*)(...))QMessageBox::qt_metacast
+32 (int (*)(...))QMessageBox::qt_metacall
+40 (int (*)(...))QMessageBox::~QMessageBox
+48 (int (*)(...))QMessageBox::~QMessageBox
+56 (int (*)(...))QMessageBox::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QMessageBox::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QMessageBox::resizeEvent
+280 (int (*)(...))QMessageBox::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QMessageBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QMessageBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QMessageBox)
+488 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD1Ev
+496 (int (*)(...))QMessageBox::_ZThn16_N11QMessageBoxD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QMessageBox
+ size=48 align=8
+ base size=48 base align=8
+QMessageBox (0x0x7f58dc536000) 0
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 16u)
+ QDialog (0x0x7f58dc536068) 0
+ primary-for QMessageBox (0x0x7f58dc536000)
+ QWidget (0x0x7f58e0e37690) 0
+ primary-for QDialog (0x0x7f58dc536068)
+ QObject (0x0x7f58dae7c120) 0
+ primary-for QWidget (0x0x7f58e0e37690)
+ QPaintDevice (0x0x7f58dae7c960) 16
+ vptr=((& QMessageBox::_ZTV11QMessageBox) + 488u)
+
+Class QMouseEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMouseEventTransition::QPrivateSignal (0x0x7f58daed0120) 0 empty
+
+Vtable for QMouseEventTransition
+QMouseEventTransition::_ZTV21QMouseEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QMouseEventTransition)
+16 (int (*)(...))QMouseEventTransition::metaObject
+24 (int (*)(...))QMouseEventTransition::qt_metacast
+32 (int (*)(...))QMouseEventTransition::qt_metacall
+40 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+48 (int (*)(...))QMouseEventTransition::~QMouseEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMouseEventTransition::eventTest
+120 (int (*)(...))QMouseEventTransition::onTransition
+
+Class QMouseEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QMouseEventTransition (0x0x7f58dc2d1a28) 0
+ vptr=((& QMouseEventTransition::_ZTV21QMouseEventTransition) + 16u)
+ QEventTransition (0x0x7f58dc3f77b8) 0
+ primary-for QMouseEventTransition (0x0x7f58dc2d1a28)
+ QAbstractTransition (0x0x7f58dc3f7a28) 0
+ primary-for QEventTransition (0x0x7f58dc3f77b8)
+ QObject (0x0x7f58daed00c0) 0
+ primary-for QAbstractTransition (0x0x7f58dc3f7a28)
+
+Class QOpenGLWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOpenGLWidget::QPrivateSignal (0x0x7f58daed03c0) 0 empty
+
+Vtable for QOpenGLWidget
+QOpenGLWidget::_ZTV13QOpenGLWidget: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QOpenGLWidget)
+16 (int (*)(...))QOpenGLWidget::metaObject
+24 (int (*)(...))QOpenGLWidget::qt_metacast
+32 (int (*)(...))QOpenGLWidget::qt_metacall
+40 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+48 (int (*)(...))QOpenGLWidget::~QOpenGLWidget
+56 (int (*)(...))QOpenGLWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QOpenGLWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QOpenGLWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QOpenGLWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QOpenGLWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QOpenGLWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QOpenGLWidget::initializeGL
+440 (int (*)(...))QOpenGLWidget::resizeGL
+448 (int (*)(...))QOpenGLWidget::paintGL
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI13QOpenGLWidget)
+472 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD1Ev
+480 (int (*)(...))QOpenGLWidget::_ZThn16_N13QOpenGLWidgetD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget11paintEngineEv
+504 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QOpenGLWidget::_ZThn16_NK13QOpenGLWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QOpenGLWidget
+ size=48 align=8
+ base size=48 base align=8
+QOpenGLWidget (0x0x7f58dc3f7e38) 0
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 16u)
+ QWidget (0x0x7f58e0c50540) 0
+ primary-for QOpenGLWidget (0x0x7f58dc3f7e38)
+ QObject (0x0x7f58daed02a0) 0
+ primary-for QWidget (0x0x7f58e0c50540)
+ QPaintDevice (0x0x7f58daed0300) 16
+ vptr=((& QOpenGLWidget::_ZTV13QOpenGLWidget) + 472u)
+
+Class QTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextEdit::QPrivateSignal (0x0x7f58daed05a0) 0 empty
+
+Class QTextEdit::ExtraSelection
+ size=24 align=8
+ base size=24 base align=8
+QTextEdit::ExtraSelection (0x0x7f58daed0600) 0
+
+Vtable for QTextEdit
+QTextEdit::_ZTV9QTextEdit: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTextEdit)
+16 (int (*)(...))QTextEdit::metaObject
+24 (int (*)(...))QTextEdit::qt_metacast
+32 (int (*)(...))QTextEdit::qt_metacall
+40 (int (*)(...))QTextEdit::~QTextEdit
+48 (int (*)(...))QTextEdit::~QTextEdit
+56 (int (*)(...))QTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextEdit::mousePressEvent
+176 (int (*)(...))QTextEdit::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextEdit::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextEdit::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextEdit::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI9QTextEdit)
+520 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD1Ev
+528 (int (*)(...))QTextEdit::_ZThn16_N9QTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QTextEdit (0x0x7f58dbe7b340) 0
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 16u)
+ QAbstractScrollArea (0x0x7f58dbe7b3a8) 0
+ primary-for QTextEdit (0x0x7f58dbe7b340)
+ QFrame (0x0x7f58dbe7b680) 0
+ primary-for QAbstractScrollArea (0x0x7f58dbe7b3a8)
+ QWidget (0x0x7f58e0c50a80) 0
+ primary-for QFrame (0x0x7f58dbe7b680)
+ QObject (0x0x7f58daed0480) 0
+ primary-for QWidget (0x0x7f58e0c50a80)
+ QPaintDevice (0x0x7f58daed04e0) 16
+ vptr=((& QTextEdit::_ZTV9QTextEdit) + 520u)
+
+Class QPlainTextEdit::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextEdit::QPrivateSignal (0x0x7f58daef0ae0) 0 empty
+
+Vtable for QPlainTextEdit
+QPlainTextEdit::_ZTV14QPlainTextEdit: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QPlainTextEdit)
+16 (int (*)(...))QPlainTextEdit::metaObject
+24 (int (*)(...))QPlainTextEdit::qt_metacast
+32 (int (*)(...))QPlainTextEdit::qt_metacall
+40 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+48 (int (*)(...))QPlainTextEdit::~QPlainTextEdit
+56 (int (*)(...))QPlainTextEdit::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QPlainTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QPlainTextEdit::mousePressEvent
+176 (int (*)(...))QPlainTextEdit::mouseReleaseEvent
+184 (int (*)(...))QPlainTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QPlainTextEdit::mouseMoveEvent
+200 (int (*)(...))QPlainTextEdit::wheelEvent
+208 (int (*)(...))QPlainTextEdit::keyPressEvent
+216 (int (*)(...))QPlainTextEdit::keyReleaseEvent
+224 (int (*)(...))QPlainTextEdit::focusInEvent
+232 (int (*)(...))QPlainTextEdit::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QPlainTextEdit::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QPlainTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QPlainTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QPlainTextEdit::dragEnterEvent
+320 (int (*)(...))QPlainTextEdit::dragMoveEvent
+328 (int (*)(...))QPlainTextEdit::dragLeaveEvent
+336 (int (*)(...))QPlainTextEdit::dropEvent
+344 (int (*)(...))QPlainTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QPlainTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QPlainTextEdit::inputMethodEvent
+416 (int (*)(...))QPlainTextEdit::inputMethodQuery
+424 (int (*)(...))QPlainTextEdit::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QPlainTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QPlainTextEdit::loadResource
+472 (int (*)(...))QPlainTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QPlainTextEdit::canInsertFromMimeData
+488 (int (*)(...))QPlainTextEdit::insertFromMimeData
+496 (int (*)(...))QPlainTextEdit::doSetTextCursor
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI14QPlainTextEdit)
+520 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD1Ev
+528 (int (*)(...))QPlainTextEdit::_ZThn16_N14QPlainTextEditD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QPlainTextEdit
+ size=48 align=8
+ base size=48 base align=8
+QPlainTextEdit (0x0x7f58dbe7b8f0) 0
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 16u)
+ QAbstractScrollArea (0x0x7f58dbe7ba90) 0
+ primary-for QPlainTextEdit (0x0x7f58dbe7b8f0)
+ QFrame (0x0x7f58dbe7baf8) 0
+ primary-for QAbstractScrollArea (0x0x7f58dbe7ba90)
+ QWidget (0x0x7f58e08ef000) 0
+ primary-for QFrame (0x0x7f58dbe7baf8)
+ QObject (0x0x7f58daef0960) 0
+ primary-for QWidget (0x0x7f58e08ef000)
+ QPaintDevice (0x0x7f58daef09c0) 16
+ vptr=((& QPlainTextEdit::_ZTV14QPlainTextEdit) + 520u)
+
+Class QPlainTextDocumentLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPlainTextDocumentLayout::QPrivateSignal (0x0x7f58daef0d80) 0 empty
+
+Vtable for QPlainTextDocumentLayout
+QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QPlainTextDocumentLayout)
+16 (int (*)(...))QPlainTextDocumentLayout::metaObject
+24 (int (*)(...))QPlainTextDocumentLayout::qt_metacast
+32 (int (*)(...))QPlainTextDocumentLayout::qt_metacall
+40 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+48 (int (*)(...))QPlainTextDocumentLayout::~QPlainTextDocumentLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPlainTextDocumentLayout::draw
+120 (int (*)(...))QPlainTextDocumentLayout::hitTest
+128 (int (*)(...))QPlainTextDocumentLayout::pageCount
+136 (int (*)(...))QPlainTextDocumentLayout::documentSize
+144 (int (*)(...))QPlainTextDocumentLayout::frameBoundingRect
+152 (int (*)(...))QPlainTextDocumentLayout::blockBoundingRect
+160 (int (*)(...))QPlainTextDocumentLayout::documentChanged
+168 (int (*)(...))QAbstractTextDocumentLayout::resizeInlineObject
+176 (int (*)(...))QAbstractTextDocumentLayout::positionInlineObject
+184 (int (*)(...))QAbstractTextDocumentLayout::drawInlineObject
+
+Class QPlainTextDocumentLayout
+ size=16 align=8
+ base size=16 base align=8
+QPlainTextDocumentLayout (0x0x7f58dbe7bb60) 0
+ vptr=((& QPlainTextDocumentLayout::_ZTV24QPlainTextDocumentLayout) + 16u)
+ QAbstractTextDocumentLayout (0x0x7f58dbe9da90) 0
+ primary-for QPlainTextDocumentLayout (0x0x7f58dbe7bb60)
+ QObject (0x0x7f58daef0b40) 0
+ primary-for QAbstractTextDocumentLayout (0x0x7f58dbe9da90)
+
+Class QProgressBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressBar::QPrivateSignal (0x0x7f58daf168a0) 0 empty
+
+Vtable for QProgressBar
+QProgressBar::_ZTV12QProgressBar: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QProgressBar)
+16 (int (*)(...))QProgressBar::metaObject
+24 (int (*)(...))QProgressBar::qt_metacast
+32 (int (*)(...))QProgressBar::qt_metacall
+40 (int (*)(...))QProgressBar::~QProgressBar
+48 (int (*)(...))QProgressBar::~QProgressBar
+56 (int (*)(...))QProgressBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QProgressBar::sizeHint
+136 (int (*)(...))QProgressBar::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QProgressBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QProgressBar::text
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI12QProgressBar)
+456 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD1Ev
+464 (int (*)(...))QProgressBar::_ZThn16_N12QProgressBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressBar
+ size=48 align=8
+ base size=48 base align=8
+QProgressBar (0x0x7f58dbe9daf8) 0
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 16u)
+ QWidget (0x0x7f58e090aa80) 0
+ primary-for QProgressBar (0x0x7f58dbe9daf8)
+ QObject (0x0x7f58daef0de0) 0
+ primary-for QWidget (0x0x7f58e090aa80)
+ QPaintDevice (0x0x7f58daf16840) 16
+ vptr=((& QProgressBar::_ZTV12QProgressBar) + 456u)
+
+Class QProgressDialog::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProgressDialog::QPrivateSignal (0x0x7f58daf16ba0) 0 empty
+
+Vtable for QProgressDialog
+QProgressDialog::_ZTV15QProgressDialog: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QProgressDialog)
+16 (int (*)(...))QProgressDialog::metaObject
+24 (int (*)(...))QProgressDialog::qt_metacast
+32 (int (*)(...))QProgressDialog::qt_metacall
+40 (int (*)(...))QProgressDialog::~QProgressDialog
+48 (int (*)(...))QProgressDialog::~QProgressDialog
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QDialog::setVisible
+128 (int (*)(...))QProgressDialog::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QProgressDialog::resizeEvent
+280 (int (*)(...))QProgressDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QProgressDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QProgressDialog::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QDialog::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI15QProgressDialog)
+488 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD1Ev
+496 (int (*)(...))QProgressDialog::_ZThn16_N15QProgressDialogD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QProgressDialog
+ size=48 align=8
+ base size=48 base align=8
+QProgressDialog (0x0x7f58dbe9dbc8) 0
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 16u)
+ QDialog (0x0x7f58dbe9dc30) 0
+ primary-for QProgressDialog (0x0x7f58dbe9dbc8)
+ QWidget (0x0x7f58e090af50) 0
+ primary-for QDialog (0x0x7f58dbe9dc30)
+ QObject (0x0x7f58daf16960) 0
+ primary-for QWidget (0x0x7f58e090af50)
+ QPaintDevice (0x0x7f58daf16b40) 16
+ vptr=((& QProgressDialog::_ZTV15QProgressDialog) + 488u)
+
+Class QProxyStyle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProxyStyle::QPrivateSignal (0x0x7f58daf40780) 0 empty
+
+Vtable for QProxyStyle
+QProxyStyle::_ZTV11QProxyStyle: 37u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QProxyStyle)
+16 (int (*)(...))QProxyStyle::metaObject
+24 (int (*)(...))QProxyStyle::qt_metacast
+32 (int (*)(...))QProxyStyle::qt_metacall
+40 (int (*)(...))QProxyStyle::~QProxyStyle
+48 (int (*)(...))QProxyStyle::~QProxyStyle
+56 (int (*)(...))QProxyStyle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProxyStyle::polish
+120 (int (*)(...))QProxyStyle::unpolish
+128 (int (*)(...))QProxyStyle::polish
+136 (int (*)(...))QProxyStyle::unpolish
+144 (int (*)(...))QProxyStyle::polish
+152 (int (*)(...))QProxyStyle::itemTextRect
+160 (int (*)(...))QProxyStyle::itemPixmapRect
+168 (int (*)(...))QProxyStyle::drawItemText
+176 (int (*)(...))QProxyStyle::drawItemPixmap
+184 (int (*)(...))QProxyStyle::standardPalette
+192 (int (*)(...))QProxyStyle::drawPrimitive
+200 (int (*)(...))QProxyStyle::drawControl
+208 (int (*)(...))QProxyStyle::subElementRect
+216 (int (*)(...))QProxyStyle::drawComplexControl
+224 (int (*)(...))QProxyStyle::hitTestComplexControl
+232 (int (*)(...))QProxyStyle::subControlRect
+240 (int (*)(...))QProxyStyle::pixelMetric
+248 (int (*)(...))QProxyStyle::sizeFromContents
+256 (int (*)(...))QProxyStyle::styleHint
+264 (int (*)(...))QProxyStyle::standardPixmap
+272 (int (*)(...))QProxyStyle::standardIcon
+280 (int (*)(...))QProxyStyle::generatedIconPixmap
+288 (int (*)(...))QProxyStyle::layoutSpacing
+
+Class QProxyStyle
+ size=16 align=8
+ base size=16 base align=8
+QProxyStyle (0x0x7f58dbe9df70) 0
+ vptr=((& QProxyStyle::_ZTV11QProxyStyle) + 16u)
+ QCommonStyle (0x0x7f58dbeb6000) 0
+ primary-for QProxyStyle (0x0x7f58dbe9df70)
+ QStyle (0x0x7f58dbeb6618) 0
+ primary-for QCommonStyle (0x0x7f58dbeb6000)
+ QObject (0x0x7f58daf40720) 0
+ primary-for QStyle (0x0x7f58dbeb6618)
+
+Class QRadioButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRadioButton::QPrivateSignal (0x0x7f58daf681e0) 0 empty
+
+Vtable for QRadioButton
+QRadioButton::_ZTV12QRadioButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QRadioButton)
+16 (int (*)(...))QRadioButton::metaObject
+24 (int (*)(...))QRadioButton::qt_metacast
+32 (int (*)(...))QRadioButton::qt_metacall
+40 (int (*)(...))QRadioButton::~QRadioButton
+48 (int (*)(...))QRadioButton::~QRadioButton
+56 (int (*)(...))QRadioButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QRadioButton::sizeHint
+136 (int (*)(...))QRadioButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractButton::mousePressEvent
+176 (int (*)(...))QAbstractButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QRadioButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QRadioButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QRadioButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QAbstractButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI12QRadioButton)
+472 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD1Ev
+480 (int (*)(...))QRadioButton::_ZThn16_N12QRadioButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QRadioButton
+ size=48 align=8
+ base size=48 base align=8
+QRadioButton (0x0x7f58dbeb6680) 0
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 16u)
+ QAbstractButton (0x0x7f58dbeb69c0) 0
+ primary-for QRadioButton (0x0x7f58dbeb6680)
+ QWidget (0x0x7f58e0968620) 0
+ primary-for QAbstractButton (0x0x7f58dbeb69c0)
+ QObject (0x0x7f58daf680c0) 0
+ primary-for QWidget (0x0x7f58e0968620)
+ QPaintDevice (0x0x7f58daf68120) 16
+ vptr=((& QRadioButton::_ZTV12QRadioButton) + 472u)
+
+Class QScrollBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScrollBar::QPrivateSignal (0x0x7f58daf68a80) 0 empty
+
+Vtable for QScrollBar
+QScrollBar::_ZTV10QScrollBar: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QScrollBar)
+16 (int (*)(...))QScrollBar::metaObject
+24 (int (*)(...))QScrollBar::qt_metacast
+32 (int (*)(...))QScrollBar::qt_metacall
+40 (int (*)(...))QScrollBar::~QScrollBar
+48 (int (*)(...))QScrollBar::~QScrollBar
+56 (int (*)(...))QScrollBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSlider::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QScrollBar::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QScrollBar::mousePressEvent
+176 (int (*)(...))QScrollBar::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QScrollBar::mouseMoveEvent
+200 (int (*)(...))QScrollBar::wheelEvent
+208 (int (*)(...))QAbstractSlider::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QScrollBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QScrollBar::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QScrollBar::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSlider::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QScrollBar::sliderChange
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI10QScrollBar)
+456 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD1Ev
+464 (int (*)(...))QScrollBar::_ZThn16_N10QScrollBarD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QScrollBar
+ size=48 align=8
+ base size=48 base align=8
+QScrollBar (0x0x7f58dbeb6a28) 0
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 16u)
+ QAbstractSlider (0x0x7f58dbed2a90) 0
+ primary-for QScrollBar (0x0x7f58dbeb6a28)
+ QWidget (0x0x7f58e09689a0) 0
+ primary-for QAbstractSlider (0x0x7f58dbed2a90)
+ QObject (0x0x7f58daf68960) 0
+ primary-for QWidget (0x0x7f58e09689a0)
+ QPaintDevice (0x0x7f58daf689c0) 16
+ vptr=((& QScrollBar::_ZTV10QScrollBar) + 456u)
+
+Vtable for QScrollerProperties
+QScrollerProperties::_ZTV19QScrollerProperties: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QScrollerProperties)
+16 (int (*)(...))QScrollerProperties::~QScrollerProperties
+24 (int (*)(...))QScrollerProperties::~QScrollerProperties
+
+Class QScrollerProperties
+ size=16 align=8
+ base size=16 base align=8
+QScrollerProperties (0x0x7f58daf8c3c0) 0
+ vptr=((& QScrollerProperties::_ZTV19QScrollerProperties) + 16u)
+
+Class QScroller::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QScroller::QPrivateSignal (0x0x7f58dafba1e0) 0 empty
+
+Vtable for QScroller
+QScroller::_ZTV9QScroller: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QScroller)
+16 (int (*)(...))QScroller::metaObject
+24 (int (*)(...))QScroller::qt_metacast
+32 (int (*)(...))QScroller::qt_metacall
+40 (int (*)(...))QScroller::~QScroller
+48 (int (*)(...))QScroller::~QScroller
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QScroller
+ size=24 align=8
+ base size=24 base align=8
+QScroller (0x0x7f58dbfdad68) 0
+ vptr=((& QScroller::_ZTV9QScroller) + 16u)
+ QObject (0x0x7f58dafba180) 0
+ primary-for QScroller (0x0x7f58dbfdad68)
+
+Class QShortcut::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QShortcut::QPrivateSignal (0x0x7f58dafdd5a0) 0 empty
+
+Vtable for QShortcut
+QShortcut::_ZTV9QShortcut: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QShortcut)
+16 (int (*)(...))QShortcut::metaObject
+24 (int (*)(...))QShortcut::qt_metacast
+32 (int (*)(...))QShortcut::qt_metacall
+40 (int (*)(...))QShortcut::~QShortcut
+48 (int (*)(...))QShortcut::~QShortcut
+56 (int (*)(...))QShortcut::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QShortcut
+ size=16 align=8
+ base size=16 base align=8
+QShortcut (0x0x7f58dbfdadd0) 0
+ vptr=((& QShortcut::_ZTV9QShortcut) + 16u)
+ QObject (0x0x7f58dafdd540) 0
+ primary-for QShortcut (0x0x7f58dbfdadd0)
+
+Class QSizeGrip::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSizeGrip::QPrivateSignal (0x0x7f58daa19a20) 0 empty
+
+Vtable for QSizeGrip
+QSizeGrip::_ZTV9QSizeGrip: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSizeGrip)
+16 (int (*)(...))QSizeGrip::metaObject
+24 (int (*)(...))QSizeGrip::qt_metacast
+32 (int (*)(...))QSizeGrip::qt_metacall
+40 (int (*)(...))QSizeGrip::~QSizeGrip
+48 (int (*)(...))QSizeGrip::~QSizeGrip
+56 (int (*)(...))QSizeGrip::event
+64 (int (*)(...))QSizeGrip::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QSizeGrip::setVisible
+128 (int (*)(...))QSizeGrip::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSizeGrip::mousePressEvent
+176 (int (*)(...))QSizeGrip::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSizeGrip::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSizeGrip::paintEvent
+264 (int (*)(...))QSizeGrip::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QSizeGrip::showEvent
+352 (int (*)(...))QSizeGrip::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI9QSizeGrip)
+448 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD1Ev
+456 (int (*)(...))QSizeGrip::_ZThn16_N9QSizeGripD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSizeGrip
+ size=48 align=8
+ base size=48 base align=8
+QSizeGrip (0x0x7f58dbc7f340) 0
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 16u)
+ QWidget (0x0x7f58e072c2a0) 0
+ primary-for QSizeGrip (0x0x7f58dbc7f340)
+ QObject (0x0x7f58daa19300) 0
+ primary-for QWidget (0x0x7f58e072c2a0)
+ QPaintDevice (0x0x7f58daa19360) 16
+ vptr=((& QSizeGrip::_ZTV9QSizeGrip) + 448u)
+
+Class QSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSpinBox::QPrivateSignal (0x0x7f58daa3f240) 0 empty
+
+Vtable for QSpinBox
+QSpinBox::_ZTV8QSpinBox: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QSpinBox)
+16 (int (*)(...))QSpinBox::metaObject
+24 (int (*)(...))QSpinBox::qt_metacast
+32 (int (*)(...))QSpinBox::qt_metacall
+40 (int (*)(...))QSpinBox::~QSpinBox
+48 (int (*)(...))QSpinBox::~QSpinBox
+56 (int (*)(...))QSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSpinBox::validate
+440 (int (*)(...))QSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QSpinBox::valueFromText
+480 (int (*)(...))QSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI8QSpinBox)
+504 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD1Ev
+512 (int (*)(...))QSpinBox::_ZThn16_N8QSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QSpinBox (0x0x7f58dbc7f3a8) 0
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 16u)
+ QAbstractSpinBox (0x0x7f58dbc7fd00) 0
+ primary-for QSpinBox (0x0x7f58dbc7f3a8)
+ QWidget (0x0x7f58e072c690) 0
+ primary-for QAbstractSpinBox (0x0x7f58dbc7fd00)
+ QObject (0x0x7f58daa19a80) 0
+ primary-for QWidget (0x0x7f58e072c690)
+ QPaintDevice (0x0x7f58daa3f1e0) 16
+ vptr=((& QSpinBox::_ZTV8QSpinBox) + 504u)
+
+Class QDoubleSpinBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDoubleSpinBox::QPrivateSignal (0x0x7f58daa3f780) 0 empty
+
+Vtable for QDoubleSpinBox
+QDoubleSpinBox::_ZTV14QDoubleSpinBox: 71u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+16 (int (*)(...))QDoubleSpinBox::metaObject
+24 (int (*)(...))QDoubleSpinBox::qt_metacast
+32 (int (*)(...))QDoubleSpinBox::qt_metacall
+40 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+48 (int (*)(...))QDoubleSpinBox::~QDoubleSpinBox
+56 (int (*)(...))QAbstractSpinBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QAbstractSpinBox::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractSpinBox::sizeHint
+136 (int (*)(...))QAbstractSpinBox::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractSpinBox::mousePressEvent
+176 (int (*)(...))QAbstractSpinBox::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractSpinBox::mouseMoveEvent
+200 (int (*)(...))QAbstractSpinBox::wheelEvent
+208 (int (*)(...))QAbstractSpinBox::keyPressEvent
+216 (int (*)(...))QAbstractSpinBox::keyReleaseEvent
+224 (int (*)(...))QAbstractSpinBox::focusInEvent
+232 (int (*)(...))QAbstractSpinBox::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QAbstractSpinBox::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractSpinBox::resizeEvent
+280 (int (*)(...))QAbstractSpinBox::closeEvent
+288 (int (*)(...))QAbstractSpinBox::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QAbstractSpinBox::showEvent
+352 (int (*)(...))QAbstractSpinBox::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QAbstractSpinBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QAbstractSpinBox::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDoubleSpinBox::validate
+440 (int (*)(...))QDoubleSpinBox::fixup
+448 (int (*)(...))QAbstractSpinBox::stepBy
+456 (int (*)(...))QAbstractSpinBox::clear
+464 (int (*)(...))QAbstractSpinBox::stepEnabled
+472 (int (*)(...))QDoubleSpinBox::valueFromText
+480 (int (*)(...))QDoubleSpinBox::textFromValue
+488 (int (*)(...))-16
+496 (int (*)(...))(& _ZTI14QDoubleSpinBox)
+504 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD1Ev
+512 (int (*)(...))QDoubleSpinBox::_ZThn16_N14QDoubleSpinBoxD0Ev
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QDoubleSpinBox
+ size=48 align=8
+ base size=48 base align=8
+QDoubleSpinBox (0x0x7f58dbc7fd68) 0
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 16u)
+ QAbstractSpinBox (0x0x7f58dbde6888) 0
+ primary-for QDoubleSpinBox (0x0x7f58dbc7fd68)
+ QWidget (0x0x7f58e072c9a0) 0
+ primary-for QAbstractSpinBox (0x0x7f58dbde6888)
+ QObject (0x0x7f58daa3f660) 0
+ primary-for QWidget (0x0x7f58e072c9a0)
+ QPaintDevice (0x0x7f58daa3f6c0) 16
+ vptr=((& QDoubleSpinBox::_ZTV14QDoubleSpinBox) + 504u)
+
+Class QSplashScreen::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplashScreen::QPrivateSignal (0x0x7f58daa5e3c0) 0 empty
+
+Vtable for QSplashScreen
+QSplashScreen::_ZTV13QSplashScreen: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSplashScreen)
+16 (int (*)(...))QSplashScreen::metaObject
+24 (int (*)(...))QSplashScreen::qt_metacast
+32 (int (*)(...))QSplashScreen::qt_metacall
+40 (int (*)(...))QSplashScreen::~QSplashScreen
+48 (int (*)(...))QSplashScreen::~QSplashScreen
+56 (int (*)(...))QSplashScreen::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplashScreen::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplashScreen::drawContents
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI13QSplashScreen)
+456 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD1Ev
+464 (int (*)(...))QSplashScreen::_ZThn16_N13QSplashScreenD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplashScreen
+ size=48 align=8
+ base size=48 base align=8
+QSplashScreen (0x0x7f58dbde68f0) 0
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 16u)
+ QWidget (0x0x7f58e072cd20) 0
+ primary-for QSplashScreen (0x0x7f58dbde68f0)
+ QObject (0x0x7f58daa3f960) 0
+ primary-for QWidget (0x0x7f58e072cd20)
+ QPaintDevice (0x0x7f58daa3f9c0) 16
+ vptr=((& QSplashScreen::_ZTV13QSplashScreen) + 456u)
+
+Class QSplitter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitter::QPrivateSignal (0x0x7f58daa5e7e0) 0 empty
+
+Vtable for QSplitter
+QSplitter::_ZTV9QSplitter: 65u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSplitter)
+16 (int (*)(...))QSplitter::metaObject
+24 (int (*)(...))QSplitter::qt_metacast
+32 (int (*)(...))QSplitter::qt_metacall
+40 (int (*)(...))QSplitter::~QSplitter
+48 (int (*)(...))QSplitter::~QSplitter
+56 (int (*)(...))QSplitter::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QSplitter::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitter::sizeHint
+136 (int (*)(...))QSplitter::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitter::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QSplitter::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QSplitter::createHandle
+440 (int (*)(...))-16
+448 (int (*)(...))(& _ZTI9QSplitter)
+456 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD1Ev
+464 (int (*)(...))QSplitter::_ZThn16_N9QSplitterD0Ev
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitter
+ size=48 align=8
+ base size=48 base align=8
+QSplitter (0x0x7f58dbde6a90) 0
+ vptr=((& QSplitter::_ZTV9QSplitter) + 16u)
+ QFrame (0x0x7f58dbde6c98) 0
+ primary-for QSplitter (0x0x7f58dbde6a90)
+ QWidget (0x0x7f58e0811150) 0
+ primary-for QFrame (0x0x7f58dbde6c98)
+ QObject (0x0x7f58daa5e420) 0
+ primary-for QWidget (0x0x7f58e0811150)
+ QPaintDevice (0x0x7f58daa5e780) 16
+ vptr=((& QSplitter::_ZTV9QSplitter) + 456u)
+
+Class QSplitterHandle::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSplitterHandle::QPrivateSignal (0x0x7f58daa5ecc0) 0 empty
+
+Vtable for QSplitterHandle
+QSplitterHandle::_ZTV15QSplitterHandle: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSplitterHandle)
+16 (int (*)(...))QSplitterHandle::metaObject
+24 (int (*)(...))QSplitterHandle::qt_metacast
+32 (int (*)(...))QSplitterHandle::qt_metacall
+40 (int (*)(...))QSplitterHandle::~QSplitterHandle
+48 (int (*)(...))QSplitterHandle::~QSplitterHandle
+56 (int (*)(...))QSplitterHandle::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QSplitterHandle::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QSplitterHandle::mousePressEvent
+176 (int (*)(...))QSplitterHandle::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QSplitterHandle::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QSplitterHandle::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QSplitterHandle::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI15QSplitterHandle)
+448 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD1Ev
+456 (int (*)(...))QSplitterHandle::_ZThn16_N15QSplitterHandleD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QSplitterHandle
+ size=48 align=8
+ base size=48 base align=8
+QSplitterHandle (0x0x7f58dbde6d00) 0
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 16u)
+ QWidget (0x0x7f58e0811460) 0
+ primary-for QSplitterHandle (0x0x7f58dbde6d00)
+ QObject (0x0x7f58daa5eae0) 0
+ primary-for QWidget (0x0x7f58e0811460)
+ QPaintDevice (0x0x7f58daa5eb40) 16
+ vptr=((& QSplitterHandle::_ZTV15QSplitterHandle) + 448u)
+
+Class QStackedLayout::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedLayout::QPrivateSignal (0x0x7f58daa5eea0) 0 empty
+
+Vtable for QStackedLayout
+QStackedLayout::_ZTV14QStackedLayout: 50u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedLayout)
+16 (int (*)(...))QStackedLayout::metaObject
+24 (int (*)(...))QStackedLayout::qt_metacast
+32 (int (*)(...))QStackedLayout::qt_metacall
+40 (int (*)(...))QStackedLayout::~QStackedLayout
+48 (int (*)(...))QStackedLayout::~QStackedLayout
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QLayout::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLayout::invalidate
+120 (int (*)(...))QLayout::geometry
+128 (int (*)(...))QStackedLayout::addItem
+136 (int (*)(...))QLayout::expandingDirections
+144 (int (*)(...))QStackedLayout::minimumSize
+152 (int (*)(...))QLayout::maximumSize
+160 (int (*)(...))QStackedLayout::setGeometry
+168 (int (*)(...))QStackedLayout::itemAt
+176 (int (*)(...))QStackedLayout::takeAt
+184 (int (*)(...))QLayout::indexOf
+192 (int (*)(...))QStackedLayout::count
+200 (int (*)(...))QLayout::isEmpty
+208 (int (*)(...))QLayout::controlTypes
+216 (int (*)(...))QLayout::layout
+224 (int (*)(...))QStackedLayout::sizeHint
+232 (int (*)(...))QStackedLayout::hasHeightForWidth
+240 (int (*)(...))QStackedLayout::heightForWidth
+248 (int (*)(...))-16
+256 (int (*)(...))(& _ZTI14QStackedLayout)
+264 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD1Ev
+272 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayoutD0Ev
+280 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout8sizeHintEv
+288 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout11minimumSizeEv
+296 (int (*)(...))QLayout::_ZThn16_NK7QLayout11maximumSizeEv
+304 (int (*)(...))QLayout::_ZThn16_NK7QLayout19expandingDirectionsEv
+312 (int (*)(...))QStackedLayout::_ZThn16_N14QStackedLayout11setGeometryERK5QRect
+320 (int (*)(...))QLayout::_ZThn16_NK7QLayout8geometryEv
+328 (int (*)(...))QLayout::_ZThn16_NK7QLayout7isEmptyEv
+336 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout17hasHeightForWidthEv
+344 (int (*)(...))QStackedLayout::_ZThn16_NK14QStackedLayout14heightForWidthEi
+352 (int (*)(...))QLayoutItem::minimumHeightForWidth
+360 (int (*)(...))QLayout::_ZThn16_N7QLayout10invalidateEv
+368 (int (*)(...))QLayoutItem::widget
+376 (int (*)(...))QLayout::_ZThn16_N7QLayout6layoutEv
+384 (int (*)(...))QLayoutItem::spacerItem
+392 (int (*)(...))QLayout::_ZThn16_NK7QLayout12controlTypesEv
+
+Class QStackedLayout
+ size=32 align=8
+ base size=28 base align=8
+QStackedLayout (0x0x7f58dba33a90) 0
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 16u)
+ QLayout (0x0x7f58e0811770) 0
+ primary-for QStackedLayout (0x0x7f58dba33a90)
+ QObject (0x0x7f58daa5ed20) 0
+ primary-for QLayout (0x0x7f58e0811770)
+ QLayoutItem (0x0x7f58daa5ede0) 16
+ vptr=((& QStackedLayout::_ZTV14QStackedLayout) + 264u)
+
+Class QStackedWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStackedWidget::QPrivateSignal (0x0x7f58daa869c0) 0 empty
+
+Vtable for QStackedWidget
+QStackedWidget::_ZTV14QStackedWidget: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QStackedWidget)
+16 (int (*)(...))QStackedWidget::metaObject
+24 (int (*)(...))QStackedWidget::qt_metacast
+32 (int (*)(...))QStackedWidget::qt_metacall
+40 (int (*)(...))QStackedWidget::~QStackedWidget
+48 (int (*)(...))QStackedWidget::~QStackedWidget
+56 (int (*)(...))QStackedWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI14QStackedWidget)
+448 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD1Ev
+456 (int (*)(...))QStackedWidget::_ZThn16_N14QStackedWidgetD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStackedWidget
+ size=48 align=8
+ base size=48 base align=8
+QStackedWidget (0x0x7f58dba33af8) 0
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 16u)
+ QFrame (0x0x7f58dba56548) 0
+ primary-for QStackedWidget (0x0x7f58dba33af8)
+ QWidget (0x0x7f58e0811c40) 0
+ primary-for QFrame (0x0x7f58dba56548)
+ QObject (0x0x7f58daa5ef00) 0
+ primary-for QWidget (0x0x7f58e0811c40)
+ QPaintDevice (0x0x7f58daa86960) 16
+ vptr=((& QStackedWidget::_ZTV14QStackedWidget) + 448u)
+
+Class QStatusBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStatusBar::QPrivateSignal (0x0x7f58daa86d80) 0 empty
+
+Vtable for QStatusBar
+QStatusBar::_ZTV10QStatusBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QStatusBar)
+16 (int (*)(...))QStatusBar::metaObject
+24 (int (*)(...))QStatusBar::qt_metacast
+32 (int (*)(...))QStatusBar::qt_metacall
+40 (int (*)(...))QStatusBar::~QStatusBar
+48 (int (*)(...))QStatusBar::~QStatusBar
+56 (int (*)(...))QStatusBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QStatusBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QStatusBar::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QStatusBar::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI10QStatusBar)
+448 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD1Ev
+456 (int (*)(...))QStatusBar::_ZThn16_N10QStatusBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QStatusBar
+ size=48 align=8
+ base size=48 base align=8
+QStatusBar (0x0x7f58dba565b0) 0
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 16u)
+ QWidget (0x0x7f58e04b2000) 0
+ primary-for QStatusBar (0x0x7f58dba565b0)
+ QObject (0x0x7f58daa86ae0) 0
+ primary-for QWidget (0x0x7f58e04b2000)
+ QPaintDevice (0x0x7f58daa86b40) 16
+ vptr=((& QStatusBar::_ZTV10QStatusBar) + 448u)
+
+Class QStyledItemDelegate::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStyledItemDelegate::QPrivateSignal (0x0x7f58da854e40) 0 empty
+
+Vtable for QStyledItemDelegate
+QStyledItemDelegate::_ZTV19QStyledItemDelegate: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QStyledItemDelegate)
+16 (int (*)(...))QStyledItemDelegate::metaObject
+24 (int (*)(...))QStyledItemDelegate::qt_metacast
+32 (int (*)(...))QStyledItemDelegate::qt_metacall
+40 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+48 (int (*)(...))QStyledItemDelegate::~QStyledItemDelegate
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QStyledItemDelegate::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStyledItemDelegate::paint
+120 (int (*)(...))QStyledItemDelegate::sizeHint
+128 (int (*)(...))QStyledItemDelegate::createEditor
+136 (int (*)(...))QAbstractItemDelegate::destroyEditor
+144 (int (*)(...))QStyledItemDelegate::setEditorData
+152 (int (*)(...))QStyledItemDelegate::setModelData
+160 (int (*)(...))QStyledItemDelegate::updateEditorGeometry
+168 (int (*)(...))QStyledItemDelegate::editorEvent
+176 (int (*)(...))QAbstractItemDelegate::helpEvent
+184 (int (*)(...))QAbstractItemDelegate::paintingRoles
+192 (int (*)(...))QStyledItemDelegate::displayText
+200 (int (*)(...))QStyledItemDelegate::initStyleOption
+
+Class QStyledItemDelegate
+ size=16 align=8
+ base size=16 base align=8
+QStyledItemDelegate (0x0x7f58dba566e8) 0
+ vptr=((& QStyledItemDelegate::_ZTV19QStyledItemDelegate) + 16u)
+ QAbstractItemDelegate (0x0x7f58dba56f70) 0
+ primary-for QStyledItemDelegate (0x0x7f58dba566e8)
+ QObject (0x0x7f58daa86de0) 0
+ primary-for QAbstractItemDelegate (0x0x7f58dba56f70)
+
+Class QStyleFactory
+ size=1 align=1
+ base size=0 base align=1
+QStyleFactory (0x0x7f58da854ea0) 0 empty
+
+Class QStylePainter
+ size=24 align=8
+ base size=24 base align=8
+QStylePainter (0x0x7f58dba77000) 0
+ QPainter (0x0x7f58da91e9c0) 0
+
+Class QStylePlugin::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStylePlugin::QPrivateSignal (0x0x7f58da946660) 0 empty
+
+Vtable for QStylePlugin
+QStylePlugin::_ZTV12QStylePlugin: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QStylePlugin)
+16 (int (*)(...))QStylePlugin::metaObject
+24 (int (*)(...))QStylePlugin::qt_metacast
+32 (int (*)(...))QStylePlugin::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+
+Class QStylePlugin
+ size=16 align=8
+ base size=16 base align=8
+QStylePlugin (0x0x7f58dba771a0) 0
+ vptr=((& QStylePlugin::_ZTV12QStylePlugin) + 16u)
+ QObject (0x0x7f58da946600) 0
+ primary-for QStylePlugin (0x0x7f58dba771a0)
+
+Class QSystemTrayIcon::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSystemTrayIcon::QPrivateSignal (0x0x7f58da6b2540) 0 empty
+
+Vtable for QSystemTrayIcon
+QSystemTrayIcon::_ZTV15QSystemTrayIcon: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSystemTrayIcon)
+16 (int (*)(...))QSystemTrayIcon::metaObject
+24 (int (*)(...))QSystemTrayIcon::qt_metacast
+32 (int (*)(...))QSystemTrayIcon::qt_metacall
+40 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+48 (int (*)(...))QSystemTrayIcon::~QSystemTrayIcon
+56 (int (*)(...))QSystemTrayIcon::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSystemTrayIcon
+ size=16 align=8
+ base size=16 base align=8
+QSystemTrayIcon (0x0x7f58dba99c30) 0
+ vptr=((& QSystemTrayIcon::_ZTV15QSystemTrayIcon) + 16u)
+ QObject (0x0x7f58da6b24e0) 0
+ primary-for QSystemTrayIcon (0x0x7f58dba99c30)
+
+Class QTableView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableView::QPrivateSignal (0x0x7f58da6b2de0) 0 empty
+
+Vtable for QTableView
+QTableView::_ZTV10QTableView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTableView)
+16 (int (*)(...))QTableView::metaObject
+24 (int (*)(...))QTableView::qt_metacast
+32 (int (*)(...))QTableView::qt_metacall
+40 (int (*)(...))QTableView::~QTableView
+48 (int (*)(...))QTableView::~QTableView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableView::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI10QTableView)
+784 (int (*)(...))QTableView::_ZThn16_N10QTableViewD1Ev
+792 (int (*)(...))QTableView::_ZThn16_N10QTableViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableView
+ size=48 align=8
+ base size=48 base align=8
+QTableView (0x0x7f58dba99ea0) 0
+ vptr=((& QTableView::_ZTV10QTableView) + 16u)
+ QAbstractItemView (0x0x7f58dbbf15b0) 0
+ primary-for QTableView (0x0x7f58dba99ea0)
+ QAbstractScrollArea (0x0x7f58dba144e0) 0
+ primary-for QAbstractItemView (0x0x7f58dbbf15b0)
+ QFrame (0x0x7f58dba14548) 0
+ primary-for QAbstractScrollArea (0x0x7f58dba144e0)
+ QWidget (0x0x7f58e059ccb0) 0
+ primary-for QFrame (0x0x7f58dba14548)
+ QObject (0x0x7f58da6b2cc0) 0
+ primary-for QWidget (0x0x7f58e059ccb0)
+ QPaintDevice (0x0x7f58da6b2d20) 16
+ vptr=((& QTableView::_ZTV10QTableView) + 784u)
+
+Class QTableWidgetSelectionRange
+ size=16 align=4
+ base size=16 base align=4
+QTableWidgetSelectionRange (0x0x7f58da700420) 0
+
+Vtable for QTableWidgetItem
+QTableWidgetItem::_ZTV16QTableWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QTableWidgetItem)
+16 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+24 (int (*)(...))QTableWidgetItem::~QTableWidgetItem
+32 (int (*)(...))QTableWidgetItem::clone
+40 (int (*)(...))QTableWidgetItem::data
+48 (int (*)(...))QTableWidgetItem::setData
+56 (int (*)(...))QTableWidgetItem::operator<
+64 (int (*)(...))QTableWidgetItem::read
+72 (int (*)(...))QTableWidgetItem::write
+
+Class QTableWidgetItem
+ size=48 align=8
+ base size=44 base align=8
+QTableWidgetItem (0x0x7f58da700480) 0
+ vptr=((& QTableWidgetItem::_ZTV16QTableWidgetItem) + 16u)
+
+Class QTableWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTableWidget::QPrivateSignal (0x0x7f58da72c240) 0 empty
+
+Vtable for QTableWidget
+QTableWidget::_ZTV12QTableWidget: 110u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTableWidget)
+16 (int (*)(...))QTableWidget::metaObject
+24 (int (*)(...))QTableWidget::qt_metacast
+32 (int (*)(...))QTableWidget::qt_metacall
+40 (int (*)(...))QTableWidget::~QTableWidget
+48 (int (*)(...))QTableWidget::~QTableWidget
+56 (int (*)(...))QTableWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTableView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QAbstractItemView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractItemView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTableView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QAbstractItemView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTableWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QTableView::scrollContentsBy
+456 (int (*)(...))QTableView::viewportSizeHint
+464 (int (*)(...))QTableWidget::setModel
+472 (int (*)(...))QTableView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QTableView::visualRect
+496 (int (*)(...))QTableView::scrollTo
+504 (int (*)(...))QTableView::indexAt
+512 (int (*)(...))QTableView::sizeHintForRow
+520 (int (*)(...))QTableView::sizeHintForColumn
+528 (int (*)(...))QAbstractItemView::reset
+536 (int (*)(...))QTableView::setRootIndex
+544 (int (*)(...))QTableView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QAbstractItemView::dataChanged
+568 (int (*)(...))QAbstractItemView::rowsInserted
+576 (int (*)(...))QAbstractItemView::rowsAboutToBeRemoved
+584 (int (*)(...))QTableView::selectionChanged
+592 (int (*)(...))QTableView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTableView::updateGeometries
+624 (int (*)(...))QTableView::verticalScrollbarAction
+632 (int (*)(...))QTableView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTableView::moveCursor
+688 (int (*)(...))QTableView::horizontalOffset
+696 (int (*)(...))QTableView::verticalOffset
+704 (int (*)(...))QTableView::isIndexHidden
+712 (int (*)(...))QTableView::setSelection
+720 (int (*)(...))QTableView::visualRegionForSelection
+728 (int (*)(...))QTableView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QTableView::viewOptions
+768 (int (*)(...))QTableWidget::mimeTypes
+776 (int (*)(...))QTableWidget::mimeData
+784 (int (*)(...))QTableWidget::dropMimeData
+792 (int (*)(...))QTableWidget::supportedDropActions
+800 (int (*)(...))-16
+808 (int (*)(...))(& _ZTI12QTableWidget)
+816 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD1Ev
+824 (int (*)(...))QTableWidget::_ZThn16_N12QTableWidgetD0Ev
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTableWidget
+ size=48 align=8
+ base size=48 base align=8
+QTableWidget (0x0x7f58dba14d68) 0
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 16u)
+ QTableView (0x0x7f58dba14dd0) 0
+ primary-for QTableWidget (0x0x7f58dba14d68)
+ QAbstractItemView (0x0x7f58dba14f70) 0
+ primary-for QTableView (0x0x7f58dba14dd0)
+ QAbstractScrollArea (0x0x7f58db673000) 0
+ primary-for QAbstractItemView (0x0x7f58dba14f70)
+ QFrame (0x0x7f58db6731a0) 0
+ primary-for QAbstractScrollArea (0x0x7f58db673000)
+ QWidget (0x0x7f58e0646380) 0
+ primary-for QFrame (0x0x7f58db6731a0)
+ QObject (0x0x7f58da7008a0) 0
+ primary-for QWidget (0x0x7f58e0646380)
+ QPaintDevice (0x0x7f58da72c1e0) 16
+ vptr=((& QTableWidget::_ZTV12QTableWidget) + 816u)
+
+Class QTextBrowser::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTextBrowser::QPrivateSignal (0x0x7f58da772000) 0 empty
+
+Vtable for QTextBrowser
+QTextBrowser::_ZTV12QTextBrowser: 78u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTextBrowser)
+16 (int (*)(...))QTextBrowser::metaObject
+24 (int (*)(...))QTextBrowser::qt_metacast
+32 (int (*)(...))QTextBrowser::qt_metacall
+40 (int (*)(...))QTextBrowser::~QTextBrowser
+48 (int (*)(...))QTextBrowser::~QTextBrowser
+56 (int (*)(...))QTextBrowser::event
+64 (int (*)(...))QAbstractScrollArea::eventFilter
+72 (int (*)(...))QTextEdit::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTextBrowser::mousePressEvent
+176 (int (*)(...))QTextBrowser::mouseReleaseEvent
+184 (int (*)(...))QTextEdit::mouseDoubleClickEvent
+192 (int (*)(...))QTextBrowser::mouseMoveEvent
+200 (int (*)(...))QTextEdit::wheelEvent
+208 (int (*)(...))QTextBrowser::keyPressEvent
+216 (int (*)(...))QTextEdit::keyReleaseEvent
+224 (int (*)(...))QTextEdit::focusInEvent
+232 (int (*)(...))QTextBrowser::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTextBrowser::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QTextEdit::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QTextEdit::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QTextEdit::dragEnterEvent
+320 (int (*)(...))QTextEdit::dragMoveEvent
+328 (int (*)(...))QTextEdit::dragLeaveEvent
+336 (int (*)(...))QTextEdit::dropEvent
+344 (int (*)(...))QTextEdit::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QTextEdit::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QTextEdit::inputMethodEvent
+416 (int (*)(...))QTextEdit::inputMethodQuery
+424 (int (*)(...))QTextBrowser::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractScrollArea::viewportEvent
+448 (int (*)(...))QTextEdit::scrollContentsBy
+456 (int (*)(...))QAbstractScrollArea::viewportSizeHint
+464 (int (*)(...))QTextBrowser::loadResource
+472 (int (*)(...))QTextEdit::createMimeDataFromSelection
+480 (int (*)(...))QTextEdit::canInsertFromMimeData
+488 (int (*)(...))QTextEdit::insertFromMimeData
+496 (int (*)(...))QTextEdit::doSetTextCursor
+504 (int (*)(...))QTextBrowser::setSource
+512 (int (*)(...))QTextBrowser::backward
+520 (int (*)(...))QTextBrowser::forward
+528 (int (*)(...))QTextBrowser::home
+536 (int (*)(...))QTextBrowser::reload
+544 (int (*)(...))-16
+552 (int (*)(...))(& _ZTI12QTextBrowser)
+560 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD1Ev
+568 (int (*)(...))QTextBrowser::_ZThn16_N12QTextBrowserD0Ev
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+584 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+592 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+600 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+608 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+616 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTextBrowser
+ size=48 align=8
+ base size=48 base align=8
+QTextBrowser (0x0x7f58db673208) 0
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 16u)
+ QTextEdit (0x0x7f58db673270) 0
+ primary-for QTextBrowser (0x0x7f58db673208)
+ QAbstractScrollArea (0x0x7f58db673f70) 0
+ primary-for QTextEdit (0x0x7f58db673270)
+ QFrame (0x0x7f58db695000) 0
+ primary-for QAbstractScrollArea (0x0x7f58db673f70)
+ QWidget (0x0x7f58e0646a80) 0
+ primary-for QFrame (0x0x7f58db695000)
+ QObject (0x0x7f58da72c540) 0
+ primary-for QWidget (0x0x7f58e0646a80)
+ QPaintDevice (0x0x7f58da72c5a0) 16
+ vptr=((& QTextBrowser::_ZTV12QTextBrowser) + 560u)
+
+Class QToolBar::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBar::QPrivateSignal (0x0x7f58da772840) 0 empty
+
+Vtable for QToolBar
+QToolBar::_ZTV8QToolBar: 64u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBar)
+16 (int (*)(...))QToolBar::metaObject
+24 (int (*)(...))QToolBar::qt_metacast
+32 (int (*)(...))QToolBar::qt_metacall
+40 (int (*)(...))QToolBar::~QToolBar
+48 (int (*)(...))QToolBar::~QToolBar
+56 (int (*)(...))QToolBar::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QToolBar::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolBar::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBar::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))-16
+440 (int (*)(...))(& _ZTI8QToolBar)
+448 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD1Ev
+456 (int (*)(...))QToolBar::_ZThn16_N8QToolBarD0Ev
+464 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+472 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBar
+ size=48 align=8
+ base size=48 base align=8
+QToolBar (0x0x7f58db695340) 0
+ vptr=((& QToolBar::_ZTV8QToolBar) + 16u)
+ QWidget (0x0x7f58e0646d90) 0
+ primary-for QToolBar (0x0x7f58db695340)
+ QObject (0x0x7f58da772060) 0
+ primary-for QWidget (0x0x7f58e0646d90)
+ QPaintDevice (0x0x7f58da7727e0) 16
+ vptr=((& QToolBar::_ZTV8QToolBar) + 448u)
+
+Class QToolBox::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolBox::QPrivateSignal (0x0x7f58da594cc0) 0 empty
+
+Vtable for QToolBox
+QToolBox::_ZTV8QToolBox: 66u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QToolBox)
+16 (int (*)(...))QToolBox::metaObject
+24 (int (*)(...))QToolBox::qt_metacast
+32 (int (*)(...))QToolBox::qt_metacall
+40 (int (*)(...))QToolBox::~QToolBox
+48 (int (*)(...))QToolBox::~QToolBox
+56 (int (*)(...))QToolBox::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QFrame::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QFrame::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QToolBox::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolBox::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolBox::itemInserted
+440 (int (*)(...))QToolBox::itemRemoved
+448 (int (*)(...))-16
+456 (int (*)(...))(& _ZTI8QToolBox)
+464 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD1Ev
+472 (int (*)(...))QToolBox::_ZThn16_N8QToolBoxD0Ev
+480 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolBox
+ size=48 align=8
+ base size=48 base align=8
+QToolBox (0x0x7f58db1ea340) 0
+ vptr=((& QToolBox::_ZTV8QToolBox) + 16u)
+ QFrame (0x0x7f58db1ea3a8) 0
+ primary-for QToolBox (0x0x7f58db1ea340)
+ QWidget (0x0x7f58e0667000) 0
+ primary-for QFrame (0x0x7f58db1ea3a8)
+ QObject (0x0x7f58da594ba0) 0
+ primary-for QWidget (0x0x7f58e0667000)
+ QPaintDevice (0x0x7f58da594c00) 16
+ vptr=((& QToolBox::_ZTV8QToolBox) + 464u)
+
+Class QToolButton::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QToolButton::QPrivateSignal (0x0x7f58da5b5900) 0 empty
+
+Vtable for QToolButton
+QToolButton::_ZTV11QToolButton: 67u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QToolButton)
+16 (int (*)(...))QToolButton::metaObject
+24 (int (*)(...))QToolButton::qt_metacast
+32 (int (*)(...))QToolButton::qt_metacall
+40 (int (*)(...))QToolButton::~QToolButton
+48 (int (*)(...))QToolButton::~QToolButton
+56 (int (*)(...))QToolButton::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QToolButton::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QToolButton::sizeHint
+136 (int (*)(...))QToolButton::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QToolButton::mousePressEvent
+176 (int (*)(...))QToolButton::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QAbstractButton::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QAbstractButton::keyPressEvent
+216 (int (*)(...))QAbstractButton::keyReleaseEvent
+224 (int (*)(...))QAbstractButton::focusInEvent
+232 (int (*)(...))QAbstractButton::focusOutEvent
+240 (int (*)(...))QToolButton::enterEvent
+248 (int (*)(...))QToolButton::leaveEvent
+256 (int (*)(...))QToolButton::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QToolButton::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QToolButton::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QToolButton::hitButton
+440 (int (*)(...))QAbstractButton::checkStateSet
+448 (int (*)(...))QToolButton::nextCheckState
+456 (int (*)(...))-16
+464 (int (*)(...))(& _ZTI11QToolButton)
+472 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD1Ev
+480 (int (*)(...))QToolButton::_ZThn16_N11QToolButtonD0Ev
+488 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+496 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QToolButton
+ size=48 align=8
+ base size=48 base align=8
+QToolButton (0x0x7f58db1ea750) 0
+ vptr=((& QToolButton::_ZTV11QToolButton) + 16u)
+ QAbstractButton (0x0x7f58db1ea7b8) 0
+ primary-for QToolButton (0x0x7f58db1ea750)
+ QWidget (0x0x7f58e0667540) 0
+ primary-for QAbstractButton (0x0x7f58db1ea7b8)
+ QObject (0x0x7f58da594ea0) 0
+ primary-for QWidget (0x0x7f58e0667540)
+ QPaintDevice (0x0x7f58da594f00) 16
+ vptr=((& QToolButton::_ZTV11QToolButton) + 472u)
+
+Class QToolTip
+ size=1 align=1
+ base size=0 base align=1
+QToolTip (0x0x7f58da5b5960) 0 empty
+
+Class QTreeView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeView::QPrivateSignal (0x0x7f58da5b5c60) 0 empty
+
+Vtable for QTreeView
+QTreeView::_ZTV9QTreeView: 108u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTreeView)
+16 (int (*)(...))QTreeView::metaObject
+24 (int (*)(...))QTreeView::qt_metacast
+32 (int (*)(...))QTreeView::qt_metacall
+40 (int (*)(...))QTreeView::~QTreeView
+48 (int (*)(...))QTreeView::~QTreeView
+56 (int (*)(...))QAbstractItemView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QAbstractItemView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeView::setModel
+472 (int (*)(...))QTreeView::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))-16
+792 (int (*)(...))(& _ZTI9QTreeView)
+800 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD1Ev
+808 (int (*)(...))QTreeView::_ZThn16_N9QTreeViewD0Ev
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeView
+ size=48 align=8
+ base size=48 base align=8
+QTreeView (0x0x7f58db205340) 0
+ vptr=((& QTreeView::_ZTV9QTreeView) + 16u)
+ QAbstractItemView (0x0x7f58db2053a8) 0
+ primary-for QTreeView (0x0x7f58db205340)
+ QAbstractScrollArea (0x0x7f58db312d68) 0
+ primary-for QAbstractItemView (0x0x7f58db2053a8)
+ QFrame (0x0x7f58db33b138) 0
+ primary-for QAbstractScrollArea (0x0x7f58db312d68)
+ QWidget (0x0x7f58e0667b60) 0
+ primary-for QFrame (0x0x7f58db33b138)
+ QObject (0x0x7f58da5b5a20) 0
+ primary-for QWidget (0x0x7f58e0667b60)
+ QPaintDevice (0x0x7f58da5b5c00) 16
+ vptr=((& QTreeView::_ZTV9QTreeView) + 800u)
+
+Class QTreeWidgetItemIterator
+ size=24 align=8
+ base size=20 base align=8
+QTreeWidgetItemIterator (0x0x7f58da378420) 0
+
+Vtable for QTreeWidgetItem
+QTreeWidgetItem::_ZTV15QTreeWidgetItem: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QTreeWidgetItem)
+16 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+24 (int (*)(...))QTreeWidgetItem::~QTreeWidgetItem
+32 (int (*)(...))QTreeWidgetItem::clone
+40 (int (*)(...))QTreeWidgetItem::data
+48 (int (*)(...))QTreeWidgetItem::setData
+56 (int (*)(...))QTreeWidgetItem::operator<
+64 (int (*)(...))QTreeWidgetItem::read
+72 (int (*)(...))QTreeWidgetItem::write
+
+Class QTreeWidgetItem
+ size=64 align=8
+ base size=60 base align=8
+QTreeWidgetItem (0x0x7f58da12de40) 0
+ vptr=((& QTreeWidgetItem::_ZTV15QTreeWidgetItem) + 16u)
+
+Class QTreeWidget::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTreeWidget::QPrivateSignal (0x0x7f58d9dd7900) 0 empty
+
+Vtable for QTreeWidget
+QTreeWidget::_ZTV11QTreeWidget: 112u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTreeWidget)
+16 (int (*)(...))QTreeWidget::metaObject
+24 (int (*)(...))QTreeWidget::qt_metacast
+32 (int (*)(...))QTreeWidget::qt_metacall
+40 (int (*)(...))QTreeWidget::~QTreeWidget
+48 (int (*)(...))QTreeWidget::~QTreeWidget
+56 (int (*)(...))QTreeWidget::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QTreeView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QTreeView::mousePressEvent
+176 (int (*)(...))QTreeView::mouseReleaseEvent
+184 (int (*)(...))QTreeView::mouseDoubleClickEvent
+192 (int (*)(...))QTreeView::mouseMoveEvent
+200 (int (*)(...))QAbstractScrollArea::wheelEvent
+208 (int (*)(...))QTreeView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QTreeView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QAbstractItemView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QTreeView::dragMoveEvent
+328 (int (*)(...))QAbstractItemView::dragLeaveEvent
+336 (int (*)(...))QTreeWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QTreeView::viewportEvent
+448 (int (*)(...))QTreeView::scrollContentsBy
+456 (int (*)(...))QTreeView::viewportSizeHint
+464 (int (*)(...))QTreeWidget::setModel
+472 (int (*)(...))QTreeWidget::setSelectionModel
+480 (int (*)(...))QTreeView::keyboardSearch
+488 (int (*)(...))QTreeView::visualRect
+496 (int (*)(...))QTreeView::scrollTo
+504 (int (*)(...))QTreeView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QTreeView::sizeHintForColumn
+528 (int (*)(...))QTreeView::reset
+536 (int (*)(...))QTreeView::setRootIndex
+544 (int (*)(...))QTreeView::doItemsLayout
+552 (int (*)(...))QTreeView::selectAll
+560 (int (*)(...))QTreeView::dataChanged
+568 (int (*)(...))QTreeView::rowsInserted
+576 (int (*)(...))QTreeView::rowsAboutToBeRemoved
+584 (int (*)(...))QTreeView::selectionChanged
+592 (int (*)(...))QTreeView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QTreeView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QTreeView::horizontalScrollbarAction
+640 (int (*)(...))QTreeView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QTreeView::moveCursor
+688 (int (*)(...))QTreeView::horizontalOffset
+696 (int (*)(...))QTreeView::verticalOffset
+704 (int (*)(...))QTreeView::isIndexHidden
+712 (int (*)(...))QTreeView::setSelection
+720 (int (*)(...))QTreeView::visualRegionForSelection
+728 (int (*)(...))QTreeView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QAbstractItemView::startDrag
+760 (int (*)(...))QAbstractItemView::viewOptions
+768 (int (*)(...))QTreeView::drawRow
+776 (int (*)(...))QTreeView::drawBranches
+784 (int (*)(...))QTreeWidget::mimeTypes
+792 (int (*)(...))QTreeWidget::mimeData
+800 (int (*)(...))QTreeWidget::dropMimeData
+808 (int (*)(...))QTreeWidget::supportedDropActions
+816 (int (*)(...))-16
+824 (int (*)(...))(& _ZTI11QTreeWidget)
+832 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD1Ev
+840 (int (*)(...))QTreeWidget::_ZThn16_N11QTreeWidgetD0Ev
+848 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+856 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+864 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+872 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+880 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+888 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QTreeWidget
+ size=48 align=8
+ base size=48 base align=8
+QTreeWidget (0x0x7f58db33bc30) 0
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 16u)
+ QTreeView (0x0x7f58db33bd00) 0
+ primary-for QTreeWidget (0x0x7f58db33bc30)
+ QAbstractItemView (0x0x7f58db036b60) 0
+ primary-for QTreeView (0x0x7f58db33bd00)
+ QAbstractScrollArea (0x0x7f58db036bc8) 0
+ primary-for QAbstractItemView (0x0x7f58db036b60)
+ QFrame (0x0x7f58db036d68) 0
+ primary-for QAbstractScrollArea (0x0x7f58db036bc8)
+ QWidget (0x0x7f58e045bcb0) 0
+ primary-for QFrame (0x0x7f58db036d68)
+ QObject (0x0x7f58d9dd77e0) 0
+ primary-for QWidget (0x0x7f58e045bcb0)
+ QPaintDevice (0x0x7f58d9dd7840) 16
+ vptr=((& QTreeWidget::_ZTV11QTreeWidget) + 832u)
+
+Class QUndoGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoGroup::QPrivateSignal (0x0x7f58d9e076c0) 0 empty
+
+Vtable for QUndoGroup
+QUndoGroup::_ZTV10QUndoGroup: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoGroup)
+16 (int (*)(...))QUndoGroup::metaObject
+24 (int (*)(...))QUndoGroup::qt_metacast
+32 (int (*)(...))QUndoGroup::qt_metacall
+40 (int (*)(...))QUndoGroup::~QUndoGroup
+48 (int (*)(...))QUndoGroup::~QUndoGroup
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoGroup
+ size=16 align=8
+ base size=16 base align=8
+QUndoGroup (0x0x7f58db13cf70) 0
+ vptr=((& QUndoGroup::_ZTV10QUndoGroup) + 16u)
+ QObject (0x0x7f58d9e07660) 0
+ primary-for QUndoGroup (0x0x7f58db13cf70)
+
+Vtable for QUndoCommand
+QUndoCommand::_ZTV12QUndoCommand: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QUndoCommand)
+16 (int (*)(...))QUndoCommand::~QUndoCommand
+24 (int (*)(...))QUndoCommand::~QUndoCommand
+32 (int (*)(...))QUndoCommand::undo
+40 (int (*)(...))QUndoCommand::redo
+48 (int (*)(...))QUndoCommand::id
+56 (int (*)(...))QUndoCommand::mergeWith
+
+Class QUndoCommand
+ size=16 align=8
+ base size=16 base align=8
+QUndoCommand (0x0x7f58d9e07d80) 0
+ vptr=((& QUndoCommand::_ZTV12QUndoCommand) + 16u)
+
+Class QUndoStack::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoStack::QPrivateSignal (0x0x7f58d9e2b300) 0 empty
+
+Vtable for QUndoStack
+QUndoStack::_ZTV10QUndoStack: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QUndoStack)
+16 (int (*)(...))QUndoStack::metaObject
+24 (int (*)(...))QUndoStack::qt_metacast
+32 (int (*)(...))QUndoStack::qt_metacall
+40 (int (*)(...))QUndoStack::~QUndoStack
+48 (int (*)(...))QUndoStack::~QUndoStack
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QUndoStack
+ size=16 align=8
+ base size=16 base align=8
+QUndoStack (0x0x7f58dae38000) 0
+ vptr=((& QUndoStack::_ZTV10QUndoStack) + 16u)
+ QObject (0x0x7f58d9e07de0) 0
+ primary-for QUndoStack (0x0x7f58dae38000)
+
+Class QUndoView::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QUndoView::QPrivateSignal (0x0x7f58d9e2b900) 0 empty
+
+Vtable for QUndoView
+QUndoView::_ZTV9QUndoView: 106u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QUndoView)
+16 (int (*)(...))QUndoView::metaObject
+24 (int (*)(...))QUndoView::qt_metacast
+32 (int (*)(...))QUndoView::qt_metacall
+40 (int (*)(...))QUndoView::~QUndoView
+48 (int (*)(...))QUndoView::~QUndoView
+56 (int (*)(...))QListView::event
+64 (int (*)(...))QAbstractItemView::eventFilter
+72 (int (*)(...))QListView::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QAbstractScrollArea::sizeHint
+136 (int (*)(...))QAbstractScrollArea::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QAbstractItemView::mousePressEvent
+176 (int (*)(...))QListView::mouseReleaseEvent
+184 (int (*)(...))QAbstractItemView::mouseDoubleClickEvent
+192 (int (*)(...))QListView::mouseMoveEvent
+200 (int (*)(...))QListView::wheelEvent
+208 (int (*)(...))QAbstractItemView::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QAbstractItemView::focusInEvent
+232 (int (*)(...))QAbstractItemView::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QListView::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QListView::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QAbstractScrollArea::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QAbstractItemView::dragEnterEvent
+320 (int (*)(...))QListView::dragMoveEvent
+328 (int (*)(...))QListView::dragLeaveEvent
+336 (int (*)(...))QListView::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QFrame::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QAbstractItemView::inputMethodEvent
+416 (int (*)(...))QAbstractItemView::inputMethodQuery
+424 (int (*)(...))QAbstractItemView::focusNextPrevChild
+432 (int (*)(...))QAbstractScrollArea::setupViewport
+440 (int (*)(...))QAbstractItemView::viewportEvent
+448 (int (*)(...))QListView::scrollContentsBy
+456 (int (*)(...))QListView::viewportSizeHint
+464 (int (*)(...))QAbstractItemView::setModel
+472 (int (*)(...))QAbstractItemView::setSelectionModel
+480 (int (*)(...))QAbstractItemView::keyboardSearch
+488 (int (*)(...))QListView::visualRect
+496 (int (*)(...))QListView::scrollTo
+504 (int (*)(...))QListView::indexAt
+512 (int (*)(...))QAbstractItemView::sizeHintForRow
+520 (int (*)(...))QAbstractItemView::sizeHintForColumn
+528 (int (*)(...))QListView::reset
+536 (int (*)(...))QListView::setRootIndex
+544 (int (*)(...))QListView::doItemsLayout
+552 (int (*)(...))QAbstractItemView::selectAll
+560 (int (*)(...))QListView::dataChanged
+568 (int (*)(...))QListView::rowsInserted
+576 (int (*)(...))QListView::rowsAboutToBeRemoved
+584 (int (*)(...))QListView::selectionChanged
+592 (int (*)(...))QListView::currentChanged
+600 (int (*)(...))QAbstractItemView::updateEditorData
+608 (int (*)(...))QAbstractItemView::updateEditorGeometries
+616 (int (*)(...))QListView::updateGeometries
+624 (int (*)(...))QAbstractItemView::verticalScrollbarAction
+632 (int (*)(...))QAbstractItemView::horizontalScrollbarAction
+640 (int (*)(...))QAbstractItemView::verticalScrollbarValueChanged
+648 (int (*)(...))QAbstractItemView::horizontalScrollbarValueChanged
+656 (int (*)(...))QAbstractItemView::closeEditor
+664 (int (*)(...))QAbstractItemView::commitData
+672 (int (*)(...))QAbstractItemView::editorDestroyed
+680 (int (*)(...))QListView::moveCursor
+688 (int (*)(...))QListView::horizontalOffset
+696 (int (*)(...))QListView::verticalOffset
+704 (int (*)(...))QListView::isIndexHidden
+712 (int (*)(...))QListView::setSelection
+720 (int (*)(...))QListView::visualRegionForSelection
+728 (int (*)(...))QListView::selectedIndexes
+736 (int (*)(...))QAbstractItemView::edit
+744 (int (*)(...))QAbstractItemView::selectionCommand
+752 (int (*)(...))QListView::startDrag
+760 (int (*)(...))QListView::viewOptions
+768 (int (*)(...))-16
+776 (int (*)(...))(& _ZTI9QUndoView)
+784 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD1Ev
+792 (int (*)(...))QUndoView::_ZThn16_N9QUndoViewD0Ev
+800 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+808 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+816 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+824 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+832 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+840 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QUndoView
+ size=48 align=8
+ base size=48 base align=8
+QUndoView (0x0x7f58dae38068) 0
+ vptr=((& QUndoView::_ZTV9QUndoView) + 16u)
+ QListView (0x0x7f58dae380d0) 0
+ primary-for QUndoView (0x0x7f58dae38068)
+ QAbstractItemView (0x0x7f58dae38208) 0
+ primary-for QListView (0x0x7f58dae380d0)
+ QAbstractScrollArea (0x0x7f58dae38270) 0
+ primary-for QAbstractItemView (0x0x7f58dae38208)
+ QFrame (0x0x7f58dae387b8) 0
+ primary-for QAbstractScrollArea (0x0x7f58dae38270)
+ QWidget (0x0x7f58e0485e70) 0
+ primary-for QFrame (0x0x7f58dae387b8)
+ QObject (0x0x7f58d9e2b360) 0
+ primary-for QWidget (0x0x7f58e0485e70)
+ QPaintDevice (0x0x7f58d9e2b8a0) 16
+ vptr=((& QUndoView::_ZTV9QUndoView) + 784u)
+
+Class QWhatsThis
+ size=1 align=1
+ base size=0 base align=1
+QWhatsThis (0x0x7f58d9e2b9c0) 0 empty
+
+Class QWidgetAction::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWidgetAction::QPrivateSignal (0x0x7f58d9e2bc00) 0 empty
+
+Vtable for QWidgetAction
+QWidgetAction::_ZTV13QWidgetAction: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QWidgetAction)
+16 (int (*)(...))QWidgetAction::metaObject
+24 (int (*)(...))QWidgetAction::qt_metacast
+32 (int (*)(...))QWidgetAction::qt_metacall
+40 (int (*)(...))QWidgetAction::~QWidgetAction
+48 (int (*)(...))QWidgetAction::~QWidgetAction
+56 (int (*)(...))QWidgetAction::event
+64 (int (*)(...))QWidgetAction::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidgetAction::createWidget
+120 (int (*)(...))QWidgetAction::deleteWidget
+
+Class QWidgetAction
+ size=16 align=8
+ base size=16 base align=8
+QWidgetAction (0x0x7f58dae38820) 0
+ vptr=((& QWidgetAction::_ZTV13QWidgetAction) + 16u)
+ QAction (0x0x7f58dae38c30) 0
+ primary-for QWidgetAction (0x0x7f58dae38820)
+ QObject (0x0x7f58d9e2bba0) 0
+ primary-for QAction (0x0x7f58dae38c30)
+
+Class QWizard::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizard::QPrivateSignal (0x0x7f58d9e4e720) 0 empty
+
+Vtable for QWizard
+QWizard::_ZTV7QWizard: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QWizard)
+16 (int (*)(...))QWizard::metaObject
+24 (int (*)(...))QWizard::qt_metacast
+32 (int (*)(...))QWizard::qt_metacall
+40 (int (*)(...))QWizard::~QWizard
+48 (int (*)(...))QWizard::~QWizard
+56 (int (*)(...))QWizard::event
+64 (int (*)(...))QDialog::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWizard::setVisible
+128 (int (*)(...))QWizard::sizeHint
+136 (int (*)(...))QDialog::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QDialog::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWizard::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWizard::resizeEvent
+280 (int (*)(...))QDialog::closeEvent
+288 (int (*)(...))QDialog::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QDialog::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QDialog::open
+440 (int (*)(...))QDialog::exec
+448 (int (*)(...))QWizard::done
+456 (int (*)(...))QDialog::accept
+464 (int (*)(...))QDialog::reject
+472 (int (*)(...))QWizard::validateCurrentPage
+480 (int (*)(...))QWizard::nextId
+488 (int (*)(...))QWizard::initializePage
+496 (int (*)(...))QWizard::cleanupPage
+504 (int (*)(...))-16
+512 (int (*)(...))(& _ZTI7QWizard)
+520 (int (*)(...))QWizard::_ZThn16_N7QWizardD1Ev
+528 (int (*)(...))QWizard::_ZThn16_N7QWizardD0Ev
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+552 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+560 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+568 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+576 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizard
+ size=48 align=8
+ base size=48 base align=8
+QWizard (0x0x7f58dae38c98) 0
+ vptr=((& QWizard::_ZTV7QWizard) + 16u)
+ QDialog (0x0x7f58dae62d00) 0
+ primary-for QWizard (0x0x7f58dae38c98)
+ QWidget (0x0x7f58e0093b60) 0
+ primary-for QDialog (0x0x7f58dae62d00)
+ QObject (0x0x7f58d9e4e600) 0
+ primary-for QWidget (0x0x7f58e0093b60)
+ QPaintDevice (0x0x7f58d9e4e660) 16
+ vptr=((& QWizard::_ZTV7QWizard) + 520u)
+
+Class QWizardPage::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QWizardPage::QPrivateSignal (0x0x7f58d9e7f900) 0 empty
+
+Vtable for QWizardPage
+QWizardPage::_ZTV11QWizardPage: 69u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QWizardPage)
+16 (int (*)(...))QWizardPage::metaObject
+24 (int (*)(...))QWizardPage::qt_metacast
+32 (int (*)(...))QWizardPage::qt_metacall
+40 (int (*)(...))QWizardPage::~QWizardPage
+48 (int (*)(...))QWizardPage::~QWizardPage
+56 (int (*)(...))QWidget::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QWidget::devType
+120 (int (*)(...))QWidget::setVisible
+128 (int (*)(...))QWidget::sizeHint
+136 (int (*)(...))QWidget::minimumSizeHint
+144 (int (*)(...))QWidget::heightForWidth
+152 (int (*)(...))QWidget::hasHeightForWidth
+160 (int (*)(...))QWidget::paintEngine
+168 (int (*)(...))QWidget::mousePressEvent
+176 (int (*)(...))QWidget::mouseReleaseEvent
+184 (int (*)(...))QWidget::mouseDoubleClickEvent
+192 (int (*)(...))QWidget::mouseMoveEvent
+200 (int (*)(...))QWidget::wheelEvent
+208 (int (*)(...))QWidget::keyPressEvent
+216 (int (*)(...))QWidget::keyReleaseEvent
+224 (int (*)(...))QWidget::focusInEvent
+232 (int (*)(...))QWidget::focusOutEvent
+240 (int (*)(...))QWidget::enterEvent
+248 (int (*)(...))QWidget::leaveEvent
+256 (int (*)(...))QWidget::paintEvent
+264 (int (*)(...))QWidget::moveEvent
+272 (int (*)(...))QWidget::resizeEvent
+280 (int (*)(...))QWidget::closeEvent
+288 (int (*)(...))QWidget::contextMenuEvent
+296 (int (*)(...))QWidget::tabletEvent
+304 (int (*)(...))QWidget::actionEvent
+312 (int (*)(...))QWidget::dragEnterEvent
+320 (int (*)(...))QWidget::dragMoveEvent
+328 (int (*)(...))QWidget::dragLeaveEvent
+336 (int (*)(...))QWidget::dropEvent
+344 (int (*)(...))QWidget::showEvent
+352 (int (*)(...))QWidget::hideEvent
+360 (int (*)(...))QWidget::nativeEvent
+368 (int (*)(...))QWidget::changeEvent
+376 (int (*)(...))QWidget::metric
+384 (int (*)(...))QWidget::initPainter
+392 (int (*)(...))QWidget::redirected
+400 (int (*)(...))QWidget::sharedPainter
+408 (int (*)(...))QWidget::inputMethodEvent
+416 (int (*)(...))QWidget::inputMethodQuery
+424 (int (*)(...))QWidget::focusNextPrevChild
+432 (int (*)(...))QWizardPage::initializePage
+440 (int (*)(...))QWizardPage::cleanupPage
+448 (int (*)(...))QWizardPage::validatePage
+456 (int (*)(...))QWizardPage::isComplete
+464 (int (*)(...))QWizardPage::nextId
+472 (int (*)(...))-16
+480 (int (*)(...))(& _ZTI11QWizardPage)
+488 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD1Ev
+496 (int (*)(...))QWizardPage::_ZThn16_N11QWizardPageD0Ev
+504 (int (*)(...))QWidget::_ZThn16_NK7QWidget7devTypeEv
+512 (int (*)(...))QWidget::_ZThn16_NK7QWidget11paintEngineEv
+520 (int (*)(...))QWidget::_ZThn16_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE
+528 (int (*)(...))QWidget::_ZThn16_NK7QWidget11initPainterEP8QPainter
+536 (int (*)(...))QWidget::_ZThn16_NK7QWidget10redirectedEP6QPoint
+544 (int (*)(...))QWidget::_ZThn16_NK7QWidget13sharedPainterEv
+
+Class QWizardPage
+ size=48 align=8
+ base size=48 base align=8
+QWizardPage (0x0x7f58dae821a0) 0
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 16u)
+ QWidget (0x0x7f58e00c72a0) 0
+ primary-for QWizardPage (0x0x7f58dae821a0)
+ QObject (0x0x7f58d9e7f5a0) 0
+ primary-for QWidget (0x0x7f58e00c72a0)
+ QPaintDevice (0x0x7f58d9e7f600) 16
+ vptr=((& QWizardPage::_ZTV11QWizardPage) + 488u)
+
diff --git a/tests/auto/bic/data/QtXml.5.12.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtXml.5.12.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000..ad593fafe6
--- /dev/null
+++ b/tests/auto/bic/data/QtXml.5.12.0.linux-gcc-amd64.txt
@@ -0,0 +1,5047 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f51c326b2a0) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f51c32b3a20) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f51c32b3c60) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f51c32b3ea0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f51c0e5f120) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f51c0e5f2a0) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f51c0e5f660) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f51c0eeade0) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f51c0eeaea0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f51c0f1c240) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f51c0f1c300) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f51c0f1c3c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f51c0f1c480) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f51c0f1c720) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f51c0f1c900) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f51c0f1cd80) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f51c0f1cde0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f51c0fd5a80) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f51c0fd5ae0) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f51c0ec0bc8) 0 empty
+ std::input_iterator_tag (0x0x7f51c0fd5b40) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f51c0ec0c30) 0 empty
+ std::forward_iterator_tag (0x0x7f51c0ec0c98) 0 empty
+ std::input_iterator_tag (0x0x7f51c0fd5ba0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f51c0ec0d00) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f51c0ec0d68) 0 empty
+ std::forward_iterator_tag (0x0x7f51c0ec0dd0) 0 empty
+ std::input_iterator_tag (0x0x7f51c0fd5c00) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f51c10108a0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f51c1010900) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f51c1010960) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f51c10109c0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f51c1010a20) 0 empty
+
+Class wait
+ size=4 align=4
+ base size=4 base align=4
+wait (0x0x7f51c0cf1540) 0
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f51c0cf1780) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f51c0cf1840) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f51c0cf18a0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f51c0cf1960) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f51c0cf19c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f51c0cf1e40) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f51c0cf1ea0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f51c0cf1f00) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f51c1011340) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+ std::exception (0x0x7f51c0cf1f60) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f51c1011340)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f51c0e39000) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f51c0e39060) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f51c1011548) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+ std::exception (0x0x7f51c0e39480) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f51c1011548)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f51c10115b0) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+ std::bad_alloc (0x0x7f51c1011618) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f51c10115b0)
+ std::exception (0x0x7f51c0e394e0) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f51c1011618)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f51c0e39540) 0 empty
+
+Class __exception
+ size=40 align=8
+ base size=40 base align=8
+__exception (0x0x7f51c0b09180) 0
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f51c0b09e40) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f51c0b09ea0) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f51c0959d80) 0
+
+Class __sched_param
+ size=4 align=4
+ base size=4 base align=4
+__sched_param (0x0x7f51c0959de0) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f51c0959ea0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f51c0959f00) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f51c0959f60) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f51c09f2000) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f51c09f2120) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f51c09f2180) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f51c09f25a0) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f51c09f2600) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f51c0825de0) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f51c0825e40) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f51c04f3de0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f51c0293c00) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f51c0292208) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f51c0293cc0) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f51c0292270) 0
+ std::_Bit_iterator_base (0x0x7f51c02922d8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f51c0293d20) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f51c0292340) 0
+ std::_Bit_iterator_base (0x0x7f51c02923a8) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f51c0293d80) 0 empty
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f51c008dba0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f51c01c0960) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f51c01c0900) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f51bff56900) 0
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f51beb94420) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f51beb94480) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f51bec3af00) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f51bec3af60) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f51be885000) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f51be885060) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f51be885300) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f51be885840) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f51be8b0270) 0
+ std::__atomic_flag_base (0x0x7f51be8858a0) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f51be8b09c0) 0
+ QAtomicInteger<int> (0x0x7f51be8b0a28) 0
+ QBasicAtomicInteger<int> (0x0x7f51be4e1000) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f51be3b35a0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f51be113780) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f51be1138a0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f51be0ee618) 0
+ QGenericArgument (0x0x7f51be113900) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f51be113a80) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f51be113b40) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f51be1f9ba0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f51be1f9c00) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f51be1f9ea0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f51be1f9f00) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f51bdee82a0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f51bdee8300) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f51bdee8360) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f51bdee83c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f51bdee8420) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f51bdee87e0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f51bdea1c30) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+ std::exception (0x0x7f51bdee88a0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f51bdea1c30)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f51bdea1c98) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+ std::logic_error (0x0x7f51bdea1d00) 0
+ primary-for std::domain_error (0x0x7f51bdea1c98)
+ std::exception (0x0x7f51bdee8900) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f51bdea1d00)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f51bdea1d68) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+ std::logic_error (0x0x7f51bdea1dd0) 0
+ primary-for std::invalid_argument (0x0x7f51bdea1d68)
+ std::exception (0x0x7f51bdee8960) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f51bdea1dd0)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f51bdea1e38) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+ std::logic_error (0x0x7f51bdea1ea0) 0
+ primary-for std::length_error (0x0x7f51bdea1e38)
+ std::exception (0x0x7f51bdee89c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f51bdea1ea0)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f51bdea1f08) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+ std::logic_error (0x0x7f51bdea1f70) 0
+ primary-for std::out_of_range (0x0x7f51bdea1f08)
+ std::exception (0x0x7f51bdee8a20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f51bdea1f70)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f51bdea1958) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+ std::exception (0x0x7f51bdee8a80) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f51bdea1958)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f51bdea1a28) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+ std::runtime_error (0x0x7f51bdfd7000) 0
+ primary-for std::range_error (0x0x7f51bdea1a28)
+ std::exception (0x0x7f51bdee8ae0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f51bdfd7000)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f51bdfd7068) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+ std::runtime_error (0x0x7f51bdfd70d0) 0
+ primary-for std::overflow_error (0x0x7f51bdfd7068)
+ std::exception (0x0x7f51bdee8b40) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f51bdfd70d0)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f51bdfd7138) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+ std::runtime_error (0x0x7f51bdfd71a0) 0
+ primary-for std::underflow_error (0x0x7f51bdfd7138)
+ std::exception (0x0x7f51bdee8ba0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f51bdfd71a0)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f51bdee8d20) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f51bdee8f60) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f51be00a120) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f51bdfd7680) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+ std::runtime_error (0x0x7f51bdfd76e8) 0
+ primary-for std::system_error (0x0x7f51bdfd7680)
+ std::exception (0x0x7f51be00a360) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f51bdfd76e8)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f51be0482d8) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+ std::system_error (0x0x7f51be048340) 0
+ primary-for std::ios_base::failure (0x0x7f51be0482d8)
+ std::runtime_error (0x0x7f51be0483a8) 0
+ primary-for std::system_error (0x0x7f51be048340)
+ std::exception (0x0x7f51be00a660) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f51be0483a8)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f51be00a6c0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f51be00a720) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f51be00a780) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f51be00a600) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f51be00af00) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f51bdd68600) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f51bd8adea0 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f51bd8adf70 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f51bd8adaf8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0 24u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551592u
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f51bd95b068 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0 8u
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0u
+32 0u
+40 18446744073709551608u
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0u
+72 0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f51bdb08e40) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f51bdb08ea0) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f51bd682240) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f51bd6825a0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f51bd682a20) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f51bd7a08a0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f51bd7a0f00) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f51bd7a0ea0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f51bd27d000) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f51bd27dc00) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f51bd3e08a0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f51bd3e0900) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f51bd3e0960) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f51bd3e0d20) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f51bd3e0d80) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f51bd3dcc30) 0 empty
+ QListData::NotIndirectLayout (0x0x7f51bd3e0de0) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f51bd233460) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f51bd3e0e40) 0 empty
+ QListData::NotIndirectLayout (0x0x7f51bd3e0ea0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f51bd3dcc98) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f51bd3e0f00) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f51bd3e0f60) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f51bd3e0cc0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f51bd244420) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f51bcfe7660) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f51bcfe7600) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f51bcfed6e8) 0
+ QList<QString> (0x0x7f51bcfed750) 0
+ QListSpecialMethods<QString> (0x0x7f51bcfe7840) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f51bcfe7c60) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f51bccd6840) 0
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f51bccd6ea0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f51bcaac060) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f51bcaac120) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f51bcfedbc8) 0
+ std::__uses_alloc_base (0x0x7f51bcaac0c0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f51bcb9e180) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f51bcb9e3c0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f51bcb9e480) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f51bcb9e5a0) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f51bcb9e720) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f51bcb9eb40) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f51bcb9ec60) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f51bc926600) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f51bc926a20) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f51bc926d20) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f51bc822720) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f51bc5705a0) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f51bc570600) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f51bc5707e0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f51bc570780) 0
+ vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f51bc639a80) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f51bc639ae0) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f51bc639ba0) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f51bc266270) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+ QObject (0x0x7f51bc639b40) 0
+ primary-for QAbstractAnimation (0x0x7f51bc266270)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f51bc639c60) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f51bc2662d8) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+ QObject (0x0x7f51bc639c00) 0
+ primary-for QAnimationDriver (0x0x7f51bc2662d8)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f51bc639d20) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f51bc266340) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+ QObject (0x0x7f51bc639cc0) 0
+ primary-for QEventLoop (0x0x7f51bc266340)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f51bc639f00) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f51bc2f2000) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f51bc2f2060) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f51bc266478) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+ QObject (0x0x7f51bc639f60) 0
+ primary-for QAbstractEventDispatcher (0x0x7f51bc266478)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f51bc2f2300) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f51bc266680) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+ std::exception (0x0x7f51bc2f2360) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f51bc266680)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f51bc2666e8) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+ std::exception (0x0x7f51bc2f23c0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f51bc2666e8)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f51bc3da958) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+ std::exception (0x0x7f51bc087480) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f51bc3da958)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f51bc087540) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f51bc0875a0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f51bc0876c0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f51bc087ba0) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f51bc13f120) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f51bc13f4e0) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f51bc13f480) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f51bc13f540) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f51bc13fde0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f51bc13fea0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f51bc13fe40) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f51bc13ff00) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f51bc13fd80) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f51bc03ba20) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f51bbcd10c0) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f51bbcd1060) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f51bbcd1180) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f51bbcd1120) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f51bbdf2480) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f51bbdf2b40) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f51bbbda2a0) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f51bbbd96e8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+ QObject (0x0x7f51bbbda240) 0
+ primary-for QAbstractItemModel (0x0x7f51bbbd96e8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f51bbbdab40) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f51bbbd9dd0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+ QAbstractItemModel (0x0x7f51bbbd9e38) 0
+ primary-for QAbstractTableModel (0x0x7f51bbbd9dd0)
+ QObject (0x0x7f51bbbdaae0) 0
+ primary-for QAbstractItemModel (0x0x7f51bbbd9e38)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f51bbbdac00) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f51bbbd9ea0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+ QAbstractItemModel (0x0x7f51bbbd9f08) 0
+ primary-for QAbstractListModel (0x0x7f51bbbd9ea0)
+ QObject (0x0x7f51bbbdaba0) 0
+ primary-for QAbstractItemModel (0x0x7f51bbbd9f08)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f51bbbdaea0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f51bbbdaf60) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f51bb8e7068) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+ QAbstractItemModel (0x0x7f51bb8e70d0) 0
+ primary-for QAbstractProxyModel (0x0x7f51bb8e7068)
+ QObject (0x0x7f51bbbdaf00) 0
+ primary-for QAbstractItemModel (0x0x7f51bb8e70d0)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f51bb936060) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f51bb8e7138) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+ QObject (0x0x7f51bb936000) 0
+ primary-for QAbstractState (0x0x7f51bb8e7138)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f51bb936120) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f51bb8e71a0) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+ QObject (0x0x7f51bb9360c0) 0
+ primary-for QAbstractTransition (0x0x7f51bb8e71a0)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f51bb9361e0) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f51bb8e7208) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+ QAbstractAnimation (0x0x7f51bb8e7270) 0
+ primary-for QAnimationGroup (0x0x7f51bb8e7208)
+ QObject (0x0x7f51bb936180) 0
+ primary-for QAbstractAnimation (0x0x7f51bb8e7270)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f51bb982f00) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f51bb9c81e0) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f51bb9c82a0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f51bb9c85a0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f51bb8e78f0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+ QObject (0x0x7f51bb9c8540) 0
+ primary-for QIODevice (0x0x7f51bb8e78f0)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f51bb9c87e0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f51bb8e7a28) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+ QIODevice (0x0x7f51bb8e7a90) 0
+ primary-for QBuffer (0x0x7f51bb8e7a28)
+ QObject (0x0x7f51bb9c8780) 0
+ primary-for QIODevice (0x0x7f51bb8e7a90)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f51bb9c88a0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f51bb9c8840) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f51bb9c89c0) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f51bb9c8960) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f51bb9c8ba0) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f51bb9c8d80) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f51bb737060) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f51bb7377e0) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f51bb737840) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f51bb737780) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f51bb7fa960) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f51bb7faf60) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f51bb517240) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f51bb517480) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f51bb517b40) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f51bb517cc0) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f51bb297240) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f51bb2971e0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f51bb056540) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f51bb056600) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f51bb0d9960) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f51bb0d9ae0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f51bb166120) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f51bb166420) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f51bb1667e0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f51baeacea0) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f51baf2d4e0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f51baf2d540) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f51bad8f540) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f51bad8fae0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f51bad8fb40) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f51bad8fa80) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f51baabfba0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f51baabfc00) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f51baabfb40) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f51ba886780) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f51ba886b40) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f51ba9db540) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f51ba9dbba0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f51ba9dbc60) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f51ba6dec60) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f51ba71b120) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f51ba71e068) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+ QEvent (0x0x7f51ba71b180) 0
+ primary-for QTimerEvent (0x0x7f51ba71e068)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f51ba71e0d0) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+ QEvent (0x0x7f51ba71b1e0) 0
+ primary-for QChildEvent (0x0x7f51ba71e0d0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f51ba71e618) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+ QEvent (0x0x7f51ba71b6c0) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f51ba71e618)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f51ba71e680) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+ QEvent (0x0x7f51ba71b720) 0
+ primary-for QDeferredDeleteEvent (0x0x7f51ba71e680)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f51ba71b7e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f51ba71e6e8) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+ QObject (0x0x7f51ba71b780) 0
+ primary-for QCoreApplication (0x0x7f51ba71e6e8)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f51ba71b840) 0
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f51ba71b8a0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f51ba71b900) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f51ba71b9c0) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f51ba71bea0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f51ba43c3c0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f51ba566240) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f51ba552b60) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+ QIODevice (0x0x7f51ba552bc8) 0
+ primary-for QFileDevice (0x0x7f51ba552b60)
+ QObject (0x0x7f51ba5661e0) 0
+ primary-for QIODevice (0x0x7f51ba552bc8)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f51ba566480) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f51ba552d00) 0
+ vptr=((& QFile::_ZTV5QFile) + 16u)
+ QFileDevice (0x0x7f51ba552d68) 0
+ primary-for QFile (0x0x7f51ba552d00)
+ QIODevice (0x0x7f51ba552dd0) 0
+ primary-for QFileDevice (0x0x7f51ba552d68)
+ QObject (0x0x7f51ba566420) 0
+ primary-for QIODevice (0x0x7f51ba552dd0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f51ba566660) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f51ba566a80) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f51ba2840c0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f51ba284300) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f51ba369720) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f51ba362dd0) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+ QAbstractTransition (0x0x7f51ba362e38) 0
+ primary-for QEventTransition (0x0x7f51ba362dd0)
+ QObject (0x0x7f51ba3696c0) 0
+ primary-for QAbstractTransition (0x0x7f51ba362e38)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f51ba362ea0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16u)
+ std::exception (0x0x7f51ba369780) 0 nearly-empty
+ primary-for QException (0x0x7f51ba362ea0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f51ba362f08) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+ QException (0x0x7f51ba362f70) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f51ba362f08)
+ std::exception (0x0x7f51ba3697e0) 0 nearly-empty
+ primary-for QException (0x0x7f51ba362f70)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f51ba369840) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f51ba369900) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f51ba369960) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f51ba369a80) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f51ba3fb000) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+ QObject (0x0x7f51ba369a20) 0
+ primary-for QFileSelector (0x0x7f51ba3fb000)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f51ba369b40) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f51ba3fb068) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+ QObject (0x0x7f51ba369ae0) 0
+ primary-for QFileSystemWatcher (0x0x7f51ba3fb068)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f51ba369c00) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f51ba3fb0d0) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+ QAbstractState (0x0x7f51ba3fb138) 0
+ primary-for QFinalState (0x0x7f51ba3fb0d0)
+ QObject (0x0x7f51ba369ba0) 0
+ primary-for QAbstractState (0x0x7f51ba3fb138)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f51ba369c60) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f51ba369cc0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f51ba3fb270) 0
+ QBasicMutex (0x0x7f51ba369ea0) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f51ba369f00) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f51ba369f60) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f51ba0ca000) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f51ba0ca120) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f51ba0ca960) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f51ba19c180) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0u
+48 0u
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f51ba1953a8) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+ QObject (0x0x7f51ba19c120) 0
+ primary-for QFutureWatcherBase (0x0x7f51ba1953a8)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f51ba19c780) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f51ba195c98) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+ QAbstractState (0x0x7f51ba195d00) 0
+ primary-for QHistoryState (0x0x7f51ba195c98)
+ QObject (0x0x7f51ba19c720) 0
+ primary-for QAbstractState (0x0x7f51ba195d00)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f51ba19c840) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f51ba195d68) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f51ba195dd0) 0
+ primary-for QIdentityProxyModel (0x0x7f51ba195d68)
+ QAbstractItemModel (0x0x7f51ba195e38) 0
+ primary-for QAbstractProxyModel (0x0x7f51ba195dd0)
+ QObject (0x0x7f51ba19c7e0) 0
+ primary-for QAbstractItemModel (0x0x7f51ba195e38)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f51ba19c8a0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f51ba19cf60) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f51b9e4f680) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+ QObject (0x0x7f51ba19cf00) 0
+ primary-for QItemSelectionModel (0x0x7f51b9e4f680)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f51b9e4f888) 0
+ QList<QItemSelectionRange> (0x0x7f51b9e4f8f0) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f51b9e942a0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f51b9e94780) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f51b9c52ea0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f51b9ccc420) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f51b9ccc480) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f51b9ccc660) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f51b9ccc6c0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f51b9ccc600) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f51b9d8d900) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f51b9d8d960) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f51b9e18000) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f51b9e18060) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f51b9d8df60) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f51b9ac1300) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f51b9ab6c30) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+ QObject (0x0x7f51b9ac12a0) 0
+ primary-for QLibrary (0x0x7f51b9ab6c30)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f51b9ac19c0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f51b9ac14e0) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f51b9ac1ea0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f51b9ac1f00) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f51b9bcf1e0) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f51b9bcf7e0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f51b9861180) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f51b9861780) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f51b9861ae0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f51b9861c60) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f51b9861c00) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f51b9861de0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f51b99e30c0) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f51b99e3720) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f51b99e3780) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f51b99e3d80) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f51b95cd0c0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f51b95cd120) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f51b95cd420) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f51b952cea0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+ QObject (0x0x7f51b95cd3c0) 0
+ primary-for QMimeData (0x0x7f51b952cea0)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f51b95cd480) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f51b95cd780) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f51b95cd840) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f51b96180d0) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+ QObject (0x0x7f51b95cd7e0) 0
+ primary-for QObjectCleanupHandler (0x0x7f51b96180d0)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f51b95cd8a0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f51b9663060) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f51b9618820) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f51b9618888) 0
+ primary-for QParallelAnimationGroup (0x0x7f51b9618820)
+ QAbstractAnimation (0x0x7f51b96188f0) 0
+ primary-for QAnimationGroup (0x0x7f51b9618888)
+ QObject (0x0x7f51b9663000) 0
+ primary-for QAbstractAnimation (0x0x7f51b96188f0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f51b9663120) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f51b9618958) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+ QAbstractAnimation (0x0x7f51b96189c0) 0
+ primary-for QPauseAnimation (0x0x7f51b9618958)
+ QObject (0x0x7f51b96630c0) 0
+ primary-for QAbstractAnimation (0x0x7f51b96189c0)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f51b9663300) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f51b9663600) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f51b9618bc8) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+ QObject (0x0x7f51b96635a0) 0
+ primary-for QPluginLoader (0x0x7f51b9618bc8)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f51b9663660) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f51b9663d20) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f51b96cc208) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16u)
+ QIODevice (0x0x7f51b96cc270) 0
+ primary-for QProcess (0x0x7f51b96cc208)
+ QObject (0x0x7f51b9663cc0) 0
+ primary-for QIODevice (0x0x7f51b96cc270)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f51b9663de0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f51b96cc2d8) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+ QAbstractAnimation (0x0x7f51b96cc340) 0
+ primary-for QVariantAnimation (0x0x7f51b96cc2d8)
+ QObject (0x0x7f51b9663d80) 0
+ primary-for QAbstractAnimation (0x0x7f51b96cc340)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f51b9663ea0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f51b96cc410) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+ QVariantAnimation (0x0x7f51b96cc478) 0
+ primary-for QPropertyAnimation (0x0x7f51b96cc410)
+ QAbstractAnimation (0x0x7f51b96cc4e0) 0
+ primary-for QVariantAnimation (0x0x7f51b96cc478)
+ QObject (0x0x7f51b9663e40) 0
+ primary-for QAbstractAnimation (0x0x7f51b96cc4e0)
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f51b934c000) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f51b9663f60) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f51b93b27b8) 0
+ QRandomGenerator (0x0x7f51b9396f60) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f51b93f3060) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f51b93f3300) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f51b93f33c0) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f51b93f3480) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f51b93f3720) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f51b93f39c0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f51b93f3c60) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f51b93f3f00) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f51b92380c0) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f51b9523340) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+ QFileDevice (0x0x7f51b95233a8) 0
+ primary-for QSaveFile (0x0x7f51b9523340)
+ QIODevice (0x0x7f51b9523410) 0
+ primary-for QFileDevice (0x0x7f51b95233a8)
+ QObject (0x0x7f51b9238060) 0
+ primary-for QIODevice (0x0x7f51b9523410)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f51b92381e0) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f51b9238360) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f51b8f7b960) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f51b8f78c98) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+ QAnimationGroup (0x0x7f51b8f78d00) 0
+ primary-for QSequentialAnimationGroup (0x0x7f51b8f78c98)
+ QAbstractAnimation (0x0x7f51b8f78d68) 0
+ primary-for QAnimationGroup (0x0x7f51b8f78d00)
+ QObject (0x0x7f51b8f7b900) 0
+ primary-for QAbstractAnimation (0x0x7f51b8f78d68)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f51b8f7ba20) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f51b8f78dd0) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16u)
+ QObject (0x0x7f51b8f7b9c0) 0
+ primary-for QSettings (0x0x7f51b8f78dd0)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f51b8f7bae0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f51b8f78e38) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+ QObject (0x0x7f51b8f7ba80) 0
+ primary-for QSharedMemory (0x0x7f51b8f78e38)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f51b8f7bba0) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f51b8f78ea0) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+ QObject (0x0x7f51b8f7bb40) 0
+ primary-for QSignalMapper (0x0x7f51b8f78ea0)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f51b8f7bc60) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f51b8f78f08) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+ QAbstractTransition (0x0x7f51b8f78f70) 0
+ primary-for QSignalTransition (0x0x7f51b8f78f08)
+ QObject (0x0x7f51b8f7bc00) 0
+ primary-for QAbstractTransition (0x0x7f51b8f78f70)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f51b8f7bd20) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f51b8ff8000) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+ QObject (0x0x7f51b8f7bcc0) 0
+ primary-for QSocketNotifier (0x0x7f51b8ff8000)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f51b8f7bde0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f51b8ff8068) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+ QAbstractProxyModel (0x0x7f51b8ff80d0) 0
+ primary-for QSortFilterProxyModel (0x0x7f51b8ff8068)
+ QAbstractItemModel (0x0x7f51b8ff8138) 0
+ primary-for QAbstractProxyModel (0x0x7f51b8ff80d0)
+ QObject (0x0x7f51b8f7bd80) 0
+ primary-for QAbstractItemModel (0x0x7f51b8ff8138)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f51b8f7bea0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f51b9047120) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f51b8ff82d8) 0
+ vptr=((& QState::_ZTV6QState) + 16u)
+ QAbstractState (0x0x7f51b8ff8340) 0
+ primary-for QState (0x0x7f51b8ff82d8)
+ QObject (0x0x7f51b90470c0) 0
+ primary-for QAbstractState (0x0x7f51b8ff8340)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f51b9047240) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f51b8ff84e0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+ QEvent (0x0x7f51b90472a0) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f51b8ff84e0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f51b8ff8548) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+ QEvent (0x0x7f51b9047300) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f51b8ff8548)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f51b8ff83a8) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+ QState (0x0x7f51b8ff8410) 0
+ primary-for QStateMachine (0x0x7f51b8ff83a8)
+ QAbstractState (0x0x7f51b8ff8478) 0
+ primary-for QState (0x0x7f51b8ff8410)
+ QObject (0x0x7f51b90471e0) 0
+ primary-for QAbstractState (0x0x7f51b8ff8478)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f51b9047360) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f51b90f42a0) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f51b8d82660) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f51b8d87548) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+ QAbstractListModel (0x0x7f51b8d875b0) 0
+ primary-for QStringListModel (0x0x7f51b8d87548)
+ QAbstractItemModel (0x0x7f51b8d87618) 0
+ primary-for QAbstractListModel (0x0x7f51b8d875b0)
+ QObject (0x0x7f51b8d82600) 0
+ primary-for QAbstractItemModel (0x0x7f51b8d87618)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f51b8d826c0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f51b8d82780) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f51b8d828a0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f51b8d87680) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+ QFile (0x0x7f51b8d876e8) 0
+ primary-for QTemporaryFile (0x0x7f51b8d87680)
+ QFileDevice (0x0x7f51b8d87750) 0
+ primary-for QFile (0x0x7f51b8d876e8)
+ QIODevice (0x0x7f51b8d877b8) 0
+ primary-for QFileDevice (0x0x7f51b8d87750)
+ QObject (0x0x7f51b8d82840) 0
+ primary-for QIODevice (0x0x7f51b8d877b8)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f51b8d82900) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f51b8d82b40) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0u
+64 0u
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f51b8d82ae0) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f51b8d82d20) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f51b8d82d80) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f51b8d82de0) 0
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f51b8d82e40) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f51b8d879c0) 0
+ std::__mutex_base (0x0x7f51b8d82ea0) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f51b8d87a28) 0
+ std::__recursive_mutex_base (0x0x7f51b8d82f00) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f51b8e89540) 0
+ std::__mutex_base (0x0x7f51b8e90060) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f51b8e900c0) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f51b8e89ee0) 0
+ std::__recursive_mutex_base (0x0x7f51b8e90180) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f51b8e901e0) 0 empty
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f51b8e90240) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f51b8e902a0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f51b8e90300) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f51b8e90540) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f51b8d87b60) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16u)
+ std::exception (0x0x7f51b8e90600) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f51b8d87b60)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f51b8d87bc8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16u)
+ std::exception (0x0x7f51b8e906c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f51b8d87bc8)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f51b8d87c30) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16u)
+ std::exception (0x0x7f51b8e90780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f51b8d87c30)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f51b8d87d00) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16u)
+ std::exception (0x0x7f51b8e90840) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f51b8d87d00)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f51b8e90900) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f51b8e90960) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f51b8e909c0) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f51b8e90a20) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f51b8d87e38) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16u)
+ std::exception (0x0x7f51b8e90d80) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f51b8d87e38)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f51b8be5600) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f51b8be5de0) 0
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f51b8973000) 0
+
+Vtable for std::thread::_Impl_base
+std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread10_Impl_baseE)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_Impl_base
+ size=24 align=8
+ base size=24 base align=8
+std::thread::_Impl_base (0x0x7f51b8973060) 0
+ vptr=((& std::thread::_Impl_base::_ZTVNSt6thread10_Impl_baseE) + 16u)
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f51b8be5f60) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f51b8aaac60) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f51b8aaad20) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f51b8aaad80) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f51b8776420) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f51b877c340) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16u)
+ std::logic_error (0x0x7f51b877c3a8) 0
+ primary-for std::future_error (0x0x7f51b877c340)
+ std::exception (0x0x7f51b8776540) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f51b877c3a8)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f51b8776660) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0u
+32 0u
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f51b8776600) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16u)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f51b88d3ba0) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f51b88d4958) 0
+ std::__at_thread_exit_elt (0x0x7f51b88d3c60) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f51b87767e0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16u)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f51b87765a0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f51b8253548) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16u)
+ std::__future_base::_State_baseV2 (0x0x7f51b8248b40) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f51b8253548)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f51b82ad2a0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f51b82da000) 0
+ vptr=((& QThread::_ZTV7QThread) + 16u)
+ QObject (0x0x7f51b82ad240) 0
+ primary-for QThread (0x0x7f51b82da000)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f51b82ad3c0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f51b82da068) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+ QObject (0x0x7f51b82ad360) 0
+ primary-for QThreadPool (0x0x7f51b82da068)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f51b82ad420) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f51b82ad540) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f51b82da0d0) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+ QObject (0x0x7f51b82ad4e0) 0
+ primary-for QTimeLine (0x0x7f51b82da0d0)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f51b82ad600) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f51b82da138) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16u)
+ QObject (0x0x7f51b82ad5a0) 0
+ primary-for QTimer (0x0x7f51b82da138)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f51b82add20) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f51b82adcc0) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f51b7f99300) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f51b82dad00) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+ QObject (0x0x7f51b7f992a0) 0
+ primary-for QTranslator (0x0x7f51b82dad00)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f51b7f99360) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f51b7f999c0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f51b7f99a20) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f51b7f99cc0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f51b7fd79c0) 0
+ QVector<QXmlStreamAttribute> (0x0x7f51b804b0c0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f51b804b120) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f51b804b3c0) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f51b804b660) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f51b804b900) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f51b804b960) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f51b7d4d3c0) 0
+
+Class QDomImplementation
+ size=8 align=8
+ base size=8 base align=8
+QDomImplementation (0x0x7f51b7d4d4e0) 0
+
+Class QDomNode
+ size=8 align=8
+ base size=8 base align=8
+QDomNode (0x0x7f51b7d4d540) 0
+
+Class QDomNodeList
+ size=8 align=8
+ base size=8 base align=8
+QDomNodeList (0x0x7f51b7d4d5a0) 0
+
+Class QDomDocumentType
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentType (0x0x7f51b80f6a90) 0
+ QDomNode (0x0x7f51b7d4d600) 0
+
+Class QDomDocument
+ size=8 align=8
+ base size=8 base align=8
+QDomDocument (0x0x7f51b80f6af8) 0
+ QDomNode (0x0x7f51b7d4d660) 0
+
+Class QDomNamedNodeMap
+ size=8 align=8
+ base size=8 base align=8
+QDomNamedNodeMap (0x0x7f51b7d4d6c0) 0
+
+Class QDomDocumentFragment
+ size=8 align=8
+ base size=8 base align=8
+QDomDocumentFragment (0x0x7f51b80f6b60) 0
+ QDomNode (0x0x7f51b7d4d720) 0
+
+Class QDomCharacterData
+ size=8 align=8
+ base size=8 base align=8
+QDomCharacterData (0x0x7f51b80f6bc8) 0
+ QDomNode (0x0x7f51b7d4d780) 0
+
+Class QDomAttr
+ size=8 align=8
+ base size=8 base align=8
+QDomAttr (0x0x7f51b80f6c30) 0
+ QDomNode (0x0x7f51b7d4d7e0) 0
+
+Class QDomElement
+ size=8 align=8
+ base size=8 base align=8
+QDomElement (0x0x7f51b80f6c98) 0
+ QDomNode (0x0x7f51b7d4d840) 0
+
+Class QDomText
+ size=8 align=8
+ base size=8 base align=8
+QDomText (0x0x7f51b80f6d00) 0
+ QDomCharacterData (0x0x7f51b80f6d68) 0
+ QDomNode (0x0x7f51b7d4d8a0) 0
+
+Class QDomComment
+ size=8 align=8
+ base size=8 base align=8
+QDomComment (0x0x7f51b80f6dd0) 0
+ QDomCharacterData (0x0x7f51b80f6e38) 0
+ QDomNode (0x0x7f51b7d4d900) 0
+
+Class QDomCDATASection
+ size=8 align=8
+ base size=8 base align=8
+QDomCDATASection (0x0x7f51b80f6ea0) 0
+ QDomText (0x0x7f51b80f6f08) 0
+ QDomCharacterData (0x0x7f51b80f6f70) 0
+ QDomNode (0x0x7f51b7d4d960) 0
+
+Class QDomNotation
+ size=8 align=8
+ base size=8 base align=8
+QDomNotation (0x0x7f51b7deb000) 0
+ QDomNode (0x0x7f51b7d4d9c0) 0
+
+Class QDomEntity
+ size=8 align=8
+ base size=8 base align=8
+QDomEntity (0x0x7f51b7deb068) 0
+ QDomNode (0x0x7f51b7d4da20) 0
+
+Class QDomEntityReference
+ size=8 align=8
+ base size=8 base align=8
+QDomEntityReference (0x0x7f51b7deb0d0) 0
+ QDomNode (0x0x7f51b7d4da80) 0
+
+Class QDomProcessingInstruction
+ size=8 align=8
+ base size=8 base align=8
+QDomProcessingInstruction (0x0x7f51b7deb138) 0
+ QDomNode (0x0x7f51b7d4dae0) 0
+
+Class QXmlNamespaceSupport
+ size=8 align=8
+ base size=8 base align=8
+QXmlNamespaceSupport (0x0x7f51b7d4db40) 0
+
+Class QXmlAttributes::Attribute
+ size=32 align=8
+ base size=32 base align=8
+QXmlAttributes::Attribute (0x0x7f51b7d4dc00) 0
+
+Vtable for QXmlAttributes
+QXmlAttributes::_ZTV14QXmlAttributes: 4u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlAttributes)
+16 (int (*)(...))QXmlAttributes::~QXmlAttributes
+24 (int (*)(...))QXmlAttributes::~QXmlAttributes
+
+Class QXmlAttributes
+ size=24 align=8
+ base size=24 base align=8
+QXmlAttributes (0x0x7f51b7d4dba0) 0
+ vptr=((& QXmlAttributes::_ZTV14QXmlAttributes) + 16u)
+
+Vtable for QXmlInputSource
+QXmlInputSource::_ZTV15QXmlInputSource: 11u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlInputSource)
+16 (int (*)(...))QXmlInputSource::~QXmlInputSource
+24 (int (*)(...))QXmlInputSource::~QXmlInputSource
+32 (int (*)(...))QXmlInputSource::setData
+40 (int (*)(...))QXmlInputSource::setData
+48 (int (*)(...))QXmlInputSource::fetchData
+56 (int (*)(...))QXmlInputSource::data
+64 (int (*)(...))QXmlInputSource::next
+72 (int (*)(...))QXmlInputSource::reset
+80 (int (*)(...))QXmlInputSource::fromRawData
+
+Class QXmlInputSource
+ size=16 align=8
+ base size=16 base align=8
+QXmlInputSource (0x0x7f51b7b28d80) 0
+ vptr=((& QXmlInputSource::_ZTV15QXmlInputSource) + 16u)
+
+Class QXmlParseException
+ size=8 align=8
+ base size=8 base align=8
+QXmlParseException (0x0x7f51b7b28de0) 0
+
+Vtable for QXmlReader
+QXmlReader::_ZTV10QXmlReader: 24u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QXmlReader)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlReader (0x0x7f51b7b28ea0) 0 nearly-empty
+ vptr=((& QXmlReader::_ZTV10QXmlReader) + 16u)
+
+Vtable for QXmlSimpleReader
+QXmlSimpleReader::_ZTV16QXmlSimpleReader: 26u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlSimpleReader)
+16 (int (*)(...))QXmlSimpleReader::~QXmlSimpleReader
+24 (int (*)(...))QXmlSimpleReader::~QXmlSimpleReader
+32 (int (*)(...))QXmlSimpleReader::feature
+40 (int (*)(...))QXmlSimpleReader::setFeature
+48 (int (*)(...))QXmlSimpleReader::hasFeature
+56 (int (*)(...))QXmlSimpleReader::property
+64 (int (*)(...))QXmlSimpleReader::setProperty
+72 (int (*)(...))QXmlSimpleReader::hasProperty
+80 (int (*)(...))QXmlSimpleReader::setEntityResolver
+88 (int (*)(...))QXmlSimpleReader::entityResolver
+96 (int (*)(...))QXmlSimpleReader::setDTDHandler
+104 (int (*)(...))QXmlSimpleReader::DTDHandler
+112 (int (*)(...))QXmlSimpleReader::setContentHandler
+120 (int (*)(...))QXmlSimpleReader::contentHandler
+128 (int (*)(...))QXmlSimpleReader::setErrorHandler
+136 (int (*)(...))QXmlSimpleReader::errorHandler
+144 (int (*)(...))QXmlSimpleReader::setLexicalHandler
+152 (int (*)(...))QXmlSimpleReader::lexicalHandler
+160 (int (*)(...))QXmlSimpleReader::setDeclHandler
+168 (int (*)(...))QXmlSimpleReader::declHandler
+176 (int (*)(...))QXmlSimpleReader::parse
+184 (int (*)(...))QXmlSimpleReader::parse
+192 (int (*)(...))QXmlSimpleReader::parse
+200 (int (*)(...))QXmlSimpleReader::parseContinue
+
+Class QXmlSimpleReader
+ size=16 align=8
+ base size=16 base align=8
+QXmlSimpleReader (0x0x7f51b7b30af8) 0
+ vptr=((& QXmlSimpleReader::_ZTV16QXmlSimpleReader) + 16u)
+ QXmlReader (0x0x7f51b7b28f00) 0 nearly-empty
+ primary-for QXmlSimpleReader (0x0x7f51b7b30af8)
+
+Vtable for QXmlLocator
+QXmlLocator::_ZTV11QXmlLocator: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QXmlLocator)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlLocator
+ size=8 align=8
+ base size=8 base align=8
+QXmlLocator (0x0x7f51b7b7c060) 0 nearly-empty
+ vptr=((& QXmlLocator::_ZTV11QXmlLocator) + 16u)
+
+Vtable for QXmlContentHandler
+QXmlContentHandler::_ZTV18QXmlContentHandler: 16u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlContentHandler)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+96 (int (*)(...))__cxa_pure_virtual
+104 (int (*)(...))__cxa_pure_virtual
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlContentHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlContentHandler (0x0x7f51b7b7c0c0) 0 nearly-empty
+ vptr=((& QXmlContentHandler::_ZTV18QXmlContentHandler) + 16u)
+
+Vtable for QXmlErrorHandler
+QXmlErrorHandler::_ZTV16QXmlErrorHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QXmlErrorHandler)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlErrorHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlErrorHandler (0x0x7f51b7b7c120) 0 nearly-empty
+ vptr=((& QXmlErrorHandler::_ZTV16QXmlErrorHandler) + 16u)
+
+Vtable for QXmlDTDHandler
+QXmlDTDHandler::_ZTV14QXmlDTDHandler: 7u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QXmlDTDHandler)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlDTDHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDTDHandler (0x0x7f51b7b7c180) 0 nearly-empty
+ vptr=((& QXmlDTDHandler::_ZTV14QXmlDTDHandler) + 16u)
+
+Vtable for QXmlEntityResolver
+QXmlEntityResolver::_ZTV18QXmlEntityResolver: 6u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlEntityResolver)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlEntityResolver (0x0x7f51b7b7c1e0) 0 nearly-empty
+ vptr=((& QXmlEntityResolver::_ZTV18QXmlEntityResolver) + 16u)
+
+Vtable for QXmlLexicalHandler
+QXmlLexicalHandler::_ZTV18QXmlLexicalHandler: 12u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlLexicalHandler)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+64 (int (*)(...))__cxa_pure_virtual
+72 (int (*)(...))__cxa_pure_virtual
+80 (int (*)(...))__cxa_pure_virtual
+88 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlLexicalHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlLexicalHandler (0x0x7f51b7b7c240) 0 nearly-empty
+ vptr=((& QXmlLexicalHandler::_ZTV18QXmlLexicalHandler) + 16u)
+
+Vtable for QXmlDeclHandler
+QXmlDeclHandler::_ZTV15QXmlDeclHandler: 8u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QXmlDeclHandler)
+16 0u
+24 0u
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))__cxa_pure_virtual
+
+Class QXmlDeclHandler
+ size=8 align=8
+ base size=8 base align=8
+QXmlDeclHandler (0x0x7f51b7b7c2a0) 0 nearly-empty
+ vptr=((& QXmlDeclHandler::_ZTV15QXmlDeclHandler) + 16u)
+
+Vtable for QXmlDefaultHandler
+QXmlDefaultHandler::_ZTV18QXmlDefaultHandler: 73u entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+16 (int (*)(...))QXmlDefaultHandler::~QXmlDefaultHandler
+24 (int (*)(...))QXmlDefaultHandler::~QXmlDefaultHandler
+32 (int (*)(...))QXmlDefaultHandler::setDocumentLocator
+40 (int (*)(...))QXmlDefaultHandler::startDocument
+48 (int (*)(...))QXmlDefaultHandler::endDocument
+56 (int (*)(...))QXmlDefaultHandler::startPrefixMapping
+64 (int (*)(...))QXmlDefaultHandler::endPrefixMapping
+72 (int (*)(...))QXmlDefaultHandler::startElement
+80 (int (*)(...))QXmlDefaultHandler::endElement
+88 (int (*)(...))QXmlDefaultHandler::characters
+96 (int (*)(...))QXmlDefaultHandler::ignorableWhitespace
+104 (int (*)(...))QXmlDefaultHandler::processingInstruction
+112 (int (*)(...))QXmlDefaultHandler::skippedEntity
+120 (int (*)(...))QXmlDefaultHandler::errorString
+128 (int (*)(...))QXmlDefaultHandler::warning
+136 (int (*)(...))QXmlDefaultHandler::error
+144 (int (*)(...))QXmlDefaultHandler::fatalError
+152 (int (*)(...))QXmlDefaultHandler::notationDecl
+160 (int (*)(...))QXmlDefaultHandler::unparsedEntityDecl
+168 (int (*)(...))QXmlDefaultHandler::resolveEntity
+176 (int (*)(...))QXmlDefaultHandler::startDTD
+184 (int (*)(...))QXmlDefaultHandler::endDTD
+192 (int (*)(...))QXmlDefaultHandler::startEntity
+200 (int (*)(...))QXmlDefaultHandler::endEntity
+208 (int (*)(...))QXmlDefaultHandler::startCDATA
+216 (int (*)(...))QXmlDefaultHandler::endCDATA
+224 (int (*)(...))QXmlDefaultHandler::comment
+232 (int (*)(...))QXmlDefaultHandler::attributeDecl
+240 (int (*)(...))QXmlDefaultHandler::internalEntityDecl
+248 (int (*)(...))QXmlDefaultHandler::externalEntityDecl
+256 (int (*)(...))-8
+264 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+272 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD1Ev
+280 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandlerD0Ev
+288 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler7warningERK18QXmlParseException
+296 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler5errorERK18QXmlParseException
+304 (int (*)(...))QXmlDefaultHandler::_ZThn8_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException
+312 (int (*)(...))QXmlDefaultHandler::_ZThn8_NK18QXmlDefaultHandler11errorStringEv
+320 (int (*)(...))-16
+328 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+336 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD1Ev
+344 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandlerD0Ev
+352 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_
+360 (int (*)(...))QXmlDefaultHandler::_ZThn16_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_
+368 (int (*)(...))QXmlDefaultHandler::_ZThn16_NK18QXmlDefaultHandler11errorStringEv
+376 (int (*)(...))-24
+384 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+392 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD1Ev
+400 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandlerD0Ev
+408 (int (*)(...))QXmlDefaultHandler::_ZThn24_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource
+416 (int (*)(...))QXmlDefaultHandler::_ZThn24_NK18QXmlDefaultHandler11errorStringEv
+424 (int (*)(...))-32
+432 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+440 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD1Ev
+448 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandlerD0Ev
+456 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_
+464 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler6endDTDEv
+472 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler11startEntityERK7QString
+480 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler9endEntityERK7QString
+488 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler10startCDATAEv
+496 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler8endCDATAEv
+504 (int (*)(...))QXmlDefaultHandler::_ZThn32_N18QXmlDefaultHandler7commentERK7QString
+512 (int (*)(...))QXmlDefaultHandler::_ZThn32_NK18QXmlDefaultHandler11errorStringEv
+520 (int (*)(...))-40
+528 (int (*)(...))(& _ZTI18QXmlDefaultHandler)
+536 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD1Ev
+544 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandlerD0Ev
+552 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_
+560 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_
+568 (int (*)(...))QXmlDefaultHandler::_ZThn40_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_
+576 (int (*)(...))QXmlDefaultHandler::_ZThn40_NK18QXmlDefaultHandler11errorStringEv
+
+Class QXmlDefaultHandler
+ size=56 align=8
+ base size=56 base align=8
+QXmlDefaultHandler (0x0x7f51b7bab3f0) 0
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 16u)
+ QXmlContentHandler (0x0x7f51b7b7c300) 0 nearly-empty
+ primary-for QXmlDefaultHandler (0x0x7f51b7bab3f0)
+ QXmlErrorHandler (0x0x7f51b7b7c360) 8 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 272u)
+ QXmlDTDHandler (0x0x7f51b7b7c3c0) 16 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 336u)
+ QXmlEntityResolver (0x0x7f51b7b7c420) 24 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 392u)
+ QXmlLexicalHandler (0x0x7f51b7b7c480) 32 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 440u)
+ QXmlDeclHandler (0x0x7f51b7b7c4e0) 40 nearly-empty
+ vptr=((& QXmlDefaultHandler::_ZTV18QXmlDefaultHandler) + 536u)
+
diff --git a/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp b/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp
index b864b065e6..b5486307a7 100644
--- a/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp
+++ b/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp
@@ -127,14 +127,11 @@ void tst_QtConcurrentMap::map()
QtConcurrent::map(numberList.begin(), numberList.end(), &Number::multiplyBy2).waitForFinished();
QCOMPARE(numberList, QList<Number>() << 4 << 8 << 12);
-#ifdef Q_COMPILER_LAMBDA
// lambda
QtConcurrent::map(list, [](int &x){x *= 2;}).waitForFinished();
QCOMPARE(list, QList<int>() << 128 << 256 << 384);
QtConcurrent::map(list.begin(), list.end(), [](int &x){x *= 2;}).waitForFinished();
QCOMPARE(list, QList<int>() << 256 << 512 << 768);
-#endif
-
}
// functors don't take arguments by reference, making these no-ops
@@ -160,13 +157,11 @@ void tst_QtConcurrentMap::map()
QtConcurrent::map(list.begin(), list.end(), multiplyBy2Immutable).waitForFinished();
QCOMPARE(list, QList<int>() << 1 << 2 << 3);
-#ifdef Q_COMPILER_LAMBDA
// lambda
QtConcurrent::map(list, [](int x){x *= 2;}).waitForFinished();
QCOMPARE(list, QList<int>() << 1 << 2 << 3);
QtConcurrent::map(list.begin(), list.end(), [](int x){x *= 2;}).waitForFinished();
QCOMPARE(list, QList<int>() << 1 << 2 << 3);
-#endif
}
// Linked lists and forward iterators
@@ -2026,12 +2021,12 @@ int fn(int &i)
return i;
}
-int fnConstNoExcept(const int &i) Q_DECL_NOTHROW
+int fnConstNoExcept(const int &i) noexcept
{
return i;
}
-int fnNoExcept(int &i) Q_DECL_NOTHROW
+int fnNoExcept(int &i) noexcept
{
return i;
}
@@ -2046,12 +2041,12 @@ QString changeType(int &)
return QString();
}
-QString changeTypeConstNoExcept(const int &) Q_DECL_NOTHROW
+QString changeTypeConstNoExcept(const int &) noexcept
{
return QString();
}
-QString changeTypeNoExcept(int &) Q_DECL_NOTHROW
+QString changeTypeNoExcept(int &) noexcept
{
return QString();
}
@@ -2066,12 +2061,12 @@ int changeTypeQStringList(QStringList &)
return 0;
}
-int changeTypeQStringListConstNoExcept(const QStringList &) Q_DECL_NOTHROW
+int changeTypeQStringListConstNoExcept(const QStringList &) noexcept
{
return 0;
}
-int changeTypeQStringListNoExcept(QStringList &) Q_DECL_NOTHROW
+int changeTypeQStringListNoExcept(QStringList &) noexcept
{
return 0;
}
@@ -2101,22 +2096,22 @@ public:
return QString();
}
- MemFnTester fnNoExcept() Q_DECL_NOTHROW
+ MemFnTester fnNoExcept() noexcept
{
return MemFnTester();
}
- MemFnTester fnConstNoExcept() const Q_DECL_NOTHROW
+ MemFnTester fnConstNoExcept() const noexcept
{
return MemFnTester();
}
- QString changeTypeNoExcept() Q_DECL_NOTHROW
+ QString changeTypeNoExcept() noexcept
{
return QString();
}
- QString changeTypeConstNoExcept() const Q_DECL_NOTHROW
+ QString changeTypeConstNoExcept() const noexcept
{
return QString();
}
diff --git a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp
index 1596a9fafd..8506d18dae 100644
--- a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp
+++ b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp
@@ -48,12 +48,8 @@ private slots:
#ifndef QT_NO_EXCEPTIONS
void exceptions();
#endif
-#ifdef Q_COMPILER_DECLTYPE
void functor();
-#endif
-#ifdef Q_COMPILER_LAMBDA
void lambda();
-#endif
};
void light()
@@ -126,23 +122,23 @@ public:
class ANoExcept
{
public:
- int member0() Q_DECL_NOTHROW { return 10; }
- int member1(int in) Q_DECL_NOTHROW { return in; }
+ int member0() noexcept { return 10; }
+ int member1(int in) noexcept { return in; }
typedef int result_type;
- int operator()() Q_DECL_NOTHROW { return 10; }
- int operator()(int in) Q_DECL_NOTHROW { return in; }
+ int operator()() noexcept { return 10; }
+ int operator()(int in) noexcept { return in; }
};
class AConstNoExcept
{
public:
- int member0() const Q_DECL_NOTHROW { return 10; }
- int member1(int in) const Q_DECL_NOTHROW { return in; }
+ int member0() const noexcept { return 10; }
+ int member1(int in) const noexcept { return in; }
typedef int result_type;
- int operator()() const Q_DECL_NOTHROW { return 10; }
- int operator()(int in) const Q_DECL_NOTHROW { return in; }
+ int operator()() const noexcept { return 10; }
+ int operator()(int in) const noexcept { return in; }
};
void tst_QtConcurrentRun::returnValue()
@@ -648,7 +644,6 @@ void tst_QtConcurrentRun::exceptions()
}
#endif
-#ifdef Q_COMPILER_DECLTYPE
// Compiler supports decltype
struct Functor {
int operator()() { return 42; }
@@ -706,9 +701,7 @@ void tst_QtConcurrentRun::functor()
QtConcurrent::run(&pool, f, 1,2,3,4,5).waitForFinished();
}
}
-#endif
-#ifdef Q_COMPILER_LAMBDA
// Compiler supports lambda
void tst_QtConcurrentRun::lambda()
{
@@ -742,7 +735,6 @@ void tst_QtConcurrentRun::lambda()
}
#endif
}
-#endif
QTEST_MAIN(tst_QtConcurrentRun)
#include "tst_qtconcurrentrun.moc"
diff --git a/tests/auto/corelib/global/qflags/tst_qflags.cpp b/tests/auto/corelib/global/qflags/tst_qflags.cpp
index 6129184738..8265d21350 100644
--- a/tests/auto/corelib/global/qflags/tst_qflags.cpp
+++ b/tests/auto/corelib/global/qflags/tst_qflags.cpp
@@ -121,7 +121,7 @@ void tst_QFlags::constExpr()
QVERIFY(verifyConstExpr<uint(Qt::MouseButtons(Qt::RightButton) & 0xff)>(Qt::RightButton));
QVERIFY(verifyConstExpr<uint(Qt::MouseButtons(Qt::RightButton) | 0xff)>(0xff));
- QVERIFY(!verifyConstExpr<Qt::RightButton>(!Qt::MouseButtons(Qt::LeftButton)));
+ QVERIFY(!verifyConstExpr<Qt::RightButton>(~Qt::MouseButtons(Qt::LeftButton)));
#if defined(__cpp_constexpr) && __cpp_constexpr-0 >= 201304
QVERIFY(verifyConstExpr<uint(testRelaxedConstExpr())>(Qt::MiddleButton));
@@ -142,7 +142,6 @@ void tst_QFlags::signedness()
std::is_signed<Qt::Alignment::Int>::value));
}
-#if defined(Q_COMPILER_CLASS_ENUM)
enum class MyStrictEnum { StrictZero, StrictOne, StrictTwo, StrictFour=4 };
Q_DECLARE_FLAGS( MyStrictFlags, MyStrictEnum )
Q_DECLARE_OPERATORS_FOR_FLAGS( MyStrictFlags )
@@ -154,11 +153,9 @@ Q_STATIC_ASSERT( !QTypeInfo<MyStrictFlags>::isComplex );
Q_STATIC_ASSERT( !QTypeInfo<MyStrictFlags>::isStatic );
Q_STATIC_ASSERT( !QTypeInfo<MyStrictFlags>::isLarge );
Q_STATIC_ASSERT( !QTypeInfo<MyStrictFlags>::isPointer );
-#endif
void tst_QFlags::classEnum()
{
-#if defined(Q_COMPILER_CLASS_ENUM)
// The main aim of the test is making sure it compiles
// The QCOMPARE are there as an extra
MyStrictEnum e1 = MyStrictEnum::StrictOne;
@@ -257,7 +254,6 @@ void tst_QFlags::classEnum()
// Just to make sure it compiles
if (false)
qDebug() << f3;
-#endif
}
void tst_QFlags::initializerLists()
@@ -268,12 +264,10 @@ void tst_QFlags::initializerLists()
QVERIFY(bts.testFlag(Qt::RightButton));
QVERIFY(!bts.testFlag(Qt::MiddleButton));
-#if defined(Q_COMPILER_CLASS_ENUM)
MyStrictNoOpFlags flags = { MyStrictNoOpEnum::StrictOne, MyStrictNoOpEnum::StrictFour };
QVERIFY(flags.testFlag(MyStrictNoOpEnum::StrictOne));
QVERIFY(flags.testFlag(MyStrictNoOpEnum::StrictFour));
QVERIFY(!flags.testFlag(MyStrictNoOpEnum::StrictTwo));
-#endif // Q_COMPILER_CLASS_ENUM
#else
QSKIP("This test requires C++11 initializer_list support.");
diff --git a/tests/auto/corelib/global/qglobal/qglobal.c b/tests/auto/corelib/global/qglobal/qglobal.c
index 0719c4b921..c7124454d0 100644
--- a/tests/auto/corelib/global/qglobal/qglobal.c
+++ b/tests/auto/corelib/global/qglobal/qglobal.c
@@ -85,7 +85,7 @@ int tst_QtVersion()
return QT_VERSION;
}
-const char *tst_qVersion() Q_DECL_NOTHROW
+const char *tst_qVersion() Q_DECL_NOEXCEPT
{
#if !defined(QT_NAMESPACE)
return qVersion();
diff --git a/tests/auto/corelib/global/qglobal/qglobal.pro b/tests/auto/corelib/global/qglobal/qglobal.pro
index a40cb9a288..b105769430 100644
--- a/tests/auto/corelib/global/qglobal/qglobal.pro
+++ b/tests/auto/corelib/global/qglobal/qglobal.pro
@@ -2,3 +2,4 @@ CONFIG += testcase
TARGET = tst_qglobal
QT = core testlib
SOURCES = tst_qglobal.cpp qglobal.c
+contains(QT_CONFIG, c++1z): CONFIG += c++1z
diff --git a/tests/auto/corelib/global/qglobal/tst_qglobal.cpp b/tests/auto/corelib/global/qglobal/tst_qglobal.cpp
index 78b954f373..56da047147 100644
--- a/tests/auto/corelib/global/qglobal/tst_qglobal.cpp
+++ b/tests/auto/corelib/global/qglobal/tst_qglobal.cpp
@@ -126,6 +126,46 @@ void tst_QGlobal::for_each()
QCOMPARE(i, counter++);
}
QCOMPARE(counter, list.count());
+
+ // Should also work with an existing variable
+ int local;
+ counter = 0;
+ foreach (local, list) {
+ QCOMPARE(local, counter++);
+ }
+ QCOMPARE(counter, list.count());
+ QCOMPARE(local, counter - 1);
+
+ // Test the macro does not mess if/else conditions
+ counter = 0;
+ if (true)
+ foreach (int i, list)
+ QCOMPARE(i, counter++);
+ else
+ QFAIL("If/Else mismatch");
+ QCOMPARE(counter, list.count());
+
+ counter = 0;
+ if (false)
+ foreach (int i, list)
+ if (i) QFAIL("If/Else mismatch");
+ else QFAIL("If/Else mismatch");
+ else
+ foreach (int i, list)
+ if (false) { }
+ else QCOMPARE(i, counter++);
+ QCOMPARE(counter, list.count());
+
+ // break and continue
+ counter = 0;
+ foreach (int i, list) {
+ if (i == 0)
+ continue;
+ QCOMPARE(i, (counter++) + 1);
+ if (i == 3)
+ break;
+ }
+ QCOMPARE(counter, 3);
}
void tst_QGlobal::qassert()
diff --git a/tests/auto/corelib/global/qlogging/BLACKLIST b/tests/auto/corelib/global/qlogging/BLACKLIST
index 1dcee92361..e474064f54 100644
--- a/tests/auto/corelib/global/qlogging/BLACKLIST
+++ b/tests/auto/corelib/global/qlogging/BLACKLIST
@@ -1,3 +1,7 @@
+[qMessagePattern:backtrace]
+# QTBUG-63915
+b2qt 64bit
+
[qMessagePattern:backtrace depth,separator]
# QTBUG-63915
b2qt 64bit
diff --git a/tests/auto/corelib/global/qlogging/app/app.pro b/tests/auto/corelib/global/qlogging/app/app.pro
index b90b685749..3ada382ff4 100644
--- a/tests/auto/corelib/global/qlogging/app/app.pro
+++ b/tests/auto/corelib/global/qlogging/app/app.pro
@@ -14,8 +14,7 @@ QT = core
DESTDIR = ./
-CONFIG -= app_bundle
-CONFIG += console
+CONFIG += cmdline
SOURCES += main.cpp
DEFINES += QT_MESSAGELOGCONTEXT
diff --git a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
index 9df54e17d3..d10d879130 100644
--- a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
+++ b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
@@ -254,19 +254,15 @@ public:
int rvalue() && { ADD("TestClass1::rvalue"); return 0; }
int const_rvalue() const && { ADD("TestClass1::const_rvalue"); return 0; }
#endif
-#ifdef Q_COMPILER_DECLTYPE
int decltype_param(int x = 0, decltype(x) = 0) { ADD("TestClass1::decltype_param"); return x; }
template<typename T> int decltype_template_param(T x = 0, decltype(x) = 0)
{ ADD("TestClass1::decltype_template_param"); return x; }
template<typename T> void decltype_template_param2(T x, decltype(x + QString()))
{ ADD("TestClass1::decltype_template_param2"); }
-# ifdef Q_COMPILER_AUTO_FUNCTION
auto decltype_return(int x = 0) -> decltype(x)
{ ADD("TestClass1::decltype_return"); return x; }
template <typename T> auto decltype_template_return(T x = 0) -> decltype(x)
{ ADD("TestClass1::decltype_template_return"); return x; }
-# endif
-#endif
public:
TestClass1()
@@ -323,15 +319,11 @@ public:
std::move(*this).rvalue();
std::move(*this).const_rvalue();
#endif
-#ifdef Q_COMPILER_DECLTYPE
decltype_param();
decltype_template_param(0);
decltype_template_param2(QByteArray(), QString());
-# ifdef Q_COMPILER_AUTO_FUNCTION
decltype_return();
decltype_template_return(0);
-# endif
-#endif
}
};
diff --git a/tests/auto/corelib/global/qnumeric/tst_qnumeric.cpp b/tests/auto/corelib/global/qnumeric/tst_qnumeric.cpp
index 03300c6dbe..0a84b1fdd8 100644
--- a/tests/auto/corelib/global/qnumeric/tst_qnumeric.cpp
+++ b/tests/auto/corelib/global/qnumeric/tst_qnumeric.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Copyright (C) 2016 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
@@ -42,7 +42,8 @@ class tst_QNumeric: public QObject
private slots:
void fuzzyCompare_data();
void fuzzyCompare();
- void qNan();
+ void qNanInf();
+ void classifyfp();
void floatDistance_data();
void floatDistance();
void floatDistance_double_data();
@@ -91,7 +92,7 @@ void tst_QNumeric::fuzzyCompare()
# pragma GCC optimize "no-fast-math"
#endif
-void tst_QNumeric::qNan()
+void tst_QNumeric::qNanInf()
{
#if defined __FAST_MATH__ && (__GNUC__ * 100 + __GNUC_MINOR__ < 404)
QSKIP("Non-conformant fast math mode is enabled, cannot run test");
@@ -99,9 +100,16 @@ void tst_QNumeric::qNan()
double nan = qQNaN();
QVERIFY(!(0 > nan));
QVERIFY(!(0 < nan));
+ QVERIFY(!(0 == nan));
+ QVERIFY(!(nan == nan));
QVERIFY(qIsNaN(nan));
QVERIFY(qIsNaN(nan + 1));
QVERIFY(qIsNaN(-nan));
+ QVERIFY(qIsNaN(1.0 / nan));
+ QVERIFY(qIsNaN(0.0 / nan));
+ QVERIFY(qIsNaN(0.0 * nan));
+ QCOMPARE(nan, nan);
+ QCOMPARE(nan, -nan);
Q_STATIC_ASSERT(sizeof(double) == 8);
#ifdef Q_LITTLE_ENDIAN
@@ -113,17 +121,56 @@ void tst_QNumeric::qNan()
QVERIFY(!qIsFinite(nan));
QVERIFY(!qIsInf(nan));
QVERIFY(qIsNaN(nan));
+ QVERIFY(qIsNaN(-nan));
+ QVERIFY(!(nan == nan));
+ QVERIFY(qIsNaN(0.0 * nan));
+ QCOMPARE(qFpClassify(nan), FP_NAN);
+ QCOMPARE(nan, nan);
+ QCOMPARE(nan, -nan);
+ QCOMPARE(nan, qQNaN());
double inf = qInf();
QVERIFY(inf > 0);
QVERIFY(-inf < 0);
QVERIFY(qIsInf(inf));
+ QCOMPARE(inf, inf);
+ QCOMPARE(-inf, -inf);
QVERIFY(qIsInf(-inf));
- QVERIFY(qIsInf(2*inf));
- QCOMPARE(1/inf, 0.0);
- QVERIFY(qIsNaN(0*nan));
- QVERIFY(qIsNaN(0*inf));
- QVERIFY(qFuzzyCompare(1/inf, 0.0));
+ QVERIFY(qIsInf(inf + 1));
+ QVERIFY(qIsInf(inf - 1));
+ QVERIFY(qIsInf(inf * 2.0));
+ QVERIFY(qIsInf(inf / 2.0));
+ QVERIFY(qFuzzyCompare(1.0 / inf, 0.0));
+ QCOMPARE(1.0 / inf, 0.0);
+ QVERIFY(qIsNaN(0.0 * inf));
+}
+
+void tst_QNumeric::classifyfp()
+{
+ QCOMPARE(qFpClassify(qQNaN()), FP_NAN);
+
+ QCOMPARE(qFpClassify(qInf()), FP_INFINITE);
+ QCOMPARE(qFpClassify(-qInf()), FP_INFINITE);
+ QCOMPARE(qFpClassify(DBL_MAX * 2.0), FP_INFINITE);
+ QCOMPARE(qFpClassify(FLT_MAX * 2.f), FP_INFINITE);
+ QCOMPARE(qFpClassify(DBL_MAX * -2.0), FP_INFINITE);
+ QCOMPARE(qFpClassify(FLT_MAX * -2.f), FP_INFINITE);
+
+ QCOMPARE(qFpClassify(1.0), FP_NORMAL);
+ QCOMPARE(qFpClassify(DBL_MAX), FP_NORMAL);
+ QCOMPARE(qFpClassify(-DBL_MAX), FP_NORMAL);
+ QCOMPARE(qFpClassify(DBL_MIN), FP_NORMAL);
+ QCOMPARE(qFpClassify(-DBL_MIN), FP_NORMAL);
+ QCOMPARE(qFpClassify(DBL_MIN / 2.0), FP_SUBNORMAL);
+ QCOMPARE(qFpClassify(DBL_MIN / -2.0), FP_SUBNORMAL);
+
+ QCOMPARE(qFpClassify(1.f), FP_NORMAL);
+ QCOMPARE(qFpClassify(FLT_MAX), FP_NORMAL);
+ QCOMPARE(qFpClassify(-FLT_MAX), FP_NORMAL);
+ QCOMPARE(qFpClassify(FLT_MIN), FP_NORMAL);
+ QCOMPARE(qFpClassify(-FLT_MIN), FP_NORMAL);
+ QCOMPARE(qFpClassify(FLT_MIN / 2.f), FP_SUBNORMAL);
+ QCOMPARE(qFpClassify(FLT_MIN / -2.f), FP_SUBNORMAL);
}
void tst_QNumeric::floatDistance_data()
@@ -461,13 +508,13 @@ template <typename Int> static void mulOverflow_template()
QCOMPARE(mul_overflow(Int(max / 2), Int(3), &r), true);
QCOMPARE(mul_overflow(mid1, Int(mid2 + 1), &r), true);
QCOMPARE(mul_overflow(Int(max / 2 + 2), Int(2), &r), true);
+ QCOMPARE(mul_overflow(Int(max - max / 2), Int(2), &r), true);
QCOMPARE(mul_overflow(Int(1ULL << (std::numeric_limits<Int>::digits - 1)), Int(2), &r), true);
if (min) {
QCOMPARE(mul_overflow(min, Int(2), &r), true);
QCOMPARE(mul_overflow(Int(min / 2), Int(3), &r), true);
QCOMPARE(mul_overflow(Int(min / 2 - 1), Int(2), &r), true);
- QCOMPARE(mul_overflow(Int(min + min/2), Int(2), &r), true);
}
#endif
}
diff --git a/tests/auto/corelib/global/qtendian/tst_qtendian.cpp b/tests/auto/corelib/global/qtendian/tst_qtendian.cpp
index 7043969c2f..2345bb39c1 100644
--- a/tests/auto/corelib/global/qtendian/tst_qtendian.cpp
+++ b/tests/auto/corelib/global/qtendian/tst_qtendian.cpp
@@ -64,6 +64,9 @@ struct TestData
quint16 data16;
quint8 data8;
+ float dataFloat;
+ double dataDouble;
+
quint8 reserved;
};
@@ -72,6 +75,7 @@ template <> quint8 getData(const TestData &d) { return d.data8; }
template <> quint16 getData(const TestData &d) { return d.data16; }
template <> quint32 getData(const TestData &d) { return d.data32; }
template <> quint64 getData(const TestData &d) { return d.data64; }
+template <> float getData(const TestData &d) { return d.dataFloat; }
union RawTestData
{
@@ -79,9 +83,39 @@ union RawTestData
TestData data;
};
-static const TestData inNativeEndian = { Q_UINT64_C(0x0123456789abcdef), 0x00c0ffee, 0xcafe, 0xcf, '\0' };
-static const RawTestData inBigEndian = { "\x01\x23\x45\x67\x89\xab\xcd\xef" "\x00\xc0\xff\xee" "\xca\xfe" "\xcf" };
-static const RawTestData inLittleEndian = { "\xef\xcd\xab\x89\x67\x45\x23\x01" "\xee\xff\xc0\x00" "\xfe\xca" "\xcf" };
+template <typename Float>
+Float int2Float(typename QIntegerForSizeof<Float>::Unsigned i)
+{
+ Float result = 0;
+ memcpy(reinterpret_cast<char *>(&result), reinterpret_cast<const char *>(&i), sizeof (Float));
+ return result;
+}
+
+static const TestData inNativeEndian = {
+ Q_UINT64_C(0x0123456789abcdef),
+ 0x00c0ffee,
+ 0xcafe,
+ 0xcf,
+ int2Float<float>(0x00c0ffeeU),
+ int2Float<double>(Q_UINT64_C(0x0123456789abcdef)),
+ '\0'
+};
+static const RawTestData inBigEndian = {
+ "\x01\x23\x45\x67\x89\xab\xcd\xef"
+ "\x00\xc0\xff\xee"
+ "\xca\xfe"
+ "\xcf"
+ "\x00\xc0\xff\xee"
+ "\x01\x23\x45\x67\x89\xab\xcd\xef"
+};
+static const RawTestData inLittleEndian = {
+ "\xef\xcd\xab\x89\x67\x45\x23\x01"
+ "\xee\xff\xc0\x00"
+ "\xfe\xca"
+ "\xcf"
+ "\xee\xff\xc0\x00"
+ "\xef\xcd\xab\x89\x67\x45\x23\x01"
+};
#define EXPAND_ENDIAN_TEST(endian) \
do { \
diff --git a/tests/auto/corelib/io/io.pro b/tests/auto/corelib/io/io.pro
index 3c93fd5e1f..eee2c0e30d 100644
--- a/tests/auto/corelib/io/io.pro
+++ b/tests/auto/corelib/io/io.pro
@@ -65,6 +65,9 @@ win32:!qtConfig(private_tests): SUBDIRS -= \
qprocess \
qprocess-noapplication
+!qtConfig(settings): SUBDIRS -= \
+ qsettings
+
winrt: SUBDIRS -= \
qstorageinfo
diff --git a/tests/auto/corelib/io/qdir/Info.plist b/tests/auto/corelib/io/qdir/Info.plist
new file mode 100644
index 0000000000..7dc5622bde
--- /dev/null
+++ b/tests/auto/corelib/io/qdir/Info.plist
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleGetInfoString</key>
+ <string>Created by Qt/QMake</string>
+ <key>CFBundleIconFile</key>
+ <string>${ASSETCATALOG_COMPILER_APPICON_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>${QMAKE_SHORT_VERSION}</string>
+ <key>CFBundleSignature</key>
+ <string>${QMAKE_PKGINFO_TYPEINFO}</string>
+ <key>CFBundleVersion</key>
+ <string>${QMAKE_FULL_VERSION}</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>MinimumOSVersion</key>
+ <string>${IPHONEOS_DEPLOYMENT_TARGET}</string>
+ <key>UILaunchStoryboardName</key>
+ <string>LaunchScreen</string>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>NSPhotoLibraryUsageDescription</key>
+ <string>Enables use of assets file engine</string>
+</dict>
+</plist>
diff --git a/tests/auto/corelib/io/qdir/qdir.pro b/tests/auto/corelib/io/qdir/qdir.pro
index 2252e71cd8..a8b106e250 100644
--- a/tests/auto/corelib/io/qdir/qdir.pro
+++ b/tests/auto/corelib/io/qdir/qdir.pro
@@ -3,6 +3,7 @@ TARGET = tst_qdir
QT = core core-private testlib
SOURCES = tst_qdir.cpp
RESOURCES += qdir.qrc
+ios: QMAKE_INFO_PLIST = Info.plist
TESTDATA += testdir testData searchdir resources entrylist types tst_qdir.cpp
diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp
index 30f0e447ad..2aebc67dcf 100644
--- a/tests/auto/corelib/io/qdir/tst_qdir.cpp
+++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp
@@ -62,12 +62,7 @@
#endif
#ifdef QT_BUILD_INTERNAL
-
-QT_BEGIN_NAMESPACE
-extern Q_AUTOTEST_EXPORT QString
- qt_normalizePathSegments(const QString &path, bool allowUncPaths, bool *ok = nullptr);
-QT_END_NAMESPACE
-
+#include "private/qdir_p.h"
#endif
static QByteArray msgDoesNotExist(const QString &name)
@@ -354,21 +349,21 @@ void tst_QDir::mkdirRmdir_data()
QTest::addColumn<QString>("path");
QTest::addColumn<bool>("recurse");
- QStringList dirs;
- dirs << "testdir/one"
- << "testdir/two/three/four"
- << "testdir/../testdir/three";
- QTest::newRow("plain") << QDir::currentPath() + "/" + dirs.at(0) << false;
- QTest::newRow("recursive") << QDir::currentPath() + "/" + dirs.at(1) << true;
- QTest::newRow("with-..") << QDir::currentPath() + "/" + dirs.at(2) << false;
-
- QTest::newRow("relative-plain") << dirs.at(0) << false;
- QTest::newRow("relative-recursive") << dirs.at(1) << true;
- QTest::newRow("relative-with-..") << dirs.at(2) << false;
-
- // Ensure that none of these directories already exist
- for (int i = 0; i < dirs.count(); ++i)
- QVERIFY(!QFile::exists(dirs.at(i)));
+ const struct {
+ const char *name; // shall have a prefix added
+ const char *path; // relative
+ bool recurse;
+ } cases[] = {
+ { "plain", "testdir/one", false },
+ { "recursive", "testdir/two/three/four", true },
+ { "with-..", "testdir/../testdir/three", false },
+ };
+
+ for (const auto &it : cases) {
+ QVERIFY(!QFile::exists(it.path));
+ QTest::addRow("absolute-%s", it.name) << (QDir::currentPath() + "/") + it.path << it.recurse;
+ QTest::addRow("relative-%s", it.name) << QString::fromLatin1(it.path) << it.recurse;
+ }
}
void tst_QDir::mkdirRmdir()
@@ -1376,7 +1371,7 @@ void tst_QDir::normalizePathSegments()
QFETCH(QString, path);
QFETCH(UncHandling, uncHandling);
QFETCH(QString, expected);
- QString cleaned = qt_normalizePathSegments(path, uncHandling == HandleUnc);
+ QString cleaned = qt_normalizePathSegments(path, uncHandling == HandleUnc ? QDirPrivate::AllowUncPaths : QDirPrivate::DefaultNormalization);
QCOMPARE(cleaned, expected);
if (path == expected)
QVERIFY2(path.isSharedWith(cleaned), "Strings are same but data is not shared");
@@ -1528,6 +1523,11 @@ void tst_QDir::filePath_data()
QTest::newRow("rel-rel") << "relative" << "path" << "relative/path";
QTest::newRow("empty-empty") << "" << "" << ".";
QTest::newRow("resource") << ":/prefix" << "foo.bar" << ":/prefix/foo.bar";
+#ifdef Q_OS_IOS
+ QTest::newRow("assets-rel") << "assets-library:/" << "foo/bar.baz" << "assets-library:/foo/bar.baz";
+ QTest::newRow("assets-abs") << "assets-library:/" << "/foo/bar.baz" << "/foo/bar.baz";
+ QTest::newRow("abs-assets") << "/some/path" << "assets-library:/foo/bar.baz" << "assets-library:/foo/bar.baz";
+#endif
#ifdef Q_OS_WIN
QTest::newRow("abs-LTUNC") << "Q:/path" << "\\/leaning\\tooth/pick" << "\\/leaning\\tooth/pick";
QTest::newRow("LTUNC-slash") << "\\/leaning\\tooth/pick" << "/path" << "//leaning/tooth/path";
@@ -2045,7 +2045,7 @@ void tst_QDir::detachingOperations()
QCOMPARE(dir2.nameFilters(), nameFilters);
QCOMPARE(dir2.sorting(), sorting);
- dir2 = path1;
+ dir2.setPath(path1);
QCOMPARE(dir2.path(), path1);
QCOMPARE(dir2.filter(), filter);
QCOMPARE(dir2.nameFilters(), nameFilters);
diff --git a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
index 3e29475636..714c96b5e5 100644
--- a/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
+++ b/tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
@@ -2022,7 +2022,7 @@ static void stateCheck(const QFileInfo &info, const QString &dirname, const QStr
QVERIFY(!info.isRoot());
QCOMPARE(info.isNativePath(), !filename.isEmpty());
- QCOMPARE(info.readLink(), QString());
+ QCOMPARE(info.symLinkTarget(), QString());
QCOMPARE(info.ownerId(), uint(-2));
QCOMPARE(info.groupId(), uint(-2));
QCOMPARE(info.owner(), QString());
diff --git a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
index fed05698fd..da5327594c 100644
--- a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
+++ b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
@@ -209,9 +209,6 @@ void tst_QIODevice::read_QByteArray()
//--------------------------------------------------------------------
void tst_QIODevice::unget()
{
-#if defined(Q_OS_MAC)
- QSKIP("The unget network test is unstable on Mac. See QTBUG-39983.");
-#endif
QBuffer buffer;
buffer.open(QBuffer::ReadWrite);
buffer.write("ZXCV");
diff --git a/tests/auto/corelib/io/qlockfile/qlockfiletesthelper/qlockfile_test_helper.pro b/tests/auto/corelib/io/qlockfile/qlockfiletesthelper/qlockfile_test_helper.pro
index 3ac3be9c9b..97135d279e 100644
--- a/tests/auto/corelib/io/qlockfile/qlockfiletesthelper/qlockfile_test_helper.pro
+++ b/tests/auto/corelib/io/qlockfile/qlockfiletesthelper/qlockfile_test_helper.pro
@@ -1,7 +1,6 @@
TARGET = qlockfile_test_helper
SOURCES += qlockfile_test_helper.cpp
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
QT = core
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp b/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp
index 11a9b3f189..08635d34c5 100644
--- a/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp
+++ b/tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp
@@ -369,11 +369,9 @@ private slots:
}
Q_LOGGING_CATEGORY(TST_MACRO_1, "tst.macro.1")
-#ifdef Q_COMPILER_VARIADIC_MACROS
Q_LOGGING_CATEGORY(TST_MACRO_2, "tst.macro.2", QtDebugMsg)
Q_LOGGING_CATEGORY(TST_MACRO_3, "tst.macro.3", QtFatalMsg)
Q_LOGGING_CATEGORY(TST_MACRO_4, "tst.macro.4", QtInfoMsg)
-#endif
void QLoggingCategoryMacro()
{
@@ -384,7 +382,6 @@ private slots:
QCOMPARE(cat1.isWarningEnabled(), true);
QCOMPARE(cat1.isCriticalEnabled(), true);
-#ifdef Q_COMPILER_VARIADIC_MACROS
const QLoggingCategory &cat2 = TST_MACRO_2();
QCOMPARE(cat2.categoryName(), "tst.macro.2");
QCOMPARE(cat2.isDebugEnabled(), true);
@@ -405,7 +402,6 @@ private slots:
QCOMPARE(cat4.isInfoEnabled(), true);
QCOMPARE(cat4.isWarningEnabled(), true);
QCOMPARE(cat4.isCriticalEnabled(), true);
-#endif
}
void qCDebugMacros()
diff --git a/tests/auto/corelib/io/qnodebug/tst_qnodebug.cpp b/tests/auto/corelib/io/qnodebug/tst_qnodebug.cpp
index 17c51eaaf4..569c610e24 100644
--- a/tests/auto/corelib/io/qnodebug/tst_qnodebug.cpp
+++ b/tests/auto/corelib/io/qnodebug/tst_qnodebug.cpp
@@ -53,6 +53,7 @@ void tst_QNoDebug::noDebugOutput() const
// should do nothing
qDebug() << "foo";
qCDebug(cat) << "foo";
+ qCDebug(cat, "foo");
// qWarning still works, though
QTest::ignoreMessage(QtWarningMsg, "bar");
diff --git a/tests/auto/corelib/io/qprocess/fileWriterProcess/fileWriterProcess.pro b/tests/auto/corelib/io/qprocess/fileWriterProcess/fileWriterProcess.pro
index 947dc916f2..2744491151 100644
--- a/tests/auto/corelib/io/qprocess/fileWriterProcess/fileWriterProcess.pro
+++ b/tests/auto/corelib/io/qprocess/fileWriterProcess/fileWriterProcess.pro
@@ -1,5 +1,4 @@
SOURCES = main.cpp
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
QT = core
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testDetached/testDetached.pro b/tests/auto/corelib/io/qprocess/testDetached/testDetached.pro
index 8d1fcba624..3d80b668df 100644
--- a/tests/auto/corelib/io/qprocess/testDetached/testDetached.pro
+++ b/tests/auto/corelib/io/qprocess/testDetached/testDetached.pro
@@ -1,6 +1,5 @@
SOURCES = main.cpp
QT = core
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
INSTALLS =
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testExitCodes/testExitCodes.pro b/tests/auto/corelib/io/qprocess/testExitCodes/testExitCodes.pro
index b08371804f..5eaf8dc881 100644
--- a/tests/auto/corelib/io/qprocess/testExitCodes/testExitCodes.pro
+++ b/tests/auto/corelib/io/qprocess/testExitCodes/testExitCodes.pro
@@ -1,5 +1,5 @@
SOURCES += main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testForwarding/testForwarding.pro b/tests/auto/corelib/io/qprocess/testForwarding/testForwarding.pro
index 45b498c32a..4d91e0cf36 100644
--- a/tests/auto/corelib/io/qprocess/testForwarding/testForwarding.pro
+++ b/tests/auto/corelib/io/qprocess/testForwarding/testForwarding.pro
@@ -1,5 +1,4 @@
SOURCES = main.cpp
-CONFIG -= app_bundle
-CONFIG += console
+CONFIG += cmdline
DESTDIR = ./
QT = core
diff --git a/tests/auto/corelib/io/qprocess/testForwardingHelper/testForwardingHelper.pro b/tests/auto/corelib/io/qprocess/testForwardingHelper/testForwardingHelper.pro
index e236e05c7d..6a23e52d95 100644
--- a/tests/auto/corelib/io/qprocess/testForwardingHelper/testForwardingHelper.pro
+++ b/tests/auto/corelib/io/qprocess/testForwardingHelper/testForwardingHelper.pro
@@ -1,4 +1,4 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testGuiProcess/testGuiProcess.pro b/tests/auto/corelib/io/qprocess/testGuiProcess/testGuiProcess.pro
index 8778da7ffe..ef438d6399 100644
--- a/tests/auto/corelib/io/qprocess/testGuiProcess/testGuiProcess.pro
+++ b/tests/auto/corelib/io/qprocess/testGuiProcess/testGuiProcess.pro
@@ -1,5 +1,4 @@
SOURCES += main.cpp
QT += widgets
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessCrash/testProcessCrash.pro b/tests/auto/corelib/io/qprocess/testProcessCrash/testProcessCrash.pro
index 7ccc976efc..640ce4cd09 100644
--- a/tests/auto/corelib/io/qprocess/testProcessCrash/testProcessCrash.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessCrash/testProcessCrash.pro
@@ -1,5 +1,5 @@
SOURCES = main.cpp
-CONFIG += console
-CONFIG -= qt app_bundle
+CONFIG += cmdline
+CONFIG -= qt
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessDeadWhileReading/testProcessDeadWhileReading.pro b/tests/auto/corelib/io/qprocess/testProcessDeadWhileReading/testProcessDeadWhileReading.pro
index fbb3411d47..c7be60a82d 100644
--- a/tests/auto/corelib/io/qprocess/testProcessDeadWhileReading/testProcessDeadWhileReading.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessDeadWhileReading/testProcessDeadWhileReading.pro
@@ -1,5 +1,5 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessEOF/testProcessEOF.pro b/tests/auto/corelib/io/qprocess/testProcessEOF/testProcessEOF.pro
index 98fe78c8b9..ab1394a5c9 100644
--- a/tests/auto/corelib/io/qprocess/testProcessEOF/testProcessEOF.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessEOF/testProcessEOF.pro
@@ -1,6 +1,6 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
win32:!mingw:!equals(TEMPLATE_PREFIX, "vc"):QMAKE_CXXFLAGS += /GS-
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessEcho/testProcessEcho.pro b/tests/auto/corelib/io/qprocess/testProcessEcho/testProcessEcho.pro
index e236e05c7d..6a23e52d95 100644
--- a/tests/auto/corelib/io/qprocess/testProcessEcho/testProcessEcho.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessEcho/testProcessEcho.pro
@@ -1,4 +1,4 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessEcho2/testProcessEcho2.pro b/tests/auto/corelib/io/qprocess/testProcessEcho2/testProcessEcho2.pro
index e236e05c7d..6a23e52d95 100644
--- a/tests/auto/corelib/io/qprocess/testProcessEcho2/testProcessEcho2.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessEcho2/testProcessEcho2.pro
@@ -1,4 +1,4 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessEcho3/testProcessEcho3.pro b/tests/auto/corelib/io/qprocess/testProcessEcho3/testProcessEcho3.pro
index e236e05c7d..6a23e52d95 100644
--- a/tests/auto/corelib/io/qprocess/testProcessEcho3/testProcessEcho3.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessEcho3/testProcessEcho3.pro
@@ -1,4 +1,4 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessEnvironment/testProcessEnvironment.pro b/tests/auto/corelib/io/qprocess/testProcessEnvironment/testProcessEnvironment.pro
index a07ae00605..6a23e52d95 100644
--- a/tests/auto/corelib/io/qprocess/testProcessEnvironment/testProcessEnvironment.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessEnvironment/testProcessEnvironment.pro
@@ -1,8 +1,4 @@
SOURCES = main.cpp
CONFIG -= qt
-CONFIG += console
+CONFIG += cmdline
DESTDIR = ./
-
-mac {
- CONFIG -= app_bundle
-}
diff --git a/tests/auto/corelib/io/qprocess/testProcessHang/testProcessHang.pro b/tests/auto/corelib/io/qprocess/testProcessHang/testProcessHang.pro
index e236e05c7d..6a23e52d95 100644
--- a/tests/auto/corelib/io/qprocess/testProcessHang/testProcessHang.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessHang/testProcessHang.pro
@@ -1,4 +1,4 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testProcessNormal/testProcessNormal.pro b/tests/auto/corelib/io/qprocess/testProcessNormal/testProcessNormal.pro
index c6db9d1bac..7e1119c117 100644
--- a/tests/auto/corelib/io/qprocess/testProcessNormal/testProcessNormal.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessNormal/testProcessNormal.pro
@@ -1,6 +1,6 @@
SOURCES = main.cpp
-CONFIG += console
-CONFIG -= qt app_bundle
+CONFIG += cmdline
+CONFIG -= qt
DESTDIR = ./
QT = core
diff --git a/tests/auto/corelib/io/qprocess/testProcessOutput/testProcessOutput.pro b/tests/auto/corelib/io/qprocess/testProcessOutput/testProcessOutput.pro
index 95191098bd..0bbb6b3c0e 100644
--- a/tests/auto/corelib/io/qprocess/testProcessOutput/testProcessOutput.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessOutput/testProcessOutput.pro
@@ -1,5 +1,5 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
QT = core
diff --git a/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/nospace.pro b/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/nospace.pro
index dd7e8e4a85..7954a2f74b 100644
--- a/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/nospace.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/nospace.pro
@@ -1,6 +1,6 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
OBJECTS_DIR = $${OBJECTS_DIR}-nospace
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/onespace.pro b/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/onespace.pro
index d18a683e1c..44a365c9a5 100644
--- a/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/onespace.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/onespace.pro
@@ -1,6 +1,6 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
OBJECTS_DIR = $${OBJECTS_DIR}-onespace
diff --git a/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/twospaces.pro b/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/twospaces.pro
index 8b16f65e34..bd2db9fb6d 100644
--- a/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/twospaces.pro
+++ b/tests/auto/corelib/io/qprocess/testProcessSpacesArgs/twospaces.pro
@@ -1,6 +1,6 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
OBJECTS_DIR = $${OBJECTS_DIR}-twospaces
diff --git a/tests/auto/corelib/io/qprocess/testSetNamedPipeHandleState/testSetNamedPipeHandleState.pro b/tests/auto/corelib/io/qprocess/testSetNamedPipeHandleState/testSetNamedPipeHandleState.pro
index e236e05c7d..6a23e52d95 100644
--- a/tests/auto/corelib/io/qprocess/testSetNamedPipeHandleState/testSetNamedPipeHandleState.pro
+++ b/tests/auto/corelib/io/qprocess/testSetNamedPipeHandleState/testSetNamedPipeHandleState.pro
@@ -1,4 +1,4 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/corelib/io/qprocess/testSetWorkingDirectory/testSetWorkingDirectory.pro b/tests/auto/corelib/io/qprocess/testSetWorkingDirectory/testSetWorkingDirectory.pro
index 21a115b536..4d91e0cf36 100644
--- a/tests/auto/corelib/io/qprocess/testSetWorkingDirectory/testSetWorkingDirectory.pro
+++ b/tests/auto/corelib/io/qprocess/testSetWorkingDirectory/testSetWorkingDirectory.pro
@@ -1,5 +1,4 @@
SOURCES = main.cpp
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
DESTDIR = ./
QT = core
diff --git a/tests/auto/corelib/io/qprocess/testSoftExit/testSoftExit.pro b/tests/auto/corelib/io/qprocess/testSoftExit/testSoftExit.pro
index 80e8bcad98..2cfcb4794e 100644
--- a/tests/auto/corelib/io/qprocess/testSoftExit/testSoftExit.pro
+++ b/tests/auto/corelib/io/qprocess/testSoftExit/testSoftExit.pro
@@ -6,7 +6,7 @@ unix {
SOURCES = main_unix.cpp
}
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
QT = core
diff --git a/tests/auto/corelib/io/qprocess/testSpaceInName/testSpaceInName.pro b/tests/auto/corelib/io/qprocess/testSpaceInName/testSpaceInName.pro
index afa4f32a85..48f28c4c8b 100644
--- a/tests/auto/corelib/io/qprocess/testSpaceInName/testSpaceInName.pro
+++ b/tests/auto/corelib/io/qprocess/testSpaceInName/testSpaceInName.pro
@@ -1,9 +1,5 @@
SOURCES = main.cpp
CONFIG -= qt
-CONFIG += console
+CONFIG += cmdline
DESTDIR = "../test Space In Name"
-
-mac {
- CONFIG -= app_bundle
-}
QT = core
diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
index e0aa577154..c51994c1c1 100644
--- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
+++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
@@ -185,12 +185,12 @@ void tst_QProcess::getSetCheck()
{
QProcess obj1;
// ProcessChannelMode QProcess::readChannelMode()
- // void QProcess::setReadChannelMode(ProcessChannelMode)
- obj1.setReadChannelMode(QProcess::ProcessChannelMode(QProcess::SeparateChannels));
+ // void QProcess::setProcessChannelMode(ProcessChannelMode)
+ obj1.setProcessChannelMode(QProcess::ProcessChannelMode(QProcess::SeparateChannels));
QCOMPARE(QProcess::ProcessChannelMode(QProcess::SeparateChannels), obj1.readChannelMode());
- obj1.setReadChannelMode(QProcess::ProcessChannelMode(QProcess::MergedChannels));
+ obj1.setProcessChannelMode(QProcess::ProcessChannelMode(QProcess::MergedChannels));
QCOMPARE(QProcess::ProcessChannelMode(QProcess::MergedChannels), obj1.readChannelMode());
- obj1.setReadChannelMode(QProcess::ProcessChannelMode(QProcess::ForwardedChannels));
+ obj1.setProcessChannelMode(QProcess::ProcessChannelMode(QProcess::ForwardedChannels));
QCOMPARE(QProcess::ProcessChannelMode(QProcess::ForwardedChannels), obj1.readChannelMode());
// ProcessChannel QProcess::readChannel()
@@ -913,7 +913,7 @@ public:
switch (n) {
case 0:
- setReadChannelMode(QProcess::MergedChannels);
+ setProcessChannelMode(QProcess::MergedChannels);
connect(this, &QIODevice::readyRead, this, &SoftExitProcess::terminateSlot);
break;
case 1:
@@ -929,7 +929,7 @@ public:
this, &SoftExitProcess::terminateSlot);
break;
case 4:
- setReadChannelMode(QProcess::MergedChannels);
+ setProcessChannelMode(QProcess::MergedChannels);
connect(this, SIGNAL(channelReadyRead(int)), this, SLOT(terminateSlot()));
break;
default:
@@ -1025,7 +1025,7 @@ void tst_QProcess::softExitInSlots()
void tst_QProcess::mergedChannels()
{
QProcess process;
- process.setReadChannelMode(QProcess::MergedChannels);
+ process.setProcessChannelMode(QProcess::MergedChannels);
QCOMPARE(process.readChannelMode(), QProcess::MergedChannels);
process.start("testProcessEcho2/testProcessEcho2");
@@ -1951,7 +1951,7 @@ void tst_QProcess::setStandardOutputFile()
// run the process
QProcess process;
- process.setReadChannelMode(channelMode);
+ process.setProcessChannelMode(channelMode);
if (channelToTest == QProcess::StandardOutput)
process.setStandardOutputFile(file.fileName(), mode);
else
@@ -2037,7 +2037,7 @@ void tst_QProcess::setStandardOutputProcess()
QFETCH(bool, merged);
QFETCH(bool, waitForBytesWritten);
- source.setReadChannelMode(merged ? QProcess::MergedChannels : QProcess::SeparateChannels);
+ source.setProcessChannelMode(merged ? QProcess::MergedChannels : QProcess::SeparateChannels);
source.setStandardOutputProcess(&sink);
source.start("testProcessEcho2/testProcessEcho2");
diff --git a/tests/auto/corelib/io/qresourceengine/.gitattributes b/tests/auto/corelib/io/qresourceengine/.gitattributes
index add3716d81..88edd3681a 100644
--- a/tests/auto/corelib/io/qresourceengine/.gitattributes
+++ b/tests/auto/corelib/io/qresourceengine/.gitattributes
@@ -1 +1,2 @@
testqrc/test.qrc -crlf
+*.txt -crlf
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/aliasdir/aliasdir.txt b/tests/auto/corelib/io/qresourceengine/testqrc/aliasdir/aliasdir.txt
index 21a3dfa0b8..dcf7937f0a 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/aliasdir/aliasdir.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/aliasdir/aliasdir.txt
@@ -1 +1 @@
-"This is a korean text file"
+"This is a korean text file"
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/blahblah.txt b/tests/auto/corelib/io/qresourceengine/testqrc/blahblah.txt
index 436c4d11c3..19f0805d8d 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/blahblah.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/blahblah.txt
@@ -1 +1 @@
-qwerty
+qwerty
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/currentdir.txt b/tests/auto/corelib/io/qresourceengine/testqrc/currentdir.txt
index 38e389979a..65f1f43def 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/currentdir.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/currentdir.txt
@@ -1 +1 @@
-"This is the current dir"
+"This is the current dir"
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/currentdir2.txt b/tests/auto/corelib/io/qresourceengine/testqrc/currentdir2.txt
index 6ac16a3306..7d89108011 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/currentdir2.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/currentdir2.txt
@@ -1 +1 @@
-"This is also the current dir"
+"This is also the current dir"
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/otherdir/otherdir.txt b/tests/auto/corelib/io/qresourceengine/testqrc/otherdir/otherdir.txt
index b0e4a124ee..e1b430f33b 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/otherdir/otherdir.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/otherdir/otherdir.txt
@@ -1 +1 @@
-"This is the other dir"
+"This is the other dir"
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/subdir/subdir.txt b/tests/auto/corelib/io/qresourceengine/testqrc/subdir/subdir.txt
index b6115207a2..4506acf413 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/subdir/subdir.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/subdir/subdir.txt
@@ -1 +1 @@
-"This is in the sub directory"
+"This is in the sub directory"
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test1.txt b/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test1.txt
index adc01d1354..8baef1b4ab 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test1.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test1.txt
@@ -1 +1 @@
-abc
+abc
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test2.txt b/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test2.txt
index 3f48e3cdc3..24c5735c3e 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test2.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/test/test/test2.txt
@@ -1 +1 @@
-def
+def
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir.txt b/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir.txt
index 40ee68dccb..b8cb3a8c01 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir.txt
@@ -1 +1 @@
-"This is in the test directory"
+"This is in the test directory"
diff --git a/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir2.txt b/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir2.txt
index 051430298a..dccfdc9bcf 100644
--- a/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir2.txt
+++ b/tests/auto/corelib/io/qresourceengine/testqrc/test/testdir2.txt
@@ -1 +1 @@
-"This is another file in this directory"
+"This is another file in this directory"
diff --git a/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp b/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp
index ab49dea6d8..0b50c391b8 100644
--- a/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp
+++ b/tests/auto/corelib/io/qresourceengine/tst_qresourceengine.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2018 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -104,7 +105,7 @@ void tst_QResourceEngine::cleanupTestCase()
void tst_QResourceEngine::checkStructure_data()
{
QTest::addColumn<QString>("pathName");
- QTest::addColumn<QString>("contents");
+ QTest::addColumn<QByteArray>("contents");
QTest::addColumn<QStringList>("containedFiles");
QTest::addColumn<QStringList>("containedDirs");
QTest::addColumn<QLocale>("locale");
@@ -134,7 +135,7 @@ void tst_QResourceEngine::checkStructure_data()
QTest::newRow("root dir") << QString(":/")
- << QString()
+ << QByteArray()
<< (QStringList()
#if defined(BUILTIN_TESTDATA)
<< "parentdir.txt"
@@ -146,7 +147,7 @@ void tst_QResourceEngine::checkStructure_data()
<< qlonglong(0);
QTest::newRow("secondary root") << QString(":/secondary_root/")
- << QString()
+ << QByteArray()
<< QStringList()
<< (QStringList() << QLatin1String("runtime_resource"))
<< QLocale::c()
@@ -157,73 +158,73 @@ void tst_QResourceEngine::checkStructure_data()
for(int i = 0; i < roots.size(); ++i) {
const QString root = roots.at(i);
- QTest::newRow(QString(root + "prefix dir").toLatin1().constData()) << QString(root + "test/abc/123/+++")
- << QString()
+ QTest::addRow("%s prefix dir", qPrintable(root)) << QString(root + "test/abc/123/+++")
+ << QByteArray()
<< (QStringList() << QLatin1String("currentdir.txt") << QLatin1String("currentdir2.txt") << QLatin1String("parentdir.txt"))
<< (QStringList() << QLatin1String("subdir"))
<< QLocale::c()
<< qlonglong(0);
- QTest::newRow(QString(root + "parent to prefix").toLatin1().constData()) << QString(root + "test/abc/123")
- << QString()
+ QTest::addRow("%s parent to prefix", qPrintable(root)) << QString(root + "test/abc/123")
+ << QByteArray()
<< QStringList()
<< (QStringList() << QLatin1String("+++"))
<< QLocale::c()
<< qlonglong(0);
- QTest::newRow(QString(root + "two parents prefix").toLatin1().constData()) << QString(root + "test/abc")
- << QString()
+ QTest::addRow("%s two parents prefix", qPrintable(root)) << QString(root + "test/abc")
+ << QByteArray()
<< QStringList()
<< QStringList(QLatin1String("123"))
<< QLocale::c()
<< qlonglong(0);
- QTest::newRow(QString(root + "test dir ").toLatin1().constData()) << QString(root + "test")
- << QString()
+ QTest::addRow("%s test dir ", qPrintable(root)) << QString(root + "test")
+ << QByteArray()
<< (QStringList() << QLatin1String("testdir.txt"))
<< (QStringList() << QLatin1String("abc") << QLatin1String("test"))
<< QLocale::c()
<< qlonglong(0);
- QTest::newRow(QString(root + "prefix no slashes").toLatin1().constData()) << QString(root + "withoutslashes")
- << QString()
+ QTest::addRow("%s prefix no slashes", qPrintable(root)) << QString(root + "withoutslashes")
+ << QByteArray()
<< QStringList("blahblah.txt")
<< QStringList()
<< QLocale::c()
<< qlonglong(0);
- QTest::newRow(QString(root + "other dir").toLatin1().constData()) << QString(root + "otherdir")
- << QString()
+ QTest::addRow("%s other dir", qPrintable(root)) << QString(root + "otherdir")
+ << QByteArray()
<< QStringList(QLatin1String("otherdir.txt"))
<< QStringList()
<< QLocale::c()
<< qlonglong(0);
- QTest::newRow(QString(root + "alias dir").toLatin1().constData()) << QString(root + "aliasdir")
- << QString()
+ QTest::addRow("%s alias dir", qPrintable(root)) << QString(root + "aliasdir")
+ << QByteArray()
<< QStringList(QLatin1String("aliasdir.txt"))
<< QStringList()
<< QLocale::c()
<< qlonglong(0);
- QTest::newRow(QString(root + "second test dir").toLatin1().constData()) << QString(root + "test/test")
- << QString()
+ QTest::addRow("%s second test dir", qPrintable(root)) << QString(root + "test/test")
+ << QByteArray()
<< (QStringList() << QLatin1String("test1.txt") << QLatin1String("test2.txt"))
<< QStringList()
<< QLocale::c()
<< qlonglong(0);
info = QFileInfo(QFINDTESTDATA("testqrc/test/test/test1.txt"));
- QTest::newRow(QString(root + "test1 text").toLatin1().constData()) << QString(root + "test/test/test1.txt")
- << QString("abc")
+ QTest::addRow("%s test1 text", qPrintable(root)) << QString(root + "test/test/test1.txt")
+ << QByteArray("abc\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/blahblah.txt"));
- QTest::newRow(QString(root + "text no slashes").toLatin1().constData()) << QString(root + "withoutslashes/blahblah.txt")
- << QString("qwerty")
+ QTest::addRow("%s text no slashes", qPrintable(root)) << QString(root + "withoutslashes/blahblah.txt")
+ << QByteArray("qwerty\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
@@ -231,96 +232,96 @@ void tst_QResourceEngine::checkStructure_data()
info = QFileInfo(QFINDTESTDATA("testqrc/test/test/test2.txt"));
- QTest::newRow(QString(root + "test1 text").toLatin1().constData()) << QString(root + "test/test/test2.txt")
- << QString("def")
+ QTest::addRow("%s test1 text", qPrintable(root)) << QString(root + "test/test/test2.txt")
+ << QByteArray("def\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/currentdir.txt"));
- QTest::newRow(QString(root + "currentdir text").toLatin1().constData()) << QString(root + "test/abc/123/+++/currentdir.txt")
- << QString("\"This is the current dir\" ")
+ QTest::addRow("%s currentdir text", qPrintable(root)) << QString(root + "test/abc/123/+++/currentdir.txt")
+ << QByteArray("\"This is the current dir\"\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/currentdir2.txt"));
- QTest::newRow(QString(root + "currentdir text2").toLatin1().constData()) << QString(root + "test/abc/123/+++/currentdir2.txt")
- << QString("\"This is also the current dir\" ")
+ QTest::addRow("%s currentdir text2", qPrintable(root)) << QString(root + "test/abc/123/+++/currentdir2.txt")
+ << QByteArray("\"This is also the current dir\"\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("parentdir.txt"));
- QTest::newRow(QString(root + "parentdir text").toLatin1().constData()) << QString(root + "test/abc/123/+++/parentdir.txt")
- << QString("abcdefgihklmnopqrstuvwxyz ")
+ QTest::addRow("%s parentdir text", qPrintable(root)) << QString(root + "test/abc/123/+++/parentdir.txt")
+ << QByteArray("abcdefgihklmnopqrstuvwxyz \n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/subdir/subdir.txt"));
- QTest::newRow(QString(root + "subdir text").toLatin1().constData()) << QString(root + "test/abc/123/+++/subdir/subdir.txt")
- << QString("\"This is in the sub directory\" ")
+ QTest::addRow("%s subdir text", qPrintable(root)) << QString(root + "test/abc/123/+++/subdir/subdir.txt")
+ << QByteArray("\"This is in the sub directory\"\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/test/testdir.txt"));
- QTest::newRow(QString(root + "testdir text").toLatin1().constData()) << QString(root + "test/testdir.txt")
- << QString("\"This is in the test directory\" ")
+ QTest::addRow("%s testdir text", qPrintable(root)) << QString(root + "test/testdir.txt")
+ << QByteArray("\"This is in the test directory\"\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/otherdir/otherdir.txt"));
- QTest::newRow(QString(root + "otherdir text").toLatin1().constData()) << QString(root + "otherdir/otherdir.txt")
- << QString("\"This is the other dir\" ")
+ QTest::addRow("%s otherdir text", qPrintable(root)) << QString(root + "otherdir/otherdir.txt")
+ << QByteArray("\"This is the other dir\"\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/test/testdir2.txt"));
- QTest::newRow(QString(root + "alias text").toLatin1().constData()) << QString(root + "aliasdir/aliasdir.txt")
- << QString("\"This is another file in this directory\" ")
+ QTest::addRow("%s alias text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt")
+ << QByteArray("\"This is another file in this directory\"\n")
<< QStringList()
<< QStringList()
<< QLocale::c()
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/aliasdir/aliasdir.txt"));
- QTest::newRow(QString(root + "korean text").toLatin1().constData()) << QString(root + "aliasdir/aliasdir.txt")
- << QString("\"This is a korean text file\" ")
+ QTest::addRow("%s korean text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt")
+ << QByteArray("\"This is a korean text file\"\n")
<< QStringList()
<< QStringList()
<< QLocale("ko")
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/aliasdir/aliasdir.txt"));
- QTest::newRow(QString(root + "korean text 2").toLatin1().constData()) << QString(root + "aliasdir/aliasdir.txt")
- << QString("\"This is a korean text file\" ")
+ QTest::addRow("%s korean text 2", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt")
+ << QByteArray("\"This is a korean text file\"\n")
<< QStringList()
<< QStringList()
<< QLocale("ko_KR")
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/test/german.txt"));
- QTest::newRow(QString(root + "german text").toLatin1().constData()) << QString(root + "aliasdir/aliasdir.txt")
- << QString("Deutsch")
+ QTest::addRow("%s german text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt")
+ << QByteArray("Deutsch\n")
<< QStringList()
<< QStringList()
<< QLocale("de")
<< qlonglong(info.size());
info = QFileInfo(QFINDTESTDATA("testqrc/test/german.txt"));
- QTest::newRow(QString(root + "german text 2").toLatin1().constData()) << QString(root + "aliasdir/aliasdir.txt")
- << QString("Deutsch")
+ QTest::addRow("%s german text 2", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt")
+ << QByteArray("Deutsch\n")
<< QStringList()
<< QStringList()
<< QLocale("de_DE")
@@ -329,8 +330,8 @@ void tst_QResourceEngine::checkStructure_data()
QFile file(QFINDTESTDATA("testqrc/aliasdir/compressme.txt"));
file.open(QFile::ReadOnly);
info = QFileInfo(QFINDTESTDATA("testqrc/aliasdir/compressme.txt"));
- QTest::newRow(QString(root + "compressed text").toLatin1().constData()) << QString(root + "aliasdir/aliasdir.txt")
- << QString(file.readAll())
+ QTest::addRow("%s compressed text", qPrintable(root)) << QString(root + "aliasdir/aliasdir.txt")
+ << file.readAll()
<< QStringList()
<< QStringList()
<< QLocale("de_CH")
@@ -341,7 +342,7 @@ void tst_QResourceEngine::checkStructure_data()
void tst_QResourceEngine::checkStructure()
{
QFETCH(QString, pathName);
- QFETCH(QString, contents);
+ QFETCH(QByteArray, contents);
QFETCH(QStringList, containedFiles);
QFETCH(QStringList, containedDirs);
QFETCH(QLocale, locale);
@@ -401,8 +402,18 @@ void tst_QResourceEngine::checkStructure()
QFile file(pathName);
QVERIFY(file.open(QFile::ReadOnly));
- QByteArray ba = file.readAll();
- QVERIFY(QString(ba).startsWith(contents));
+ // check contents
+ QCOMPARE(file.readAll(), contents);
+
+ // check memory map too
+ uchar *ptr = file.map(0, file.size(), QFile::MapPrivateOption);
+ QVERIFY2(ptr, qPrintable(file.errorString()));
+ QByteArray ba = QByteArray::fromRawData(reinterpret_cast<const char *>(ptr), file.size());
+ QCOMPARE(ba, contents);
+
+ // check that it is still valid after closing the file
+ file.close();
+ QCOMPARE(ba, contents);
}
QLocale::setDefault(QLocale::system());
}
diff --git a/tests/auto/corelib/io/qsettings/BLACKLIST b/tests/auto/corelib/io/qsettings/BLACKLIST
deleted file mode 100644
index 36d68bd918..0000000000
--- a/tests/auto/corelib/io/qsettings/BLACKLIST
+++ /dev/null
@@ -1,2 +0,0 @@
-[isWritable:native]
-osx-10.11
diff --git a/tests/auto/corelib/io/qsettings/qsettings.qrc b/tests/auto/corelib/io/qsettings/qsettings.qrc
index c664a6f68c..db1d8c663f 100644
--- a/tests/auto/corelib/io/qsettings/qsettings.qrc
+++ b/tests/auto/corelib/io/qsettings/qsettings.qrc
@@ -7,5 +7,6 @@
<file>resourcefile5.ini</file>
<file>resourcefile6.plist</file>
<file>bom.ini</file>
+ <file>withcomments.ini</file>
</qresource>
</RCC>
diff --git a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
index 5357194406..8b69518ef7 100644
--- a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
+++ b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
@@ -187,6 +187,7 @@ private slots:
void bom();
void embeddedZeroByte_data();
void embeddedZeroByte();
+ void spaceAfterComment();
void testXdg();
private:
@@ -764,6 +765,34 @@ void tst_QSettings::embeddedZeroByte()
}
}
+void tst_QSettings::spaceAfterComment()
+{
+ QSettings settings(QFINDTESTDATA("withcomments.ini"), QSettings::IniFormat);
+ QCOMPARE(settings.status(), QSettings::NoError);
+
+ QStringList groups = settings.childGroups();
+ QVERIFY(groups.contains("Regular"));
+ QVERIFY(groups.contains("WithSpaces"));
+ QVERIFY(groups.contains("WithTab"));
+ QVERIFY(groups.contains("SpacedGroup"));
+
+ settings.beginGroup("Regular");
+ QCOMPARE(settings.value("bar"), QVariant(2));
+ settings.endGroup();
+
+ settings.beginGroup("WithSpaces");
+ QCOMPARE(settings.value("bar"), QVariant(4));
+ settings.endGroup();
+
+ settings.beginGroup("WithTab");
+ QCOMPARE(settings.value("bar"), QVariant(6));
+ settings.endGroup();
+
+ settings.beginGroup("SpacedGroup");
+ QCOMPARE(settings.value("bar"), QVariant(7));
+ settings.endGroup();
+}
+
void tst_QSettings::testErrorHandling_data()
{
QTest::addColumn<int>("filePerms"); // -1 means file should not exist
diff --git a/tests/auto/corelib/io/qsettings/withcomments.ini b/tests/auto/corelib/io/qsettings/withcomments.ini
new file mode 100644
index 0000000000..d2de3a356b
--- /dev/null
+++ b/tests/auto/corelib/io/qsettings/withcomments.ini
@@ -0,0 +1,19 @@
+; -*- conf -*-
+; If you edit this file, make sure, that "WithSpaces" has spaces and that
+; "WithTab" has one tab
+
+[Regular]
+;bar = 1
+bar = 2
+
+[WithSpaces]
+;bar = 3
+ bar = 4
+
+[WithTab]
+;bar = 5
+ bar = 6
+
+; [SpacedGroup]
+ [SpacedGroup]
+ bar = 7
diff --git a/tests/auto/corelib/io/qstandardpaths/BLACKLIST b/tests/auto/corelib/io/qstandardpaths/BLACKLIST
deleted file mode 100644
index d5ee9650cd..0000000000
--- a/tests/auto/corelib/io/qstandardpaths/BLACKLIST
+++ /dev/null
@@ -1,3 +0,0 @@
-[testFindExecutable]
-# QTBUG-64404
-b2qt 64bit
diff --git a/tests/auto/corelib/io/qstandardpaths/qstandardpaths.pro b/tests/auto/corelib/io/qstandardpaths/qstandardpaths.pro
index 9fd7047405..44b1ce8dd8 100644
--- a/tests/auto/corelib/io/qstandardpaths/qstandardpaths.pro
+++ b/tests/auto/corelib/io/qstandardpaths/qstandardpaths.pro
@@ -5,3 +5,6 @@ INCLUDEPATH += ../../../../shared/
HEADERS += ../../../../shared/emulationdetector.h
SOURCES = tst_qstandardpaths.cpp
TESTDATA += tst_qstandardpaths.cpp qstandardpaths.pro
+
+# QTBUG-64404
+boot2qt: DEFINES+=SKIP_FINDEXECUTABLE
diff --git a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp
index 5cb130f631..1379c788d1 100644
--- a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp
+++ b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp
@@ -371,6 +371,12 @@ static inline QFileInfo findSh()
void tst_qstandardpaths::testFindExecutable_data()
{
+#ifdef SKIP_FINDEXECUTABLE
+ // Test needs to be skipped or Q_ASSERT below will cancel the test
+ // and report FAIL regardless of BLACKLIST contents
+ QSKIP("QTBUG-64404");
+#endif
+
QTest::addColumn<QString>("directory");
QTest::addColumn<QString>("needle");
QTest::addColumn<QString>("expected");
diff --git a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
index dbc3d68e93..67d8c55b04 100644
--- a/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
+++ b/tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp
@@ -215,7 +215,7 @@ void tst_QTemporaryFile::fileTemplate()
if (!fileTemplate.isEmpty())
file.setFileTemplate(fileTemplate);
- QCOMPARE(file.open(), true);
+ QVERIFY2(file.open(), qPrintable(file.errorString()));
QString fileName = QFileInfo(file).fileName();
if (prefix.length())
@@ -376,7 +376,7 @@ void tst_QTemporaryFile::io()
before.setSecsSinceEpoch(before.toSecsSinceEpoch());
QVERIFY(file.open());
- QVERIFY(file.readLink().isEmpty()); // it's not a link!
+ QVERIFY(file.symLinkTarget().isEmpty()); // it's not a link!
QFile::Permissions perm = file.permissions();
QVERIFY(perm & QFile::ReadOwner);
QVERIFY(file.setPermissions(perm));
diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp
index 84af1c255a..9c106c7f58 100644
--- a/tests/auto/corelib/io/qurl/tst_qurl.cpp
+++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp
@@ -47,6 +47,7 @@ class tst_QUrl : public QObject
private slots:
void initTestCase();
+ void cleanupTestCase();
void effectiveTLDs_data();
void effectiveTLDs();
void getSetCheck();
@@ -182,10 +183,13 @@ private slots:
void matches();
void ipv6_zoneId_data();
void ipv6_zoneId();
+ void normalizeRemotePaths_data();
+ void normalizeRemotePaths();
private:
void testThreadingHelper();
+ const QString m_currentPath = QDir::currentPath();
QTemporaryDir m_tempDir;
};
@@ -194,6 +198,12 @@ void tst_QUrl::initTestCase()
QVERIFY2(m_tempDir.isValid(), qPrintable(m_tempDir.errorString()));
}
+void tst_QUrl::cleanupTestCase()
+{
+ // Restore working directory changed in fromUserInputWithCwd()
+ QDir::setCurrent(m_currentPath);
+}
+
// Testing get/set functions
void tst_QUrl::getSetCheck()
{
@@ -323,7 +333,7 @@ void tst_QUrl::comparison()
QUrl url3bis = QUrl::fromEncoded("example://a/b/c/%7Bfoo%7D/");
QUrl url3bisNoSlash = QUrl::fromEncoded("example://a/b/c/%7Bfoo%7D");
- QUrl url4bis = QUrl::fromEncoded("example://a/.//b/../b/c//%7Bfoo%7D/");
+ QUrl url4bis = QUrl::fromEncoded("example://a/./b/../b/c/%7Bfoo%7D/");
QCOMPARE(url4bis.adjusted(QUrl::NormalizePathSegments), url3bis);
QCOMPARE(url4bis.adjusted(QUrl::NormalizePathSegments | QUrl::StripTrailingSlash), url3bisNoSlash);
QVERIFY(url3bis.matches(url4bis, QUrl::NormalizePathSegments));
@@ -335,7 +345,7 @@ void tst_QUrl::comparison()
QCOMPARE(url4EncodedDots.path(QUrl::FullyDecoded), QString("/.//b/..//b/c/"));
QCOMPARE(QString::fromLatin1(url4EncodedDots.toEncoded()), QString::fromLatin1("example://a/.//b/..%2F/b/c/"));
QCOMPARE(url4EncodedDots.toString(), QString("example://a/.//b/..%2F/b/c/"));
- QCOMPARE(url4EncodedDots.adjusted(QUrl::NormalizePathSegments).toString(), QString("example://a/b/..%2F/b/c/"));
+ QCOMPARE(url4EncodedDots.adjusted(QUrl::NormalizePathSegments).toString(), QString("example://a//b/..%2F/b/c/"));
// 6.2.2.1 Make sure hexdecimal characters in percent encoding are
// treated case-insensitively
@@ -3400,6 +3410,21 @@ void tst_QUrl::effectiveTLDs_data()
QTest::newRow("yes16") << QUrl::fromEncoded("http://anything.pagespeedmobilizer.com") << ".pagespeedmobilizer.com";
QTest::newRow("yes17") << QUrl::fromEncoded("http://anything.eu-central-1.compute.amazonaws.com") << ".eu-central-1.compute.amazonaws.com";
QTest::newRow("yes18") << QUrl::fromEncoded("http://anything.ltd.hk") << ".ltd.hk";
+ QTest::newRow("trentino.it")
+ << QUrl::fromEncoded("http://any.thing.trentino.it") << ".trentino.it";
+ QTest::newRow("net.ni") << QUrl::fromEncoded("http://test.net.ni") << ".net.ni";
+ QTest::newRow("dyn.cosidns.de")
+ << QUrl::fromEncoded("http://test.dyn.cosidns.de") << ".dyn.cosidns.de";
+ QTest::newRow("freeddns.org")
+ << QUrl::fromEncoded("http://test.freeddns.org") << ".freeddns.org";
+ QTest::newRow("app.os.stg.fedoraproject.org")
+ << QUrl::fromEncoded("http://test.app.os.stg.fedoraproject.org")
+ << ".app.os.stg.fedoraproject.org";
+ QTest::newRow("development.run") << QUrl::fromEncoded("http://test.development.run") << ".development.run";
+ QTest::newRow("crafting.xyz") << QUrl::fromEncoded("http://test.crafting.xyz") << ".crafting.xyz";
+ QTest::newRow("nym.ie") << QUrl::fromEncoded("http://shamus.nym.ie") << ".nym.ie";
+ QTest::newRow("vapor.cloud") << QUrl::fromEncoded("http://test.vapor.cloud") << ".vapor.cloud";
+ QTest::newRow("official.academy") << QUrl::fromEncoded("http://acredited.official.academy") << ".official.academy";
}
void tst_QUrl::effectiveTLDs()
@@ -4201,6 +4226,36 @@ void tst_QUrl::ipv6_zoneId()
QCOMPARE(url.toString(QUrl::FullyEncoded), "x://[" + encodedHost + "]");
}
+void tst_QUrl::normalizeRemotePaths_data()
+{
+ QTest::addColumn<QUrl>("url");
+ QTest::addColumn<QString>("expected");
+
+ QTest::newRow("dotdot-slashslash") << QUrl("http://qt-project.org/some/long/..//path") << "http://qt-project.org/some//path";
+ QTest::newRow("slashslash-dotdot") << QUrl("http://qt-project.org/some//../path") << "http://qt-project.org/some/path";
+ QTest::newRow("slashslash-dotdot2") << QUrl("http://qt-project.org/some//path/../") << "http://qt-project.org/some//";
+ QTest::newRow("dot-slash") << QUrl("http://qt-project.org/some/./path") << "http://qt-project.org/some/path";
+ QTest::newRow("slashslash-dot-slashslash") << QUrl("http://qt-project.org/some//.//path") << "http://qt-project.org/some///path";
+ QTest::newRow("dot-slashslash") << QUrl("http://qt-project.org/some/.//path") << "http://qt-project.org/some//path";
+ QTest::newRow("multiple-slashes") << QUrl("http://qt-project.org/some//path") << "http://qt-project.org/some//path";
+ QTest::newRow("multiple-slashes4") << QUrl("http://qt-project.org/some////path") << "http://qt-project.org/some////path";
+ QTest::newRow("slashes-at-end") << QUrl("http://qt-project.org/some//") << "http://qt-project.org/some//";
+ QTest::newRow("dot-dotdot") << QUrl("http://qt-project.org/path/./../") << "http://qt-project.org/";
+ QTest::newRow("slash-dot-slash-dot-slash") << QUrl("http://qt-project.org/path//.//.//") << "http://qt-project.org/path////";
+ QTest::newRow("dotdot") << QUrl("http://qt-project.org/../") << "http://qt-project.org/";
+ QTest::newRow("dotdot-dotdot") << QUrl("http://qt-project.org/path/../../") << "http://qt-project.org/";
+ QTest::newRow("dot-dotdot-tail") << QUrl("http://qt-project.org/stem/path/./../tail") << "http://qt-project.org/stem/tail";
+ QTest::newRow("slash-dotdot-slash-tail") << QUrl("http://qt-project.org/stem/path//..//tail") << "http://qt-project.org/stem/path//tail";
+}
+
+void tst_QUrl::normalizeRemotePaths()
+{
+ QFETCH(QUrl, url);
+ QFETCH(QString, expected);
+
+ QCOMPARE(url.adjusted(QUrl::NormalizePathSegments).toString(), expected);
+}
+
QTEST_MAIN(tst_QUrl)
#include "tst_qurl.moc"
diff --git a/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp b/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp
index d839141091..25d392b37e 100644
--- a/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp
+++ b/tests/auto/corelib/io/qurlquery/tst_qurlquery.cpp
@@ -233,6 +233,14 @@ void tst_QUrlQuery::constructing()
query += qMakePair(QString("prosent"), QString("%"));
copy.setQueryItems(query);
QVERIFY(!copy.isEmpty());
+
+ QUrlQuery fromList = {
+ {QString("type"), QString("login")},
+ {QString("name"), QString::fromUtf8("Ã¥ge nissemannsen")},
+ {QString("ole&du"), QString::fromUtf8("anne+jørgen=sant")},
+ {QString("prosent"), QString("%")}
+ };
+ QCOMPARE(fromList, copy);
}
void tst_QUrlQuery::addRemove()
diff --git a/tests/auto/corelib/itemmodels/itemmodels.pro b/tests/auto/corelib/itemmodels/itemmodels.pro
index 0346341be6..ffbda6ec40 100644
--- a/tests/auto/corelib/itemmodels/itemmodels.pro
+++ b/tests/auto/corelib/itemmodels/itemmodels.pro
@@ -1,14 +1,15 @@
TEMPLATE=subdirs
-SUBDIRS = qabstractitemmodel \
- qstringlistmodel \
+SUBDIRS = qstringlistmodel
qtHaveModule(gui): SUBDIRS += \
+ qabstractitemmodel \
qabstractproxymodel \
qconcatenatetablesproxymodel \
qidentityproxymodel \
qitemselectionmodel \
qsortfilterproxymodel_recursive \
+ qtransposeproxymodel \
qtHaveModule(widgets) {
SUBDIRS += \
diff --git a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
index 262c6dd9c8..c76052a38b 100644
--- a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
@@ -32,10 +32,13 @@
#include <QStandardItemModel>
#include <QStringListModel>
#include <QTest>
+#include <QLoggingCategory>
#include "dynamictreemodel.h"
#include "qidentityproxymodel.h"
+Q_LOGGING_CATEGORY(lcItemModels, "qt.corelib.tests.itemmodels")
+
class DataChangedModel : public QAbstractListModel
{
public:
@@ -390,7 +393,7 @@ void dump(QAbstractItemModel* model, QString const& indent = " - ", QModelIndex
for (auto row = 0; row < model->rowCount(parent); ++row)
{
auto idx = model->index(row, 0, parent);
- qDebug() << (indent + idx.data().toString());
+ qCDebug(lcItemModels) << (indent + idx.data().toString());
dump(model, indent + "- ", idx);
}
}
diff --git a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
index 6ea7a38137..dbc7173028 100644
--- a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
+++ b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
@@ -251,7 +251,7 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model)
QString val = xval + QString::number(y) + QString::number(i);
QModelIndex index = model->index(x, y, parent);
model->setData(index, val);
- model->setData(index, blue, Qt::TextColorRole);
+ model->setData(index, blue, Qt::ForegroundRole);
}
}
*/
@@ -276,7 +276,7 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model)
QString val = xval + QString::number(y) + QString::number(i);
QModelIndex index = realModel->index(x, y, parent);
realModel->setData(index, val);
- realModel->setData(index, blue, Qt::TextColorRole);
+ realModel->setData(index, blue, Qt::ForegroundRole);
}
}
*/
diff --git a/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp b/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp
index 7cd220e684..b9deb7b6a9 100644
--- a/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp
+++ b/tests/auto/corelib/itemmodels/qitemmodel/tst_qitemmodel.cpp
@@ -125,6 +125,7 @@ private:
tst_QItemModel::tst_QItemModel()
{
qRegisterMetaType<QAbstractItemModel::LayoutChangeHint>();
+ qRegisterMetaType<QList<QPersistentModelIndex>>();
}
void tst_QItemModel::init()
@@ -181,7 +182,7 @@ void tst_QItemModel::nonDestructiveBasicTest()
currentModel->hasChildren(QModelIndex());
currentModel->hasIndex(0, 0);
currentModel->headerData(0, Qt::Horizontal);
- currentModel->index(0,0), QModelIndex();
+ currentModel->index(0,0);
currentModel->itemData(QModelIndex());
QVariant cache;
currentModel->match(QModelIndex(), -1, cache);
@@ -576,12 +577,12 @@ void tst_QItemModel::data()
alignment == Qt::AlignJustify);
}
- QVariant colorVariant = currentModel->data(currentModel->index(0,0), Qt::BackgroundColorRole);
+ QVariant colorVariant = currentModel->data(currentModel->index(0,0), Qt::BackgroundRole);
if (colorVariant.isValid()) {
QVERIFY(colorVariant.canConvert<QColor>());
}
- colorVariant = currentModel->data(currentModel->index(0,0), Qt::TextColorRole);
+ colorVariant = currentModel->data(currentModel->index(0,0), Qt::ForegroundRole);
if (colorVariant.isValid()) {
QVERIFY(colorVariant.canConvert<QColor>());
}
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
index 82cd26971b..ccce5a44e5 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
@@ -38,6 +38,8 @@
#include <qdebug.h>
+Q_LOGGING_CATEGORY(lcItemModels, "qt.corelib.tests.itemmodels")
+
// Testing get/set functions
void tst_QSortFilterProxyModel::getSetCheck()
{
@@ -2361,6 +2363,45 @@ void tst_QSortFilterProxyModel::match()
QCOMPARE(indexes.at(i).row(), expectedProxyItems.at(i));
}
+QList<QStandardItem *> createStandardItemList(const QString &prefix, int n)
+{
+ QList<QStandardItem *> result;
+ for (int i = 0; i < n; ++i)
+ result.append(new QStandardItem(prefix + QString::number(i)));
+ return result;
+}
+
+// QTBUG-73864, recursive search in a tree model.
+
+void tst_QSortFilterProxyModel::matchTree()
+{
+ QStandardItemModel model(0, 2);
+ // Header00 Header01
+ // Header10 Header11
+ // Item00 Item01
+ // Item10 Item11
+ model.appendRow(createStandardItemList(QLatin1String("Header0"), 2));
+ auto headerRow = createStandardItemList(QLatin1String("Header1"), 2);
+ model.appendRow(headerRow);
+ headerRow.first()->appendRow(createStandardItemList(QLatin1String("Item0"), 2));
+ headerRow.first()->appendRow(createStandardItemList(QLatin1String("Item1"), 2));
+
+ auto item11 = model.match(model.index(1, 1), Qt::DisplayRole, QLatin1String("Item11"), 20,
+ Qt::MatchRecursive).value(0);
+ QVERIFY(item11.isValid());
+ QCOMPARE(item11.data().toString(), QLatin1String("Item11"));
+
+ // Repeat in proxy model
+ QSortFilterProxyModel proxy;
+ proxy.setSourceModel(&model);
+ auto proxyItem11 = proxy.match(proxy.index(1, 1), Qt::DisplayRole, QLatin1String("Item11"), 20,
+ Qt::MatchRecursive).value(0);
+ QVERIFY(proxyItem11.isValid());
+ QCOMPARE(proxyItem11.data().toString(), QLatin1String("Item11"));
+
+ QCOMPARE(proxy.mapToSource(proxyItem11).internalId(), item11.internalId());
+}
+
void tst_QSortFilterProxyModel::insertIntoChildrenlessItem()
{
QStandardItemModel model;
@@ -4277,7 +4318,7 @@ public:
QModelIndex index(int, int, const QModelIndex& parent = QModelIndex()) const override
{
// QTBUG-44962: Would we always expect the parent to belong to the model
- qDebug() << parent.model() << this;
+ qCDebug(lcItemModels) << parent.model() << this;
Q_ASSERT(!parent.isValid() || parent.model() == this);
quintptr parentId = (parent.isValid()) ? parent.internalId() : 0;
@@ -4363,7 +4404,7 @@ void tst_QSortFilterProxyModel::sourceLayoutChangeLeavesValidPersistentIndexes()
// The use of qDebug here makes sufficient use of the heap to
// cause corruption at runtime with normal use on linux (before
// the fix). valgrind confirms the fix.
- qDebug() << persistentIndex.parent();
+ qCDebug(lcItemModels) << persistentIndex.parent();
QVERIFY(persistentIndex.parent().isValid());
}
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h
index 82d4b7344e..8ae97165b8 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h
@@ -109,6 +109,7 @@ private slots:
void selectionFilteredOut();
void match_data();
void match();
+ void matchTree();
void insertIntoChildrenlessItem();
void invalidateMappedChildren();
void insertRowIntoFilteredParent();
@@ -186,4 +187,6 @@ private:
Q_DECLARE_METATYPE(QAbstractItemModel::LayoutChangeHint)
+Q_DECLARE_LOGGING_CATEGORY(lcItemModels)
+
#endif // TST_QSORTFILTERPROXYMODEL_H
diff --git a/tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp b/tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp
index 16e5170a47..3919472b96 100644
--- a/tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp
+++ b/tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp
@@ -81,6 +81,8 @@ private slots:
void setData_emits_both_roles_data();
void setData_emits_both_roles();
+ void setData_emits_on_change_only();
+
void supportedDragDropActions();
void moveRows_data();
@@ -331,7 +333,7 @@ template <class C>
C sorted(C c)
{
std::sort(c.begin(), c.end());
- return qMove(c);
+ return std::move(c);
}
void tst_QStringListModel::setData_emits_both_roles()
@@ -422,6 +424,24 @@ void tst_QStringListModel::setItemData()
QCOMPARE(dataChangedArguments.at(2).value<QVector<int> >(), changeRoles);
}
+void tst_QStringListModel::setData_emits_on_change_only()
+{
+ QStringListModel model(QStringList{QStringLiteral("one"), QStringLiteral("two")});
+ QSignalSpy dataChangedSpy(&model, &QAbstractItemModel::dataChanged);
+ QVERIFY(dataChangedSpy.isValid());
+ const QModelIndex modelIdx = model.index(0, 0);
+ const QString newStringData = QStringLiteral("test");
+ QVERIFY(model.setData(modelIdx, newStringData));
+ QCOMPARE(dataChangedSpy.count(), 1);
+ const QList<QVariant> spyList = dataChangedSpy.takeFirst();
+ QCOMPARE(spyList.at(0).value<QModelIndex>(), modelIdx);
+ QCOMPARE(spyList.at(1).value<QModelIndex>(), modelIdx);
+ const QVector<int> expectedRoles{Qt::DisplayRole, Qt::EditRole};
+ QCOMPARE(spyList.at(2).value<QVector<int> >(), expectedRoles);
+ QVERIFY(model.setData(modelIdx, newStringData));
+ QVERIFY(dataChangedSpy.isEmpty());
+}
+
void tst_QStringListModel::supportedDragDropActions()
{
QStringListModel model;
diff --git a/tests/auto/corelib/itemmodels/qtransposeproxymodel/qtransposeproxymodel.pro b/tests/auto/corelib/itemmodels/qtransposeproxymodel/qtransposeproxymodel.pro
new file mode 100644
index 0000000000..3834add115
--- /dev/null
+++ b/tests/auto/corelib/itemmodels/qtransposeproxymodel/qtransposeproxymodel.pro
@@ -0,0 +1,6 @@
+CONFIG += testcase
+TARGET = tst_qtransposeproxymodel
+QT = core gui testlib
+
+SOURCES = tst_qtransposeproxymodel.cpp
+
diff --git a/tests/auto/corelib/itemmodels/qtransposeproxymodel/tst_qtransposeproxymodel.cpp b/tests/auto/corelib/itemmodels/qtransposeproxymodel/tst_qtransposeproxymodel.cpp
new file mode 100644
index 0000000000..a30ac46571
--- /dev/null
+++ b/tests/auto/corelib/itemmodels/qtransposeproxymodel/tst_qtransposeproxymodel.cpp
@@ -0,0 +1,915 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Luca Beldi <v.ronin@yahoo.it>
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QTest>
+#include <QSignalSpy>
+#include <QStandardItemModel>
+#include <QStringListModel>
+#include <QAbstractItemModelTester>
+#include <random>
+
+#include <qtransposeproxymodel.h>
+
+class tst_QTransposeProxyModel : public QObject
+{
+ Q_OBJECT
+private Q_SLOTS:
+ void initTestCase();
+ void index();
+ void data();
+ void setData_data();
+ void setData();
+ void parent();
+ void mapToSource();
+ void mapFromSource();
+ void basicTest_data();
+ void basicTest();
+ void sort();
+ void insertRowBase_data();
+ void insertRowBase();
+ void insertColumnBase_data();
+ void insertColumnBase();
+ void insertColumnProxy_data();
+ void insertColumnProxy();
+ void insertRowProxy_data();
+ void insertRowProxy();
+ void removeRowBase_data();
+ void removeRowBase();
+ void removeColumnBase_data();
+ void removeColumnBase();
+ void removeColumnProxy_data();
+ void removeColumnProxy();
+ void removeRowProxy_data();
+ void removeRowProxy();
+ void headerData();
+ void setHeaderData();
+ void span();
+ void itemData();
+ void setItemData();
+ void moveRowsBase();
+ void moveColumnsProxy();
+private:
+ void testTransposed(
+ const QAbstractItemModel *const baseModel,
+ const QAbstractItemModel *const transposed,
+ const QModelIndex &baseParent = QModelIndex(),
+ const QModelIndex &transposedParent = QModelIndex()
+ );
+ QAbstractItemModel *createListModel(QObject *parent);
+ QAbstractItemModel *createTableModel(QObject *parent);
+ QAbstractItemModel *createTreeModel(QObject *parent);
+};
+
+QAbstractItemModel *tst_QTransposeProxyModel::createListModel(QObject *parent)
+{
+ QStringList sequence;
+ sequence.reserve(10);
+ for (int i = 0; i < 10; ++i)
+ sequence.append(QString::number(i));
+ return new QStringListModel(sequence, parent);
+}
+
+QAbstractItemModel *tst_QTransposeProxyModel::createTableModel(QObject *parent)
+{
+ QAbstractItemModel *model = new QStandardItemModel(parent);
+ model->insertRows(0, 5);
+ model->insertColumns(0, 4);
+ for (int i = 0; i < model->rowCount(); ++i) {
+ for (int j = 0; j < model->columnCount(); ++j) {
+ model->setData(model->index(i, j), QStringLiteral("%1,%2").arg(i).arg(j), Qt::EditRole);
+ model->setData(model->index(i, j), i, Qt::UserRole);
+ model->setData(model->index(i, j), j, Qt::UserRole + 1);
+ }
+ }
+ return model;
+}
+
+QAbstractItemModel *tst_QTransposeProxyModel::createTreeModel(QObject *parent)
+{
+ QAbstractItemModel *model = new QStandardItemModel(parent);
+ model->insertRows(0, 5);
+ model->insertColumns(0, 4);
+ for (int i = 0; i < model->rowCount(); ++i) {
+ for (int j = 0; j < model->columnCount(); ++j) {
+ const QModelIndex parIdx = model->index(i, j);
+ model->setData(parIdx, QStringLiteral("%1,%2").arg(i).arg(j), Qt::EditRole);
+ model->setData(parIdx, i, Qt::UserRole);
+ model->setData(parIdx, j, Qt::UserRole + 1);
+ model->insertRows(0, 3, parIdx);
+ model->insertColumns(0, 2, parIdx);
+ for (int h = 0; h < model->rowCount(parIdx); ++h) {
+ for (int k = 0; k < model->columnCount(parIdx); ++k) {
+ const QModelIndex childIdx = model->index(h, k, parIdx);
+ model->setData(childIdx, QStringLiteral("%1,%2,%3,%4").arg(i).arg(j).arg(h).arg(k), Qt::EditRole);
+ model->setData(childIdx, i, Qt::UserRole);
+ model->setData(childIdx, j, Qt::UserRole + 1);
+ model->setData(childIdx, h, Qt::UserRole + 2);
+ model->setData(childIdx, k, Qt::UserRole + 3);
+ }
+ }
+ }
+ }
+ return model;
+}
+
+void tst_QTransposeProxyModel::testTransposed(
+ const QAbstractItemModel *const baseModel,
+ const QAbstractItemModel *const transposed,
+ const QModelIndex &baseParent,
+ const QModelIndex &transposedParent
+)
+{
+ QCOMPARE(transposed->hasChildren(transposedParent), baseModel->hasChildren(baseParent));
+ QCOMPARE(transposed->columnCount(transposedParent), baseModel->rowCount(baseParent));
+ QCOMPARE(transposed->rowCount(transposedParent), baseModel->columnCount(baseParent));
+ for (int i = 0, maxRow = baseModel->rowCount(baseParent); i < maxRow; ++i) {
+ for (int j = 0, maxCol = baseModel->columnCount(baseParent); j < maxCol; ++j) {
+ const QModelIndex baseIdx = baseModel->index(i, j, baseParent);
+ const QModelIndex transIdx = transposed->index(j, i, transposedParent);
+ QCOMPARE(transIdx.data(), baseIdx.data());
+ QCOMPARE(transIdx.data(Qt::UserRole), baseIdx.data(Qt::UserRole));
+ QCOMPARE(transIdx.data(Qt::UserRole + 1), baseIdx.data(Qt::UserRole + 1));
+ QCOMPARE(transIdx.data(Qt::UserRole + 2), baseIdx.data(Qt::UserRole + 2));
+ QCOMPARE(transIdx.data(Qt::UserRole + 3), baseIdx.data(Qt::UserRole + 3));
+ if (baseModel->hasChildren(baseIdx)) {
+ testTransposed(baseModel, transposed, baseIdx, transIdx);
+ }
+ }
+ }
+}
+
+void tst_QTransposeProxyModel::initTestCase()
+{
+ qRegisterMetaType<QList<QPersistentModelIndex> >();
+ qRegisterMetaType<QAbstractItemModel::LayoutChangeHint>();
+}
+
+void tst_QTransposeProxyModel::index()
+{
+ QAbstractItemModel *model = createTreeModel(this);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ QVERIFY(!proxy.index(0, -1).isValid());
+ QVERIFY(!proxy.index(0, -1).isValid());
+ QVERIFY(!proxy.index(-1, -1).isValid());
+ QVERIFY(!proxy.index(0, proxy.columnCount()).isValid());
+ QVERIFY(!proxy.index(proxy.rowCount(), 0).isValid());
+ QVERIFY(!proxy.index(proxy.rowCount(), proxy.columnCount()).isValid());
+ QModelIndex tempIdx = proxy.index(0, 1);
+ QVERIFY(tempIdx.isValid());
+ QCOMPARE(tempIdx.row(), 0);
+ QCOMPARE(tempIdx.column(), 1);
+ tempIdx = proxy.index(0, 1, tempIdx);
+ QVERIFY(tempIdx.isValid());
+ QCOMPARE(tempIdx.row(), 0);
+ QCOMPARE(tempIdx.column(), 1);
+ delete model;
+}
+
+void tst_QTransposeProxyModel::data()
+{
+ QStringListModel model{QStringList{"A", "B"}};
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(&model);
+ QCOMPARE(proxy.index(0, 1).data().toString(), QStringLiteral("B"));
+}
+
+void tst_QTransposeProxyModel::parent()
+{
+ QAbstractItemModel *model = createTreeModel(this);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ const QModelIndex parentIdx = proxy.index(0, 0);
+ const QModelIndex childIdx = proxy.index(0, 0, parentIdx);
+ QVERIFY(parentIdx.isValid());
+ QVERIFY(childIdx.isValid());
+ QCOMPARE(childIdx.parent(), parentIdx);
+ delete model;
+}
+
+void tst_QTransposeProxyModel::mapToSource()
+{
+ QAbstractItemModel *model = createTreeModel(this);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ QVERIFY(!proxy.mapToSource(QModelIndex()).isValid());
+ QCOMPARE(proxy.mapToSource(proxy.index(0, 0)), model->index(0, 0));
+ QCOMPARE(proxy.mapToSource(proxy.index(1, 0)), model->index(0, 1));
+ QCOMPARE(proxy.mapToSource(proxy.index(0, 1)), model->index(1, 0));
+ const QModelIndex proxyParent = proxy.index(1, 0);
+ const QModelIndex sourceParent = model->index(0, 1);
+ QCOMPARE(proxy.mapToSource(proxy.index(0, 0, proxyParent)), model->index(0, 0, sourceParent));
+ QCOMPARE(proxy.mapToSource(proxy.index(1, 0, proxyParent)), model->index(0, 1, sourceParent));
+ QCOMPARE(proxy.mapToSource(proxy.index(0, 1, proxyParent)), model->index(1, 0, sourceParent));
+ delete model;
+}
+
+void tst_QTransposeProxyModel::mapFromSource()
+{
+ QAbstractItemModel *model = createTreeModel(this);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ QVERIFY(!proxy.mapFromSource(QModelIndex()).isValid());
+ QCOMPARE(proxy.mapFromSource(model->index(0, 0)), proxy.index(0, 0));
+ QCOMPARE(proxy.mapFromSource(model->index(0, 1)), proxy.index(1, 0));
+ QCOMPARE(proxy.mapFromSource(model->index(1, 0)), proxy.index(0, 1));
+ const QModelIndex proxyParent = proxy.index(1, 0);
+ const QModelIndex sourceParent = model->index(0, 1);
+ QCOMPARE(proxy.mapToSource(proxy.index(0, 0, proxyParent)), model->index(0, 0, sourceParent));
+ QCOMPARE(proxy.mapFromSource(model->index(1, 0, sourceParent)), proxy.index(0, 1, proxyParent));
+ QCOMPARE(proxy.mapFromSource(model->index(0, 1, sourceParent)), proxy.index(1, 0, proxyParent));
+ delete model;
+}
+
+void tst_QTransposeProxyModel::basicTest_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::newRow("List") << createListModel(this);
+ QTest::newRow("Table") << createTableModel(this);
+ QTest::newRow("Tree") << createTreeModel(this);
+}
+
+void tst_QTransposeProxyModel::basicTest()
+{
+ QFETCH(QAbstractItemModel *, model);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ testTransposed(model, &proxy);
+ delete model;
+}
+
+void tst_QTransposeProxyModel::sort()
+{
+ QStringList sequence;
+ sequence.reserve(100);
+ for (int i = 0; i < 100; ++i)
+ sequence.append(QStringLiteral("%1").arg(i, 3, 10, QLatin1Char('0')));
+ std::shuffle(sequence.begin(), sequence.end(), std::mt19937(88));
+ const QString firstItemBeforeSort = sequence.first();
+ QStringListModel baseModel(sequence);
+ QTransposeProxyModel proxyModel;
+ new QAbstractItemModelTester(&proxyModel, &proxyModel);
+ proxyModel.setSourceModel(&baseModel);
+ QSignalSpy layoutChangedSpy(&proxyModel, &QAbstractItemModel::layoutChanged);
+ QVERIFY(layoutChangedSpy.isValid());
+ QSignalSpy layoutAboutToBeChangedSpy(&proxyModel, &QAbstractItemModel::layoutAboutToBeChanged);
+ QVERIFY(layoutAboutToBeChangedSpy.isValid());
+ QPersistentModelIndex firstIndexBeforeSort = proxyModel.index(0, 0);
+ baseModel.sort(0, Qt::AscendingOrder);
+ QCOMPARE(layoutChangedSpy.count(), 1);
+ QCOMPARE(layoutAboutToBeChangedSpy.count(), 1);
+ QCOMPARE(layoutChangedSpy.takeFirst().at(1).toInt(), int(QAbstractItemModel::HorizontalSortHint));
+ QCOMPARE(firstIndexBeforeSort.data().toString(), firstItemBeforeSort);
+ for (int i = 0; i < 100; ++i)
+ QCOMPARE(proxyModel.index(0, i).data().toInt(), i);
+}
+
+void tst_QTransposeProxyModel::removeColumnBase_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<QModelIndex>("parent");
+ QTest::newRow("Table") << createTableModel(this) << QModelIndex();
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << QModelIndex();
+ QAbstractItemModel *model = createTreeModel(this);
+ QTest::newRow("Tree_Child_Item") << model << model->index(0, 0);
+}
+
+void tst_QTransposeProxyModel::removeColumnBase()
+{
+ QFETCH(QAbstractItemModel * const, model);
+ QFETCH(const QModelIndex, parent);
+ QTransposeProxyModel proxy;
+ QSignalSpy rowRemoveSpy(&proxy, &QAbstractItemModel::rowsRemoved);
+ QVERIFY(rowRemoveSpy.isValid());
+ QSignalSpy rowAboutToBeRemoveSpy(&proxy, &QAbstractItemModel::rowsAboutToBeRemoved);
+ QVERIFY(rowAboutToBeRemoveSpy.isValid());
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ const int oldRowCount = proxy.rowCount(proxy.mapFromSource(parent));
+ const QVariant expectedNewVal = model->index(0, 2, parent).data();
+ QVERIFY(model->removeColumn(1, parent));
+ QCOMPARE(proxy.rowCount(proxy.mapFromSource(parent)), oldRowCount - 1);
+ QCOMPARE(proxy.index(1, 0, proxy.mapFromSource(parent)).data(), expectedNewVal);
+ QCOMPARE(rowRemoveSpy.count(), 1);
+ QCOMPARE(rowAboutToBeRemoveSpy.count(), 1);
+ for (const auto &spyArgs : {rowRemoveSpy.takeFirst(),
+ rowAboutToBeRemoveSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxy.mapFromSource(parent));
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::insertColumnBase_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<QModelIndex>("parent");
+ QTest::newRow("Table") << createTableModel(this) << QModelIndex();
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << QModelIndex();
+ QAbstractItemModel *model = createTreeModel(this);
+ QTest::newRow("Tree_Child_Item") << model << model->index(0, 0);
+}
+
+void tst_QTransposeProxyModel::insertColumnBase()
+{
+ QFETCH(QAbstractItemModel * const, model);
+ QFETCH(const QModelIndex, parent);
+ QTransposeProxyModel proxy;
+ QSignalSpy rowInsertSpy(&proxy, &QAbstractItemModel::rowsInserted);
+ QVERIFY(rowInsertSpy.isValid());
+ QSignalSpy rowAboutToBeInsertSpy(&proxy, &QAbstractItemModel::rowsAboutToBeInserted);
+ QVERIFY(rowAboutToBeInsertSpy.isValid());
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ const int oldRowCount = proxy.rowCount(proxy.mapFromSource(parent));
+ QVERIFY(model->insertColumn(1, parent));
+ QCOMPARE(proxy.rowCount(proxy.mapFromSource(parent)), oldRowCount + 1);
+ QVERIFY(!proxy.index(1, 0, proxy.mapFromSource(parent)).data().isValid());
+ QCOMPARE(rowInsertSpy.count(), 1);
+ QCOMPARE(rowAboutToBeInsertSpy.count(), 1);
+ for (const auto &spyArgs : {rowInsertSpy.takeFirst(),
+ rowAboutToBeInsertSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxy.mapFromSource(parent));
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::removeRowBase_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<QModelIndex>("parent");
+ QTest::newRow("List") << createListModel(this) << QModelIndex();
+ QTest::newRow("Table") << createTableModel(this) << QModelIndex();
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << QModelIndex();
+ QAbstractItemModel *model = createTreeModel(this);
+ QTest::newRow("Tree_Child_Item") << model << model->index(0, 0);
+}
+
+void tst_QTransposeProxyModel::removeRowBase()
+{
+ QFETCH(QAbstractItemModel * const, model);
+ QFETCH(const QModelIndex, parent);
+ QTransposeProxyModel proxy;
+ QSignalSpy columnsRemoveSpy(&proxy, &QAbstractItemModel::columnsRemoved);
+ QVERIFY(columnsRemoveSpy.isValid());
+ QSignalSpy columnsAboutToBeRemoveSpy(&proxy, &QAbstractItemModel::columnsAboutToBeRemoved);
+ QVERIFY(columnsAboutToBeRemoveSpy.isValid());
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ const int oldColCount = proxy.columnCount(proxy.mapFromSource(parent));
+ const QVariant expectedNewVal = model->index(2, 0, parent).data();
+ QVERIFY(model->removeRow(1, parent));
+ QCOMPARE(proxy.columnCount(proxy.mapFromSource(parent)), oldColCount - 1);
+ QCOMPARE(proxy.index(0, 1, proxy.mapFromSource(parent)).data(), expectedNewVal);
+ QCOMPARE(columnsRemoveSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeRemoveSpy.count(), 1);
+ for (const auto &spyArgs : {columnsRemoveSpy.takeFirst(),
+ columnsAboutToBeRemoveSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxy.mapFromSource(parent));
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::insertRowBase_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<QModelIndex>("parent");
+ QTest::newRow("List") << createListModel(this) << QModelIndex();
+ QTest::newRow("Table") << createTableModel(this) << QModelIndex();
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << QModelIndex();
+ QAbstractItemModel *model = createTreeModel(this);
+ QTest::newRow("Tree_Child_Item") << model << model->index(0, 0);
+}
+
+void tst_QTransposeProxyModel::insertRowBase()
+{
+ QFETCH(QAbstractItemModel * const, model);
+ QFETCH(const QModelIndex, parent);
+ QTransposeProxyModel proxy;
+ QSignalSpy columnsInsertSpy(&proxy, &QAbstractItemModel::columnsInserted);
+ QVERIFY(columnsInsertSpy.isValid());
+ QSignalSpy columnsAboutToBeInsertSpy(&proxy, &QAbstractItemModel::columnsAboutToBeInserted);
+ QVERIFY(columnsAboutToBeInsertSpy.isValid());
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ const int oldColCount = proxy.columnCount(proxy.mapFromSource(parent));
+ QVERIFY(model->insertRow(1, parent));
+ QCOMPARE(proxy.columnCount(proxy.mapFromSource(parent)), oldColCount + 1);
+ QVERIFY(proxy.index(0, 1, proxy.mapFromSource(parent)).data().isNull());
+ QCOMPARE(columnsInsertSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeInsertSpy.count(), 1);
+ for (const auto &spyArgs : {columnsInsertSpy.takeFirst(),
+ columnsAboutToBeInsertSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxy.mapFromSource(parent));
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::removeColumnProxy_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<bool>("rootItem");
+ QTest::newRow("List") << createListModel(this) << true;
+ QTest::newRow("Table") << createTableModel(this) << true;
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << true;
+ QTest::newRow("Tree_Child_Item") << createTreeModel(this) << false;
+}
+
+void tst_QTransposeProxyModel::removeColumnProxy()
+{
+ QFETCH(QAbstractItemModel *, model);
+ QFETCH(bool, rootItem);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ QSignalSpy columnsRemoveSpy(&proxy, &QAbstractItemModel::columnsRemoved);
+ QVERIFY(columnsRemoveSpy.isValid());
+ QSignalSpy columnsAboutToBeRemoveSpy(&proxy, &QAbstractItemModel::columnsAboutToBeRemoved);
+ QVERIFY(columnsAboutToBeRemoveSpy.isValid());
+ QSignalSpy rowsRemoveSpy(model, &QAbstractItemModel::rowsRemoved);
+ QVERIFY(rowsRemoveSpy.isValid());
+ QSignalSpy rowsAboutToBeRemoveSpy(model, &QAbstractItemModel::rowsAboutToBeRemoved);
+ QVERIFY(rowsAboutToBeRemoveSpy.isValid());
+ proxy.setSourceModel(model);
+ const QModelIndex proxyParent = rootItem ? QModelIndex() : proxy.index(0, 1);
+ const QModelIndex sourceParent = proxy.mapToSource(proxyParent);
+ const int oldColCount = proxy.columnCount(proxyParent);
+ const int oldRowCount = model->rowCount(sourceParent);
+ const QVariant expectedNewVal = proxy.index(0, 2, proxyParent).data();
+ QVERIFY(proxy.removeColumn(1, proxyParent));
+ QCOMPARE(proxy.columnCount(proxyParent), oldColCount - 1);
+ QCOMPARE(model->rowCount(sourceParent), oldRowCount - 1);
+ QCOMPARE(proxy.index(0, 1, proxyParent).data(), expectedNewVal);
+ QCOMPARE(model->index(1, 0, sourceParent).data(), expectedNewVal);
+ QCOMPARE(columnsRemoveSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeRemoveSpy.count(), 1);
+ QCOMPARE(rowsRemoveSpy.count(), 1);
+ QCOMPARE(rowsAboutToBeRemoveSpy.count(), 1);
+ for (const auto &spyArgs : {columnsRemoveSpy.takeFirst(),
+ columnsAboutToBeRemoveSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxyParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ for (const auto &spyArgs : {rowsRemoveSpy.takeFirst(),
+ rowsAboutToBeRemoveSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), sourceParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::insertColumnProxy_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<bool>("rootItem");
+ QTest::newRow("List") << createListModel(this) << true;
+ QTest::newRow("Table") << createTableModel(this) << true;
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << true;
+ QTest::newRow("Tree_Child_Item") << createTreeModel(this) << false;
+}
+
+void tst_QTransposeProxyModel::insertColumnProxy()
+{
+ QFETCH(QAbstractItemModel *, model);
+ QFETCH(bool, rootItem);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ QSignalSpy columnsInsertSpy(&proxy, &QAbstractItemModel::columnsInserted);
+ QVERIFY(columnsInsertSpy.isValid());
+ QSignalSpy columnsAboutToBeInsertSpy(&proxy, &QAbstractItemModel::columnsAboutToBeInserted);
+ QVERIFY(columnsAboutToBeInsertSpy.isValid());
+ QSignalSpy rowsInsertSpy(model, &QAbstractItemModel::rowsInserted);
+ QVERIFY(rowsInsertSpy.isValid());
+ QSignalSpy rowsAboutToBeInsertSpy(model, &QAbstractItemModel::rowsAboutToBeInserted);
+ QVERIFY(rowsAboutToBeInsertSpy.isValid());
+ proxy.setSourceModel(model);
+ const QModelIndex proxyParent = rootItem ? QModelIndex() : proxy.index(0, 1);
+ const QModelIndex sourceParent = proxy.mapToSource(proxyParent);
+ const int oldColCount = proxy.columnCount(proxyParent);
+ const int oldRowCount = model->rowCount(sourceParent);
+ QVERIFY(proxy.insertColumn(1, proxyParent));
+ QCOMPARE(proxy.columnCount(proxyParent), oldColCount + 1);
+ QCOMPARE(model->rowCount(sourceParent), oldRowCount + 1);
+ QVERIFY(proxy.index(0, 1, proxyParent).data().isNull());
+ QVERIFY(model->index(1, 0, sourceParent).data().isNull());
+ QCOMPARE(columnsInsertSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeInsertSpy.count(), 1);
+ QCOMPARE(rowsInsertSpy.count(), 1);
+ QCOMPARE(rowsAboutToBeInsertSpy.count(), 1);
+ for (const auto &spyArgs : {columnsInsertSpy.takeFirst(),
+ columnsAboutToBeInsertSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxyParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ for (const auto &spyArgs : {rowsInsertSpy.takeFirst(),
+ rowsAboutToBeInsertSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), sourceParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::removeRowProxy_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<bool>("rootItem");
+ QTest::newRow("Table") << createTableModel(this) << true;
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << true;
+ QTest::newRow("Tree_Child_Item") << createTreeModel(this) << false;
+}
+
+void tst_QTransposeProxyModel::removeRowProxy()
+{
+ QFETCH(QAbstractItemModel *, model);
+ QFETCH(bool, rootItem);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ QSignalSpy rowsRemoveSpy(&proxy, &QAbstractItemModel::rowsRemoved);
+ QVERIFY(rowsRemoveSpy.isValid());
+ QSignalSpy rowsAboutToBeRemoveSpy(&proxy, &QAbstractItemModel::rowsAboutToBeRemoved);
+ QVERIFY(rowsAboutToBeRemoveSpy.isValid());
+ QSignalSpy columnsRemoveSpy(model, &QAbstractItemModel::columnsRemoved);
+ QVERIFY(columnsRemoveSpy.isValid());
+ QSignalSpy columnsAboutToBeRemoveSpy(model, &QAbstractItemModel::columnsAboutToBeRemoved);
+ QVERIFY(columnsAboutToBeRemoveSpy.isValid());
+ proxy.setSourceModel(model);
+ const QModelIndex proxyParent = rootItem ? QModelIndex() : proxy.index(0, 1);
+ const QModelIndex sourceParent = proxy.mapToSource(proxyParent);
+ const int oldRowCount = proxy.rowCount(proxyParent);
+ const int oldColCount = model->columnCount(sourceParent);
+ const QVariant expectedNewVal = proxy.index(2, 0, proxyParent).data();
+ QVERIFY(proxy.removeRow(1, proxyParent));
+ QCOMPARE(proxy.rowCount(proxyParent), oldRowCount - 1);
+ QCOMPARE(model->columnCount(sourceParent), oldColCount - 1);
+ QCOMPARE(proxy.index(1, 0, proxyParent).data(), expectedNewVal);
+ QCOMPARE(model->index(0, 1, sourceParent).data(), expectedNewVal);
+ QCOMPARE(columnsRemoveSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeRemoveSpy.count(), 1);
+ QCOMPARE(rowsRemoveSpy.count(), 1);
+ QCOMPARE(rowsAboutToBeRemoveSpy.count(), 1);
+ for (const auto &spyArgs : {columnsRemoveSpy.takeFirst(),
+ columnsAboutToBeRemoveSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), sourceParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ for (const auto &spyArgs : {rowsRemoveSpy.takeFirst(),
+ rowsAboutToBeRemoveSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxyParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::insertRowProxy_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<bool>("rootItem");
+ QTest::newRow("Table") << createTableModel(this) << true;
+ QTest::newRow("Tree_Root_Item") << createTreeModel(this) << true;
+ QTest::newRow("Tree_Child_Item") << createTreeModel(this) << false;
+}
+
+void tst_QTransposeProxyModel::insertRowProxy()
+{
+ QFETCH(QAbstractItemModel *, model);
+ QFETCH(bool, rootItem);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ QSignalSpy rowsInsertSpy(&proxy, &QAbstractItemModel::rowsInserted);
+ QVERIFY(rowsInsertSpy.isValid());
+ QSignalSpy rowsAboutToBeInsertSpy(&proxy, &QAbstractItemModel::rowsAboutToBeInserted);
+ QVERIFY(rowsAboutToBeInsertSpy.isValid());
+ QSignalSpy columnsInsertSpy(model, &QAbstractItemModel::columnsInserted);
+ QVERIFY(columnsInsertSpy.isValid());
+ QSignalSpy columnsAboutToBeInsertSpy(model, &QAbstractItemModel::columnsAboutToBeInserted);
+ QVERIFY(columnsAboutToBeInsertSpy.isValid());
+ proxy.setSourceModel(model);
+ const QModelIndex proxyParent = rootItem ? QModelIndex() : proxy.index(0, 1);
+ const QModelIndex sourceParent = proxy.mapToSource(proxyParent);
+ const int oldRowCount = proxy.rowCount(proxyParent);
+ const int oldColCount = model->columnCount(sourceParent);
+ QVERIFY(proxy.insertRow(1, proxyParent));
+ QCOMPARE(proxy.rowCount(proxyParent), oldRowCount + 1);
+ QCOMPARE(model->columnCount(sourceParent), oldColCount + 1);
+ QVERIFY(proxy.index(1, 0, proxyParent).data().isNull());
+ QVERIFY(model->index(0, 1, sourceParent).data().isNull());
+ QCOMPARE(columnsInsertSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeInsertSpy.count(), 1);
+ QCOMPARE(rowsInsertSpy.count(), 1);
+ QCOMPARE(rowsAboutToBeInsertSpy.count(), 1);
+ for (const auto &spyArgs : {columnsInsertSpy.takeFirst(),
+ columnsAboutToBeInsertSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), sourceParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ for (const auto &spyArgs : {rowsInsertSpy.takeFirst(),
+ rowsAboutToBeInsertSpy.takeFirst()}) {
+ QCOMPARE(spyArgs.at(0).value<QModelIndex>(), proxyParent);
+ QCOMPARE(spyArgs.at(1).toInt(), 1);
+ QCOMPARE(spyArgs.at(2).toInt(), 1);
+ }
+ delete model;
+}
+
+void tst_QTransposeProxyModel::headerData()
+{
+ QStandardItemModel model;
+ model.insertRows(0, 3);
+ model.insertColumns(0, 5);
+ for (int i = 0; i < model.rowCount(); ++i)
+ model.setHeaderData(i, Qt::Horizontal, QChar('A' + i));
+ for (int i = 1; i <= model.columnCount(); ++i)
+ model.setHeaderData(i, Qt::Vertical, i);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(&model);
+ for (int i = 0; i < model.rowCount(); ++i)
+ QCOMPARE(model.headerData(i, Qt::Horizontal), proxy.headerData(i, Qt::Vertical));
+ for (int i = 0; i < model.columnCount(); ++i)
+ QCOMPARE(model.headerData(i, Qt::Vertical), proxy.headerData(i, Qt::Horizontal));
+}
+
+void tst_QTransposeProxyModel::setHeaderData()
+{
+ QStandardItemModel model;
+ model.insertRows(0, 3);
+ model.insertColumns(0, 5);
+ for (int i = 0; i < model.rowCount(); ++i)
+ model.setHeaderData(i, Qt::Horizontal, QChar('A' + i));
+ for (int i = 1; i <= model.columnCount(); ++i)
+ model.setHeaderData(i, Qt::Vertical, i);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(&model);
+ QVERIFY(proxy.setHeaderData(1, Qt::Horizontal, 99));
+ QCOMPARE(model.headerData(1, Qt::Vertical).toInt(), 99);
+ QVERIFY(proxy.setHeaderData(1, Qt::Vertical, QChar('Z')));
+ QCOMPARE(model.headerData(1, Qt::Horizontal).toChar(), QChar('Z'));
+}
+
+void tst_QTransposeProxyModel::span()
+{
+ class SpanModel : public QStandardItemModel
+ {
+ Q_DISABLE_COPY(SpanModel)
+ public:
+ SpanModel(int rows, int columns, QObject *parent = nullptr)
+ : QStandardItemModel(rows, columns, parent)
+ {}
+ QSize span(const QModelIndex &index) const override
+ {
+ Q_UNUSED(index)
+ return QSize(2, 1);
+ }
+ };
+ SpanModel model(3, 5);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(&model);
+ QCOMPARE(proxy.span(proxy.index(0, 0)), QSize(1, 2));
+}
+
+void tst_QTransposeProxyModel::itemData()
+{
+ QAbstractItemModel *model = createTreeModel(this);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ QMap<int, QVariant> itmData = proxy.itemData(proxy.index(0, 1));
+ QCOMPARE(itmData.value(Qt::DisplayRole).toString(), QStringLiteral("1,0"));
+ QCOMPARE(itmData.value(Qt::UserRole).toInt(), 1);
+ QCOMPARE(itmData.value(Qt::UserRole + 1).toInt(), 0);
+ itmData = proxy.itemData(proxy.index(1, 2, proxy.index(0, 1)));
+ QCOMPARE(itmData.value(Qt::DisplayRole).toString(), QStringLiteral("1,0,2,1"));
+ QCOMPARE(itmData.value(Qt::UserRole).toInt(), 1);
+ QCOMPARE(itmData.value(Qt::UserRole + 1).toInt(), 0);
+ QCOMPARE(itmData.value(Qt::UserRole + 2).toInt(), 2);
+ QCOMPARE(itmData.value(Qt::UserRole + 3).toInt(), 1);
+ QVERIFY(proxy.itemData(QModelIndex()).isEmpty());
+ delete model;
+}
+
+void tst_QTransposeProxyModel::setItemData()
+{
+ QAbstractItemModel *model = createTreeModel(this);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ QSignalSpy sourceDataChangeSpy(model, &QAbstractItemModel::dataChanged);
+ QVERIFY(sourceDataChangeSpy.isValid());
+ QSignalSpy proxyDataChangeSpy(&proxy, &QAbstractItemModel::dataChanged);
+ QVERIFY(proxyDataChangeSpy.isValid());
+ const QMap<int, QVariant> itmData = {
+ std::make_pair<int, QVariant>(Qt::DisplayRole, QStringLiteral("Test")),
+ std::make_pair<int, QVariant>(Qt::UserRole, 88),
+ std::make_pair<int, QVariant>(Qt::UserRole + 1, 99),
+ };
+ QModelIndex idx = proxy.index(0, 1);
+ QVERIFY(proxy.setItemData(idx, itmData));
+ QCOMPARE(idx.data(Qt::DisplayRole).toString(), QStringLiteral("Test"));
+ QCOMPARE(idx.data(Qt::UserRole).toInt(), 88);
+ QCOMPARE(idx.data(Qt::UserRole + 1).toInt(), 99);
+ QCOMPARE(sourceDataChangeSpy.size(), 1);
+ QCOMPARE(proxyDataChangeSpy.size(), 1);
+ auto signalData = proxyDataChangeSpy.takeFirst();
+ QCOMPARE(signalData.at(0).value<QModelIndex>(), idx);
+ QCOMPARE(signalData.at(1).value<QModelIndex>(), idx);
+ const QVector<int> expectedRoles{Qt::DisplayRole, Qt::UserRole, Qt::EditRole, Qt::UserRole + 1};
+ QVector<int> receivedRoles = signalData.at(2).value<QVector<int> >();
+ QCOMPARE(receivedRoles.size(), expectedRoles.size());
+ for (int role : expectedRoles)
+ QVERIFY(receivedRoles.contains(role));
+ signalData = sourceDataChangeSpy.takeFirst();
+ QCOMPARE(signalData.at(0).value<QModelIndex>(), proxy.mapToSource(idx));
+ QCOMPARE(signalData.at(1).value<QModelIndex>(), proxy.mapToSource(idx));
+ receivedRoles = signalData.at(2).value<QVector<int> >();
+ QCOMPARE(receivedRoles.size(), expectedRoles.size());
+ for (int role : expectedRoles)
+ QVERIFY(receivedRoles.contains(role));
+ idx = proxy.index(1, 2, proxy.index(0, 1));
+ QVERIFY(proxy.setItemData(idx, itmData));
+ QCOMPARE(idx.data(Qt::DisplayRole).toString(), QStringLiteral("Test"));
+ QCOMPARE(idx.data(Qt::UserRole).toInt(), 88);
+ QCOMPARE(idx.data(Qt::UserRole + 1).toInt(), 99);
+ QCOMPARE(idx.data(Qt::UserRole + 2).toInt(), 2);
+ QCOMPARE(idx.data(Qt::UserRole + 3).toInt(), 1);
+ QCOMPARE(sourceDataChangeSpy.size(), 1);
+ QCOMPARE(proxyDataChangeSpy.size(), 1);
+ signalData = proxyDataChangeSpy.takeFirst();
+ QCOMPARE(signalData.at(0).value<QModelIndex>(), idx);
+ QCOMPARE(signalData.at(1).value<QModelIndex>(), idx);
+ receivedRoles = signalData.at(2).value<QVector<int> >();
+ QCOMPARE(receivedRoles.size(), expectedRoles.size());
+ for (int role : expectedRoles)
+ QVERIFY(receivedRoles.contains(role));
+ signalData = sourceDataChangeSpy.takeFirst();
+ QCOMPARE(signalData.at(0).value<QModelIndex>(), proxy.mapToSource(idx));
+ QCOMPARE(signalData.at(1).value<QModelIndex>(), proxy.mapToSource(idx));
+ receivedRoles = signalData.at(2).value<QVector<int> >();
+ QCOMPARE(receivedRoles.size(), expectedRoles.size());
+ for (int role : expectedRoles)
+ QVERIFY(receivedRoles.contains(role));
+ QVERIFY(!proxy.setItemData(QModelIndex(), itmData));
+ delete model;
+}
+
+void tst_QTransposeProxyModel::moveRowsBase()
+{
+ QStringListModel model{QStringList{"A", "B", "C", "D"}};
+ QTransposeProxyModel proxy;
+ QSignalSpy columnsMoveSpy(&proxy, &QAbstractItemModel::columnsMoved);
+ QVERIFY(columnsMoveSpy.isValid());
+ QSignalSpy columnsAboutToBeMoveSpy(&proxy, &QAbstractItemModel::columnsAboutToBeMoved);
+ QVERIFY(columnsAboutToBeMoveSpy.isValid());
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(&model);
+ const QStringList expectedNewVal = {"B", "A", "C", "D"};
+ QVERIFY(model.moveRows(QModelIndex(), 0, 1, QModelIndex(), 2));
+ for (int i = 0; i < expectedNewVal.size(); ++i)
+ QCOMPARE(proxy.index(0, i).data(), expectedNewVal.at(i));
+ QCOMPARE(columnsMoveSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeMoveSpy.count(), 1);
+ for (const auto &spyArgs : {columnsMoveSpy.takeFirst(),
+ columnsAboutToBeMoveSpy.takeFirst()}) {
+ QVERIFY(!spyArgs.at(0).value<QModelIndex>().isValid());
+ QCOMPARE(spyArgs.at(1).toInt(), 0);
+ QCOMPARE(spyArgs.at(2).toInt(), 0);
+ QVERIFY(!spyArgs.at(3).value<QModelIndex>().isValid());
+ QCOMPARE(spyArgs.at(4).toInt(), 2);
+ }
+}
+
+void tst_QTransposeProxyModel::moveColumnsProxy()
+{
+ QStringListModel model{QStringList{"A", "B", "C", "D"}};
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ QSignalSpy columnsMoveSpy(&proxy, &QAbstractItemModel::columnsMoved);
+ QVERIFY(columnsMoveSpy.isValid());
+ QSignalSpy columnsAboutToBeMoveSpy(&proxy, &QAbstractItemModel::columnsAboutToBeMoved);
+ QVERIFY(columnsAboutToBeMoveSpy.isValid());
+ QSignalSpy rowsMoveSpy(&model, &QAbstractItemModel::rowsMoved);
+ QVERIFY(rowsMoveSpy.isValid());
+ QSignalSpy rowsAboutToBeMoveSpy(&model, &QAbstractItemModel::rowsAboutToBeMoved);
+ QVERIFY(rowsAboutToBeMoveSpy.isValid());
+ proxy.setSourceModel(&model);
+ const QStringList expectedNewVal = {"B", "A", "C", "D"};
+ QVERIFY(proxy.moveColumns(QModelIndex(), 0, 1, QModelIndex(), 2));
+ for (int i = 0; i < expectedNewVal.size(); ++i)
+ QCOMPARE(proxy.index(0, i).data(), expectedNewVal.at(i));
+ for (int i = 0; i < expectedNewVal.size(); ++i)
+ QCOMPARE(model.index(i, 0).data(), expectedNewVal.at(i));
+ QCOMPARE(columnsMoveSpy.count(), 1);
+ QCOMPARE(columnsAboutToBeMoveSpy.count(), 1);
+ QCOMPARE(rowsMoveSpy.count(), 1);
+ QCOMPARE(rowsAboutToBeMoveSpy.count(), 1);
+ for (const auto &spyArgs : {columnsMoveSpy.takeFirst(),
+ columnsAboutToBeMoveSpy.takeFirst(),
+ rowsMoveSpy.takeFirst(),rowsAboutToBeMoveSpy.takeFirst()}) {
+ QVERIFY(!spyArgs.at(0).value<QModelIndex>().isValid());
+ QCOMPARE(spyArgs.at(1).toInt(), 0);
+ QCOMPARE(spyArgs.at(2).toInt(), 0);
+ QVERIFY(!spyArgs.at(3).value<QModelIndex>().isValid());
+ }
+}
+
+void tst_QTransposeProxyModel::setData_data()
+{
+ QTest::addColumn<QAbstractItemModel *>("model");
+ QTest::addColumn<bool>("rootItem");
+ QTest::addColumn<bool>("viaProxy");
+ QTest::newRow("List_via_Base") << createListModel(this) << true << false;
+ QTest::newRow("Table_via_Base") << createTableModel(this) << true << false;
+ QTest::newRow("Tree_via_Base_Root_Item") << createTreeModel(this) << true << false;
+ QTest::newRow("Tree_via_Base_Child_Item") << createTreeModel(this) << false << false;
+ QTest::newRow("List_via_Proxy") << createListModel(this) << true << true;
+ QTest::newRow("Table_via_Proxy") << createTableModel(this) << true << true;
+ QTest::newRow("Tree_via_Proxy_Root_Item") << createTreeModel(this) << true << true;
+ QTest::newRow("Tree_via_Proxy_Child_Item") << createTreeModel(this) << false << true;
+}
+
+void tst_QTransposeProxyModel::setData()
+{
+ QFETCH(QAbstractItemModel *, model);
+ QFETCH(bool, rootItem);
+ QFETCH(bool, viaProxy);
+ QTransposeProxyModel proxy;
+ new QAbstractItemModelTester(&proxy, &proxy);
+ proxy.setSourceModel(model);
+ QSignalSpy sourceDataChangeSpy(model, &QAbstractItemModel::dataChanged);
+ QVERIFY(sourceDataChangeSpy.isValid());
+ QSignalSpy proxyDataChangeSpy(&proxy, &QAbstractItemModel::dataChanged);
+ QVERIFY(proxyDataChangeSpy.isValid());
+ const QString testData = QStringLiteral("TestingSetData");
+ if (viaProxy) {
+ const QModelIndex parIdx = rootItem ? QModelIndex() : proxy.index(0, 1);
+ QVERIFY(proxy.setData(proxy.index(0, 1, parIdx), testData));
+ QCOMPARE(model->index(1, 0, proxy.mapToSource(parIdx)).data().toString(), testData);
+ } else {
+ const QModelIndex parIdx = rootItem ? QModelIndex() : model->index(1, 0);
+ QVERIFY(model->setData(model->index(1, 0, parIdx), testData));
+ QCOMPARE(proxy.index(0, 1, proxy.mapFromSource(parIdx)).data().toString(), testData);
+ }
+ QCOMPARE(sourceDataChangeSpy.size(), 1);
+ QCOMPARE(proxyDataChangeSpy.size(), 1);
+ delete model;
+}
+
+QTEST_GUILESS_MAIN(tst_QTransposeProxyModel)
+
+#include "tst_qtransposeproxymodel.moc"
diff --git a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
index a53501b9dd..6adb393ddd 100644
--- a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
+++ b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
@@ -928,6 +928,12 @@ void tst_QCoreApplication::threadedEventDelivery()
thread.start();
QVERIFY(thread.wait(1000));
QCOMPARE(receiver.recordedEvents.contains(QEvent::User + 1), eventsReceived);
+
+}
+
+void tst_QCoreApplication::testTrWithPercantegeAtTheEnd()
+{
+ QCoreApplication::translate("testcontext", "this will crash%", "testdisamb", 3);
}
#if QT_CONFIG(library)
diff --git a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.h b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.h
index 105cca5174..2a23cf0751 100644
--- a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.h
+++ b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.h
@@ -59,6 +59,7 @@ private slots:
void applicationEventFilters_auxThread();
void threadedEventDelivery_data();
void threadedEventDelivery();
+ void testTrWithPercantegeAtTheEnd();
#if QT_CONFIG(library)
void addRemoveLibPaths();
#endif
diff --git a/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST b/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST
index fb7e025b7c..06588188d4 100644
--- a/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST
+++ b/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST
@@ -1,7 +1,6 @@
[sendPostedEvents]
windows
-osx
[registerTimer]
windows
-osx
winrt
+osx
diff --git a/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp b/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
index 5784f0728c..49c10c6a24 100644
--- a/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
+++ b/tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp
@@ -28,6 +28,7 @@
#ifdef QT_GUI_LIB
# include <QtGui/QGuiApplication>
+# define tst_QEventDispatcher tst_QGuiEventDispatcher
#else
# include <QtCore/QCoreApplication>
#endif
@@ -92,77 +93,151 @@ void tst_QEventDispatcher::initTestCase()
}
}
+class TimerManager {
+ Q_DISABLE_COPY(TimerManager)
+
+public:
+ TimerManager(QAbstractEventDispatcher *eventDispatcher, QObject *parent)
+ : m_eventDispatcher(eventDispatcher), m_parent(parent)
+ {
+ }
+
+ ~TimerManager()
+ {
+ if (!registeredTimers().isEmpty())
+ m_eventDispatcher->unregisterTimers(m_parent);
+ }
+
+ TimerManager(TimerManager &&) = delete;
+ TimerManager &operator=(TimerManager &&) = delete;
+
+ int preciseTimerId() const { return m_preciseTimerId; }
+ int coarseTimerId() const { return m_coarseTimerId; }
+ int veryCoarseTimerId() const { return m_veryCoarseTimerId; }
+
+ bool foundPrecise() const { return m_preciseTimerId > 0; }
+ bool foundCoarse() const { return m_coarseTimerId > 0; }
+ bool foundVeryCoarse() const { return m_veryCoarseTimerId > 0; }
+
+ QList<QAbstractEventDispatcher::TimerInfo> registeredTimers() const
+ {
+ return m_eventDispatcher->registeredTimers(m_parent);
+ }
+
+ void registerAll()
+ {
+ // start 3 timers, each with the different timer types and different intervals
+ m_preciseTimerId = m_eventDispatcher->registerTimer(
+ PreciseTimerInterval, Qt::PreciseTimer, m_parent);
+ m_coarseTimerId = m_eventDispatcher->registerTimer(
+ CoarseTimerInterval, Qt::CoarseTimer, m_parent);
+ m_veryCoarseTimerId = m_eventDispatcher->registerTimer(
+ VeryCoarseTimerInterval, Qt::VeryCoarseTimer, m_parent);
+ QVERIFY(m_preciseTimerId > 0);
+ QVERIFY(m_coarseTimerId > 0);
+ QVERIFY(m_veryCoarseTimerId > 0);
+ findTimers();
+ }
+
+ void unregister(int timerId)
+ {
+ m_eventDispatcher->unregisterTimer(timerId);
+ findTimers();
+ }
+
+ void unregisterAll()
+ {
+ m_eventDispatcher->unregisterTimers(m_parent);
+ findTimers();
+ }
+
+private:
+ void findTimers()
+ {
+ bool foundPrecise = false;
+ bool foundCoarse = false;
+ bool foundVeryCoarse = false;
+ const QList<QAbstractEventDispatcher::TimerInfo> timers = registeredTimers();
+ for (int i = 0; i < timers.count(); ++i) {
+ const QAbstractEventDispatcher::TimerInfo &timerInfo = timers.at(i);
+ if (timerInfo.timerId == m_preciseTimerId) {
+ QCOMPARE(timerInfo.interval, int(PreciseTimerInterval));
+ QCOMPARE(timerInfo.timerType, Qt::PreciseTimer);
+ foundPrecise = true;
+ } else if (timerInfo.timerId == m_coarseTimerId) {
+ QCOMPARE(timerInfo.interval, int(CoarseTimerInterval));
+ QCOMPARE(timerInfo.timerType, Qt::CoarseTimer);
+ foundCoarse = true;
+ } else if (timerInfo.timerId == m_veryCoarseTimerId) {
+ QCOMPARE(timerInfo.interval, int(VeryCoarseTimerInterval));
+ QCOMPARE(timerInfo.timerType, Qt::VeryCoarseTimer);
+ foundVeryCoarse = true;
+ }
+ }
+ if (!foundPrecise)
+ m_preciseTimerId = -1;
+ if (!foundCoarse)
+ m_coarseTimerId = -1;
+ if (!foundVeryCoarse)
+ m_veryCoarseTimerId = -1;
+ }
+
+ QAbstractEventDispatcher *m_eventDispatcher = nullptr;
+
+ int m_preciseTimerId = -1;
+ int m_coarseTimerId = -1;
+ int m_veryCoarseTimerId = -1;
+
+ QObject *m_parent = nullptr;
+};
+
// test that the eventDispatcher's timer implementation is complete and working
void tst_QEventDispatcher::registerTimer()
{
-#define FIND_TIMERS() \
- do { \
- foundPrecise = false; \
- foundCoarse = false; \
- foundVeryCoarse = false; \
- for (int i = 0; i < registeredTimers.count(); ++i) { \
- const QAbstractEventDispatcher::TimerInfo &timerInfo = registeredTimers.at(i); \
- if (timerInfo.timerId == preciseTimerId) { \
- QCOMPARE(timerInfo.interval, int(PreciseTimerInterval)); \
- QCOMPARE(timerInfo.timerType, Qt::PreciseTimer); \
- foundPrecise = true; \
- } else if (timerInfo.timerId == coarseTimerId) { \
- QCOMPARE(timerInfo.interval, int(CoarseTimerInterval)); \
- QCOMPARE(timerInfo.timerType, Qt::CoarseTimer); \
- foundCoarse = true; \
- } else if (timerInfo.timerId == veryCoarseTimerId) { \
- QCOMPARE(timerInfo.interval, int(VeryCoarseTimerInterval)); \
- QCOMPARE(timerInfo.timerType, Qt::VeryCoarseTimer); \
- foundVeryCoarse = true; \
- } \
- } \
- } while (0)
-
- // start 3 timers, each with the different timer types and different intervals
- int preciseTimerId = eventDispatcher->registerTimer(PreciseTimerInterval, Qt::PreciseTimer, this);
- int coarseTimerId = eventDispatcher->registerTimer(CoarseTimerInterval, Qt::CoarseTimer, this);
- int veryCoarseTimerId = eventDispatcher->registerTimer(VeryCoarseTimerInterval, Qt::VeryCoarseTimer, this);
- QVERIFY(preciseTimerId > 0);
- QVERIFY(coarseTimerId > 0);
- QVERIFY(veryCoarseTimerId > 0);
+ TimerManager timers(eventDispatcher, this);
+ timers.registerAll();
+ if (QTest::currentTestFailed())
+ return;
// check that all 3 are present in the eventDispatcher's registeredTimer() list
- QList<QAbstractEventDispatcher::TimerInfo> registeredTimers = eventDispatcher->registeredTimers(this);
- QCOMPARE(registeredTimers.count(), 3);
- bool foundPrecise, foundCoarse, foundVeryCoarse;
- FIND_TIMERS();
- QVERIFY(foundPrecise && foundCoarse && foundVeryCoarse);
+ QCOMPARE(timers.registeredTimers().count(), 3);
+ QVERIFY(timers.foundPrecise());
+ QVERIFY(timers.foundCoarse());
+ QVERIFY(timers.foundVeryCoarse());
// process events, waiting for the next event... this should only fire the precise timer
receivedEventType = -1;
timerIdFromEvent = -1;
QTRY_COMPARE_WITH_TIMEOUT(receivedEventType, int(QEvent::Timer), PreciseTimerInterval * 2);
- QCOMPARE(timerIdFromEvent, preciseTimerId);
+ QCOMPARE(timerIdFromEvent, timers.preciseTimerId());
// now unregister it and make sure it's gone
- eventDispatcher->unregisterTimer(preciseTimerId);
- registeredTimers = eventDispatcher->registeredTimers(this);
- QCOMPARE(registeredTimers.count(), 2);
- FIND_TIMERS();
- QVERIFY(!foundPrecise && foundCoarse && foundVeryCoarse);
+ timers.unregister(timers.preciseTimerId());
+ if (QTest::currentTestFailed())
+ return;
+ QCOMPARE(timers.registeredTimers().count(), 2);
+ QVERIFY(!timers.foundPrecise());
+ QVERIFY(timers.foundCoarse());
+ QVERIFY(timers.foundVeryCoarse());
// do the same again for the coarse timer
receivedEventType = -1;
timerIdFromEvent = -1;
QTRY_COMPARE_WITH_TIMEOUT(receivedEventType, int(QEvent::Timer), CoarseTimerInterval * 2);
- QCOMPARE(timerIdFromEvent, coarseTimerId);
+ QCOMPARE(timerIdFromEvent, timers.coarseTimerId());
// now unregister it and make sure it's gone
- eventDispatcher->unregisterTimer(coarseTimerId);
- registeredTimers = eventDispatcher->registeredTimers(this);
- QCOMPARE(registeredTimers.count(), 1);
- FIND_TIMERS();
- QVERIFY(!foundPrecise && !foundCoarse && foundVeryCoarse);
+ timers.unregister(timers.coarseTimerId());
+ if (QTest::currentTestFailed())
+ return;
+ QCOMPARE(timers.registeredTimers().count(), 1);
+ QVERIFY(!timers.foundPrecise());
+ QVERIFY(!timers.foundCoarse());
+ QVERIFY(timers.foundVeryCoarse());
// not going to wait for the VeryCoarseTimer, would take too long, just unregister it
- eventDispatcher->unregisterTimers(this);
- registeredTimers = eventDispatcher->registeredTimers(this);
- QVERIFY(registeredTimers.isEmpty());
-
-#undef FIND_TIMERS
+ timers.unregisterAll();
+ if (QTest::currentTestFailed())
+ return;
+ QVERIFY(timers.registeredTimers().isEmpty());
}
void tst_QEventDispatcher::sendPostedEvents_data()
diff --git a/tests/auto/corelib/kernel/qmetaenum/tst_qmetaenum.cpp b/tests/auto/corelib/kernel/qmetaenum/tst_qmetaenum.cpp
index bb111a9137..6ed0a6caa9 100644
--- a/tests/auto/corelib/kernel/qmetaenum/tst_qmetaenum.cpp
+++ b/tests/auto/corelib/kernel/qmetaenum/tst_qmetaenum.cpp
@@ -46,6 +46,7 @@ private slots:
void fromType();
void valuesToKeys_data();
void valuesToKeys();
+ void defaultConstructed();
};
void tst_QMetaEnum::fromType()
@@ -99,6 +100,15 @@ void tst_QMetaEnum::valuesToKeys()
QCOMPARE(me.valueToKeys(windowFlags), expected);
}
+void tst_QMetaEnum::defaultConstructed()
+{
+ QMetaEnum e;
+ QVERIFY(!e.isValid());
+ QVERIFY(!e.isScoped());
+ QVERIFY(!e.isFlag());
+ QCOMPARE(e.name(), QByteArray());
+}
+
Q_STATIC_ASSERT(QtPrivate::IsQEnumHelper<tst_QMetaEnum::SuperEnum>::Value);
Q_STATIC_ASSERT(QtPrivate::IsQEnumHelper<Qt::WindowFlags>::Value);
Q_STATIC_ASSERT(QtPrivate::IsQEnumHelper<Qt::Orientation>::Value);
diff --git a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
index 9855bec520..350ed24c28 100644
--- a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
@@ -40,6 +40,13 @@ struct MyStruct
int i;
};
+class MyGadget
+{
+ Q_GADGET
+public:
+ Q_INVOKABLE MyGadget() {}
+};
+
namespace MyNamespace {
// Used in tst_QMetaObject::checkScope
class MyClass : public QObject
@@ -324,6 +331,7 @@ private slots:
void signal();
void signalIndex_data();
void signalIndex();
+ void enumDebugStream_data();
void enumDebugStream();
void inherits_data();
@@ -1207,6 +1215,12 @@ void tst_QMetaObject::invokeMetaConstructor()
QCOMPARE(obj2->parent(), (QObject*)&obj);
QVERIFY(qobject_cast<NamespaceWithConstructibleClass::ConstructibleClass*>(obj2) != 0);
}
+ // gadget shouldn't return a valid pointer
+ {
+ QCOMPARE(MyGadget::staticMetaObject.constructorCount(), 1);
+ QTest::ignoreMessage(QtWarningMsg, "QMetaObject::newInstance: type MyGadget does not inherit QObject");
+ QVERIFY(!MyGadget::staticMetaObject.newInstance());
+ }
}
void tst_QMetaObject::invokeTypedefTypes()
@@ -1741,37 +1755,104 @@ void tst_QMetaObject::signalIndex()
SignalTestHelper::signalIndex(mm));
}
+void tst_QMetaObject::enumDebugStream_data()
+{
+ QTest::addColumn<int>("verbosity");
+ QTest::addColumn<QString>("normalEnumMsg");
+ QTest::addColumn<QString>("scopedEnumMsg");
+ QTest::addColumn<QString>("globalEnumMsg");
+ QTest::addColumn<QString>("normalFlagMsg");
+ QTest::addColumn<QString>("normalFlagsMsg");
+ QTest::addColumn<QString>("scopedFlagMsg");
+ QTest::addColumn<QString>("scopedFlagsMsg");
+ QTest::addColumn<QString>("flagAsEnumMsg");
+
+ QTest::newRow("verbosity=0") << 0
+ << "hello MyEnum2 world"
+ << "hello MyScopedEnum::Enum3 scoped world"
+ << "WindowTitleHint Window Desktop WindowSystemMenuHint"
+ << "hello MyFlag1 world"
+ << "MyFlag1 MyFlag2|MyFlag3"
+ << "MyScopedFlag(MyFlag2)"
+ << "MyScopedFlag(MyFlag2|MyFlag3)"
+ << "MyFlag1";
+
+ QTest::newRow("verbosity=1") << 1
+ << "hello MyEnum::MyEnum2 world"
+ << "hello MyScopedEnum::Enum3 scoped world"
+ << "WindowType::WindowTitleHint WindowType::Window WindowType::Desktop WindowType::WindowSystemMenuHint"
+ << "hello MyFlag(MyFlag1) world"
+ << "MyFlag(MyFlag1) MyFlag(MyFlag2|MyFlag3)"
+ << "MyScopedFlag(MyFlag2)"
+ << "MyScopedFlag(MyFlag2|MyFlag3)"
+ << "MyFlag::MyFlag1";
+
+ QTest::newRow("verbosity=2") << 2
+ << "hello MyNamespace::MyClass::MyEnum2 world"
+ << "hello MyNamespace::MyClass::MyScopedEnum::Enum3 scoped world"
+ << "Qt::WindowTitleHint Qt::Window Qt::Desktop Qt::WindowSystemMenuHint"
+ << "hello QFlags<MyNamespace::MyClass::MyFlag>(MyFlag1) world"
+ << "QFlags<MyNamespace::MyClass::MyFlag>(MyFlag1) QFlags<MyNamespace::MyClass::MyFlag>(MyFlag2|MyFlag3)"
+ << "QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2)"
+ << "QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2|MyFlag3)"
+ << "MyNamespace::MyClass::MyFlag1";
+
+ QTest::newRow("verbosity=3") << 3
+ << "hello MyNamespace::MyClass::MyEnum::MyEnum2 world"
+ << "hello MyNamespace::MyClass::MyScopedEnum::Enum3 scoped world"
+ << "Qt::WindowType::WindowTitleHint Qt::WindowType::Window Qt::WindowType::Desktop Qt::WindowType::WindowSystemMenuHint"
+ << "hello QFlags<MyNamespace::MyClass::MyFlag>(MyFlag1) world"
+ << "QFlags<MyNamespace::MyClass::MyFlag>(MyFlag1) QFlags<MyNamespace::MyClass::MyFlag>(MyFlag2|MyFlag3)"
+ << "QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2)"
+ << "QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2|MyFlag3)"
+ << "MyNamespace::MyClass::MyFlag::MyFlag1";
+}
+
void tst_QMetaObject::enumDebugStream()
{
- QTest::ignoreMessage(QtDebugMsg, "hello MyNamespace::MyClass::MyEnum2 world ");
- qDebug() << "hello" << MyNamespace::MyClass::MyEnum2 << "world";
+ QFETCH(int, verbosity);
+
+ QFETCH(QString, normalEnumMsg);
+ QFETCH(QString, scopedEnumMsg);
+ QFETCH(QString, globalEnumMsg);
+
+ QFETCH(QString, normalFlagMsg);
+ QFETCH(QString, normalFlagsMsg);
+ QFETCH(QString, scopedFlagMsg);
+ QFETCH(QString, scopedFlagsMsg);
+ QFETCH(QString, flagAsEnumMsg);
+
+ // Enums
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(normalEnumMsg));
+ qDebug().verbosity(verbosity) << "hello" << MyNamespace::MyClass::MyEnum2 << "world";
- QTest::ignoreMessage(QtDebugMsg, "hello MyNamespace::MyClass::MyScopedEnum::Enum3 scoped world ");
- qDebug() << "hello" << MyNamespace::MyClass::MyScopedEnum::Enum3 << "scoped world";
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(scopedEnumMsg));
+ qDebug().verbosity(verbosity) << "hello" << MyNamespace::MyClass::MyScopedEnum::Enum3 << "scoped world";
- QTest::ignoreMessage(QtDebugMsg, "Qt::WindowTitleHint Qt::Window Qt::Desktop Qt::WindowSystemMenuHint");
- qDebug() << Qt::WindowTitleHint << Qt::Window << Qt::Desktop << Qt::WindowSystemMenuHint;
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(globalEnumMsg));
+ qDebug().verbosity(verbosity) << Qt::WindowTitleHint << Qt::Window << Qt::Desktop << Qt::WindowSystemMenuHint;
- QTest::ignoreMessage(QtDebugMsg, "hello QFlags<MyNamespace::MyClass::MyFlag>(MyFlag1) world");
+ // Flags
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(normalFlagMsg));
MyNamespace::MyClass::MyFlags f1 = MyNamespace::MyClass::MyFlag1;
- qDebug() << "hello" << f1 << "world";
+ qDebug().verbosity(verbosity) << "hello" << f1 << "world";
MyNamespace::MyClass::MyFlags f2 = MyNamespace::MyClass::MyFlag2 | MyNamespace::MyClass::MyFlag3;
- QTest::ignoreMessage(QtDebugMsg, "QFlags<MyNamespace::MyClass::MyFlag>(MyFlag1) QFlags<MyNamespace::MyClass::MyFlag>(MyFlag2|MyFlag3)");
- qDebug() << f1 << f2;
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(normalFlagsMsg));
+ qDebug().verbosity(verbosity) << f1 << f2;
- QTest::ignoreMessage(QtDebugMsg, "QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2)");
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(scopedFlagMsg));
MyNamespace::MyClass::MyScopedFlags f3 = MyNamespace::MyClass::MyScopedFlag::MyFlag2;
- qDebug() << f3;
+ qDebug().verbosity(verbosity) << f3;
- QTest::ignoreMessage(QtDebugMsg, "QFlags<MyNamespace::MyClass::MyScopedFlag>(MyFlag2|MyFlag3)");
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(scopedFlagsMsg));
f3 |= MyNamespace::MyClass::MyScopedFlag::MyFlag3;
- qDebug() << f3;
+ qDebug().verbosity(verbosity) << f3;
// Single flag recognized as enum:
- QTest::ignoreMessage(QtDebugMsg, "MyNamespace::MyClass::MyFlag1");
+ QTest::ignoreMessage(QtDebugMsg, qPrintable(flagAsEnumMsg));
MyNamespace::MyClass::MyFlag f4 = MyNamespace::MyClass::MyFlag1;
- qDebug() << f4;
+ qDebug().verbosity(verbosity) << f4;
}
void tst_QMetaObject::inherits_data()
diff --git a/tests/auto/corelib/kernel/qmetatype/qmetatype.pro b/tests/auto/corelib/kernel/qmetatype/qmetatype.pro
index d70befecfd..56b8c071c3 100644
--- a/tests/auto/corelib/kernel/qmetatype/qmetatype.pro
+++ b/tests/auto/corelib/kernel/qmetatype/qmetatype.pro
@@ -10,7 +10,7 @@ msvc|winrt {
# Prevents "fatal error C1128: number of sections exceeded object file format limit".
QMAKE_CXXFLAGS += /bigobj
# Reduce compile time
- win32-msvc2012|winrt {
+ winrt {
QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CFLAGS_RELEASE -= -O2
}
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
index 0c328dff58..28458c43c7 100644
--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -124,6 +124,7 @@ private slots:
void compareCustomType();
void compareCustomEqualOnlyType();
void customDebugStream();
+ void unknownType();
};
struct BaseGenericType
@@ -342,6 +343,7 @@ struct Bar
++failureCount;
}
}
+ ~Bar() {}
public:
static int failureCount;
@@ -458,7 +460,7 @@ void tst_QMetaType::threadSafety()
namespace TestSpace
{
- struct Foo { double d; };
+ struct Foo { double d; public: ~Foo() {} };
struct QungTfu {};
}
Q_DECLARE_METATYPE(TestSpace::Foo)
@@ -515,11 +517,17 @@ void tst_QMetaType::properties()
}
template <typename T>
-struct Whity { T t; };
+struct Whity { T t; Whity() {} };
Q_DECLARE_METATYPE( Whity < int > )
Q_DECLARE_METATYPE(Whity<double>)
+#if !defined(Q_CC_CLANG) && defined(Q_CC_GNU) && Q_CC_GNU < 501
+QT_BEGIN_NAMESPACE
+Q_DECLARE_TYPEINFO(Whity<double>, Q_MOVABLE_TYPE);
+QT_END_NAMESPACE
+#endif
+
void tst_QMetaType::normalizedTypes()
{
int WhityIntId = ::qMetaTypeId<Whity<int> >();
@@ -818,10 +826,13 @@ void tst_QMetaType::sizeOfStaticLess()
QCOMPARE(size_t(QMetaType(type).sizeOf()), size);
}
-struct CustomMovable {};
+struct CustomMovable { CustomMovable() {} };
+#if !defined(Q_CC_CLANG) && defined(Q_CC_GNU) && Q_CC_GNU < 501
QT_BEGIN_NAMESPACE
Q_DECLARE_TYPEINFO(CustomMovable, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
+#endif
+
Q_DECLARE_METATYPE(CustomMovable);
class CustomObject : public QObject
@@ -850,13 +861,15 @@ public:
};
Q_DECLARE_METATYPE(CustomMultiInheritanceObject*);
-class C { char _[4]; };
-class M { char _[4]; };
+class C { char _[4]; public: C() = default; C(const C&) {} };
+class M { char _[4]; public: M() {} };
class P { char _[4]; };
QT_BEGIN_NAMESPACE
+#if defined(Q_CC_GNU) && Q_CC_GNU < 501
Q_DECLARE_TYPEINFO(M, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(P, Q_PRIMITIVE_TYPE);
+#endif
QT_END_NAMESPACE
// avoid the comma:
@@ -902,7 +915,7 @@ QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(ADD_METATYPE_TEST_ROW)
QT_FOR_EACH_STATIC_CORE_POINTER(ADD_METATYPE_TEST_ROW)
#undef ADD_METATYPE_TEST_ROW
QTest::newRow("TestSpace::Foo") << ::qMetaTypeId<TestSpace::Foo>() << false << true << false << false;
- QTest::newRow("Whity<double>") << ::qMetaTypeId<Whity<double> >() << false << true << false << false;
+ QTest::newRow("Whity<double>") << ::qMetaTypeId<Whity<double> >() << true << true << false << false;
QTest::newRow("CustomMovable") << ::qMetaTypeId<CustomMovable>() << true << true << false << false;
QTest::newRow("CustomObject*") << ::qMetaTypeId<CustomObject*>() << true << false << true << false;
QTest::newRow("CustomMultiInheritanceObject*") << ::qMetaTypeId<CustomMultiInheritanceObject*>() << true << false << true << false;
@@ -1486,7 +1499,7 @@ public:
typedef MyObject* MyObjectPtr;
Q_DECLARE_METATYPE(MyObjectPtr)
-#if defined(Q_COMPILER_VARIADIC_MACROS) && !defined(TST_QMETATYPE_BROKEN_COMPILER)
+#if !defined(TST_QMETATYPE_BROKEN_COMPILER)
static QByteArray createTypeName(const char *begin, const char *va)
{
QByteArray tn(begin);
@@ -1684,7 +1697,7 @@ void tst_QMetaType::automaticTemplateRegistration()
QVERIFY(qRegisterMetaType<UnregisteredTypeList>("UnregisteredTypeList") > 0);
}
-#if defined(Q_COMPILER_VARIADIC_MACROS) && !defined(TST_QMETATYPE_BROKEN_COMPILER)
+#if !defined(TST_QMETATYPE_BROKEN_COMPILER)
#define FOR_EACH_STATIC_PRIMITIVE_TYPE(F) \
F(bool) \
@@ -1763,7 +1776,7 @@ void tst_QMetaType::automaticTemplateRegistration()
CREATE_AND_VERIFY_CONTAINER(QHash, void*, void*)
CREATE_AND_VERIFY_CONTAINER(QHash, const void*, const void*)
-#endif // Q_COMPILER_VARIADIC_MACROS
+#endif // !defined(TST_QMETATYPE_BROKEN_COMPILER)
#define TEST_OWNING_SMARTPOINTER(SMARTPOINTER, ELEMENT_TYPE, FLAG_TEST, FROMVARIANTFUNCTION) \
{ \
@@ -2529,6 +2542,16 @@ void tst_QMetaType::customDebugStream()
qDebug() << v1;
}
+void tst_QMetaType::unknownType()
+{
+ QMetaType invalid(QMetaType::UnknownType);
+ QVERIFY(!invalid.create());
+ QVERIFY(!invalid.sizeOf());
+ QVERIFY(!invalid.metaObject());
+ int buffer = 0xBAD;
+ invalid.construct(&buffer);
+ QCOMPARE(buffer, 0xBAD);
+}
// Compile-time test, it should be possible to register function pointer types
class Undefined;
@@ -2542,9 +2565,7 @@ Q_DECLARE_METATYPE(UndefinedFunction0);
Q_DECLARE_METATYPE(UndefinedFunction1);
Q_DECLARE_METATYPE(UndefinedFunction2);
Q_DECLARE_METATYPE(UndefinedFunction3);
-#ifdef Q_COMPILER_VARIADIC_TEMPLATES
Q_DECLARE_METATYPE(UndefinedFunction4);
-#endif
QTEST_MAIN(tst_QMetaType)
#include "tst_qmetatype.moc"
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index 9f4419affc..e0394a5d25 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -41,6 +41,7 @@
#include <QThread>
#include <QMutex>
#include <QWaitCondition>
+#include <QScopedPointer>
#if QT_CONFIG(process)
# include <QProcess>
#endif
@@ -103,6 +104,7 @@ private slots:
void deleteQObjectWhenDeletingEvent();
void overloads();
void isSignalConnected();
+ void isSignalConnectedAfterDisconnection();
void qMetaObjectConnect();
void qMetaObjectDisconnectOne();
void sameName();
@@ -152,6 +154,8 @@ private slots:
void mutableFunctor();
void checkArgumentsForNarrowing();
void nullReceiver();
+ void functorReferencesConnection();
+ void disconnectDisconnects();
};
struct QObjectCreatedOnShutdown
@@ -499,14 +503,13 @@ void tst_QObject::connectSlotsByName()
void tst_QObject::qobject_castTemplate()
{
- QObject *o = 0;
- QVERIFY( !::qobject_cast<QObject*>(o) );
+ QScopedPointer<QObject> o;
+ QVERIFY(!::qobject_cast<QObject*>(o.data()));
- o = new SenderObject;
- QVERIFY( ::qobject_cast<SenderObject*>(o) );
- QVERIFY( ::qobject_cast<QObject*>(o) );
- QVERIFY( !::qobject_cast<ReceiverObject*>(o) );
- delete o;
+ o.reset(new SenderObject);
+ QVERIFY(::qobject_cast<SenderObject*>(o.data()));
+ QVERIFY(::qobject_cast<QObject*>(o.data()));
+ QVERIFY(!::qobject_cast<ReceiverObject*>(o.data()));
}
void tst_QObject::findChildren()
@@ -3408,12 +3411,11 @@ void tst_QObject::disconnectSelfInSlotAndDeleteAfterEmit()
void tst_QObject::dumpObjectInfo()
{
QObject a, b;
- QObject::connect(&a, SIGNAL(destroyed(QObject*)), &b, SLOT(deleteLater()));
- a.disconnect(&b);
+ QObject::connect(&a, &QObject::destroyed, &b, &QObject::deleteLater);
QTest::ignoreMessage(QtDebugMsg, "OBJECT QObject::unnamed");
QTest::ignoreMessage(QtDebugMsg, " SIGNALS OUT");
QTest::ignoreMessage(QtDebugMsg, " signal: destroyed(QObject*)");
- QTest::ignoreMessage(QtDebugMsg, " <Disconnected receiver>");
+ QTest::ignoreMessage(QtDebugMsg, " <functor or function pointer>");
QTest::ignoreMessage(QtDebugMsg, " SIGNALS IN");
QTest::ignoreMessage(QtDebugMsg, " <None>");
a.dumpObjectInfo(); // should not crash
@@ -3837,6 +3839,58 @@ void tst_QObject::isSignalConnected()
QVERIFY(!o.isSignalConnected(QMetaMethod()));
}
+void tst_QObject::isSignalConnectedAfterDisconnection()
+{
+ ManySignals o;
+ const QMetaObject *meta = o.metaObject();
+
+ const QMetaMethod sig00 = meta->method(meta->indexOfSignal("sig00()"));
+ QVERIFY(!o.isSignalConnected(sig00));
+ QObject::connect(&o, &ManySignals::sig00, qt_noop);
+ QVERIFY(o.isSignalConnected(sig00));
+ QVERIFY(QObject::disconnect(&o, &ManySignals::sig00, 0, 0));
+ QVERIFY(!o.isSignalConnected(sig00));
+
+ const QMetaMethod sig69 = meta->method(meta->indexOfSignal("sig69()"));
+ QVERIFY(!o.isSignalConnected(sig69));
+ QObject::connect(&o, &ManySignals::sig69, qt_noop);
+ QVERIFY(o.isSignalConnected(sig69));
+ QVERIFY(QObject::disconnect(&o, &ManySignals::sig69, 0, 0));
+ QVERIFY(!o.isSignalConnected(sig69));
+
+ {
+ ManySignals o2;
+ QObject::connect(&o, &ManySignals::sig00, &o2, &ManySignals::sig00);
+ QVERIFY(o.isSignalConnected(sig00));
+ // o2 is destructed
+ }
+ QVERIFY(!o.isSignalConnected(sig00));
+
+ const QMetaMethod sig01 = meta->method(meta->indexOfSignal("sig01()"));
+ QObject::connect(&o, &ManySignals::sig00, qt_noop);
+ QObject::connect(&o, &ManySignals::sig01, qt_noop);
+ QObject::connect(&o, &ManySignals::sig69, qt_noop);
+ QVERIFY(o.isSignalConnected(sig00));
+ QVERIFY(o.isSignalConnected(sig01));
+ QVERIFY(o.isSignalConnected(sig69));
+ QVERIFY(QObject::disconnect(&o, &ManySignals::sig69, 0, 0));
+ QVERIFY(o.isSignalConnected(sig00));
+ QVERIFY(o.isSignalConnected(sig01));
+ QVERIFY(!o.isSignalConnected(sig69));
+ QVERIFY(QObject::disconnect(&o, &ManySignals::sig00, 0, 0));
+ QVERIFY(!o.isSignalConnected(sig00));
+ QVERIFY(o.isSignalConnected(sig01));
+ QVERIFY(!o.isSignalConnected(sig69));
+ QObject::connect(&o, &ManySignals::sig69, qt_noop);
+ QVERIFY(!o.isSignalConnected(sig00));
+ QVERIFY(o.isSignalConnected(sig01));
+ QVERIFY(o.isSignalConnected(sig69));
+ QVERIFY(QObject::disconnect(&o, &ManySignals::sig01, 0, 0));
+ QVERIFY(!o.isSignalConnected(sig00));
+ QVERIFY(!o.isSignalConnected(sig01));
+ QVERIFY(o.isSignalConnected(sig69));
+}
+
void tst_QObject::qMetaObjectConnect()
{
ReceiverObject r1;
@@ -4740,13 +4794,13 @@ class LotsOfSignalsAndSlots: public QObject
public slots:
void slot_v() {}
- void slot_v_noexcept() Q_DECL_NOTHROW {}
+ void slot_v_noexcept() noexcept {}
void slot_vi(int) {}
- void slot_vi_noexcept() Q_DECL_NOTHROW {}
+ void slot_vi_noexcept() noexcept {}
void slot_vii(int, int) {}
void slot_viii(int, int, int) {}
int slot_i() { return 0; }
- int slot_i_noexcept() Q_DECL_NOTHROW { return 0; }
+ int slot_i_noexcept() noexcept { return 0; }
int slot_ii(int) { return 0; }
int slot_iii(int, int) { return 0; }
int slot_iiii(int, int, int) { return 0; }
@@ -4760,18 +4814,18 @@ class LotsOfSignalsAndSlots: public QObject
void slot_vPFvvE(fptr) {}
void const_slot_v() const {};
- void const_slot_v_noexcept() const Q_DECL_NOTHROW {}
+ void const_slot_v_noexcept() const noexcept {}
void const_slot_vi(int) const {};
- void const_slot_vi_noexcept(int) const Q_DECL_NOTHROW {}
+ void const_slot_vi_noexcept(int) const noexcept {}
static void static_slot_v() {}
- static void static_slot_v_noexcept() Q_DECL_NOTHROW {}
+ static void static_slot_v_noexcept() noexcept {}
static void static_slot_vi(int) {}
- static void static_slot_vi_noexcept(int) Q_DECL_NOTHROW {}
+ static void static_slot_vi_noexcept(int) noexcept {}
static void static_slot_vii(int, int) {}
static void static_slot_viii(int, int, int) {}
static int static_slot_i() { return 0; }
- static int static_slot_i_noexcept() Q_DECL_NOTHROW { return 0; }
+ static int static_slot_i_noexcept() noexcept { return 0; }
static int static_slot_ii(int) { return 0; }
static int static_slot_iii(int, int) { return 0; }
static int static_slot_iiii(int, int, int) { return 0; }
@@ -4934,11 +4988,11 @@ void tst_QObject::connectCxx0xTypeMatching()
}
-void receiverFunction_noexcept() Q_DECL_NOTHROW {}
-struct Functor_noexcept { void operator()() Q_DECL_NOTHROW {} };
+void receiverFunction_noexcept() noexcept {}
+struct Functor_noexcept { void operator()() noexcept {} };
void tst_QObject::connectCxx17Noexcept()
{
- // this is about connecting signals to slots with the Q_DECL_NOTHROW qualifier
+ // this is about connecting signals to slots with the noexcept qualifier
// as semantics changed due to http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0012r1.html
typedef LotsOfSignalsAndSlots Foo;
Foo obj;
@@ -5975,7 +6029,6 @@ void tst_QObject::connectFunctorArgDifference()
QStringListModel model;
connect(&model, &QStringListModel::rowsInserted, SlotFunctor());
-#if defined(Q_COMPILER_LAMBDA)
connect(&timer, &QTimer::timeout, [=](){});
connect(&timer, &QTimer::objectNameChanged, [=](const QString &){});
connect(qApp, &QCoreApplication::aboutToQuit, [=](){});
@@ -5983,7 +6036,6 @@ void tst_QObject::connectFunctorArgDifference()
connect(&timer, &QTimer::objectNameChanged, [=](){});
connect(&model, &QStringListModel::rowsInserted, [=](){});
connect(&model, &QStringListModel::rowsInserted, [=](const QModelIndex &){});
-#endif
QVERIFY(true);
}
@@ -6021,7 +6073,6 @@ void tst_QObject::connectFunctorQueued()
e.exec();
QCOMPARE(status, 2);
-#if defined(Q_COMPILER_LAMBDA)
status = 1;
connect(&obj, &SenderObject::signal1, this, [&status] { status = 2; }, Qt::QueuedConnection);
@@ -6029,7 +6080,6 @@ void tst_QObject::connectFunctorQueued()
QCOMPARE(status, 1);
e.exec();
QCOMPARE(status, 2);
-#endif
}
void tst_QObject::connectFunctorWithContext()
@@ -6063,7 +6113,6 @@ void tst_QObject::connectFunctorWithContext()
e.exec();
QCOMPARE(status, 2);
-#if defined(Q_COMPILER_LAMBDA)
status = 1;
connect(&obj, &SenderObject::signal1, this, [this, &status, &obj] { status = 2; QCOMPARE(sender(), &obj); }, Qt::QueuedConnection);
@@ -6071,7 +6120,6 @@ void tst_QObject::connectFunctorWithContext()
QCOMPARE(status, 1);
e.exec();
QCOMPARE(status, 2);
-#endif
// Free
context->deleteLater();
@@ -6381,7 +6429,7 @@ void connectFunctorOverload_impl(Signal signal, int expOverload, QList<QVariant>
void tst_QObject::connectFunctorOverloads()
{
-#if defined (Q_COMPILER_DECLTYPE) && defined (Q_COMPILER_VARIADIC_TEMPLATES)
+#if defined (Q_COMPILER_VARIADIC_TEMPLATES)
connectFunctorOverload_impl<ComplexFunctor>(&FunctorArgDifferenceObject::signal_ii, 1,
(QList<QVariant>() << 1 << 2));
connectFunctorOverload_impl<ComplexFunctor>(&FunctorArgDifferenceObject::signal_iiS, 1,
@@ -6555,7 +6603,6 @@ void tst_QObject::disconnectDoesNotLeakFunctor()
}
QCOMPARE(countedStructObjectsCount, 0);
{
-#if defined(Q_COMPILER_LAMBDA)
CountedStruct s;
QCOMPARE(countedStructObjectsCount, 1);
QTimer timer;
@@ -6565,7 +6612,6 @@ void tst_QObject::disconnectDoesNotLeakFunctor()
QCOMPARE(countedStructObjectsCount, 2);
QVERIFY(QObject::disconnect(c));
QCOMPARE(countedStructObjectsCount, 1);
-#endif // Q_COMPILER_LAMBDA
}
QCOMPARE(countedStructObjectsCount, 0);
}
@@ -6613,7 +6659,6 @@ void tst_QObject::contextDoesNotLeakFunctor()
}
QCOMPARE(countedStructObjectsCount, 0);
{
-#if defined(Q_COMPILER_LAMBDA)
CountedStruct s;
QEventLoop e;
ContextObject *context = new ContextObject;
@@ -6626,7 +6671,6 @@ void tst_QObject::contextDoesNotLeakFunctor()
context->deleteLater();
e.exec();
QCOMPARE(countedStructObjectsCount, 1);
-#endif // Q_COMPILER_LAMBDA
}
QCOMPARE(countedStructObjectsCount, 0);
}
@@ -6674,16 +6718,16 @@ void tst_QObject::connectWarnings()
r1.reset();
QTest::ignoreMessage(QtWarningMsg, "QObject::connect(SenderObject, ReceiverObject): invalid null parameter");
- connect(nullptr, &SubSender::signal1, &r1, &ReceiverObject::slot1);
+ connect(static_cast<const SenderObject *>(nullptr), &SubSender::signal1, &r1, &ReceiverObject::slot1);
QTest::ignoreMessage(QtWarningMsg, "QObject::connect(SubSender, Unknown): invalid null parameter");
- connect(&sub, &SubSender::signal1, nullptr, &ReceiverObject::slot1);
+ connect(&sub, &SubSender::signal1, static_cast<ReceiverObject *>(nullptr), &ReceiverObject::slot1);
QTest::ignoreMessage(QtWarningMsg, "QObject::connect(SenderObject, ReceiverObject): invalid null parameter");
- connect(nullptr, &SenderObject::signal1, &r1, &ReceiverObject::slot1);
+ connect(static_cast<const SenderObject *>(nullptr), &SenderObject::signal1, &r1, &ReceiverObject::slot1);
QTest::ignoreMessage(QtWarningMsg, "QObject::connect(SenderObject, Unknown): invalid null parameter");
- connect(&obj, &SenderObject::signal1, nullptr, &ReceiverObject::slot1);
+ connect(&obj, &SenderObject::signal1, static_cast<ReceiverObject *>(nullptr), &ReceiverObject::slot1);
}
struct QmlReceiver : public QtPrivate::QSlotObjectBase
@@ -7434,6 +7478,167 @@ void tst_QObject::nullReceiver()
QVERIFY(!connect(&o, SIGNAL(destroyed()), nullObj, SLOT(deleteLater())));
}
+void tst_QObject::functorReferencesConnection()
+{
+ countedStructObjectsCount = 0;
+ QMetaObject::Connection globalCon;
+ {
+ GetSenderObject obj;
+ CountedStruct counted(&obj);
+ QCOMPARE(countedStructObjectsCount, 1);
+ auto c = QSharedPointer<QMetaObject::Connection>::create();
+ int slotCalled = 0;
+ *c = connect(&obj, &GetSenderObject::aSignal, &obj, [&slotCalled, c, counted] {
+ QObject::disconnect(*c);
+ slotCalled++;
+ });
+ globalCon = *c; // keep a handle to the connection somewhere;
+ QVERIFY(globalCon);
+ QCOMPARE(countedStructObjectsCount, 2);
+ obj.triggerSignal();
+ QCOMPARE(slotCalled, 1);
+ QCOMPARE(countedStructObjectsCount, 1);
+ QVERIFY(!globalCon);
+ obj.triggerSignal();
+ QCOMPARE(slotCalled, 1);
+ QCOMPARE(countedStructObjectsCount, 1);
+ }
+ QCOMPARE(countedStructObjectsCount, 0);
+
+ {
+ GetSenderObject obj;
+ CountedStruct counted(&obj);
+ QCOMPARE(countedStructObjectsCount, 1);
+ auto *rec = new QObject;
+ int slotCalled = 0;
+ globalCon = connect(&obj, &GetSenderObject::aSignal, rec, [&slotCalled, rec, counted] {
+ delete rec;
+ slotCalled++;
+ });
+ QCOMPARE(countedStructObjectsCount, 2);
+ obj.triggerSignal();
+ QCOMPARE(slotCalled, 1);
+ QCOMPARE(countedStructObjectsCount, 1);
+ QVERIFY(!globalCon);
+ obj.triggerSignal();
+ QCOMPARE(slotCalled, 1);
+ QCOMPARE(countedStructObjectsCount, 1);
+ }
+ QCOMPARE(countedStructObjectsCount, 0);
+ {
+ int slotCalled = 0;
+ QEventLoop eventLoop;
+ {
+ // Sender will be destroyed when the labda goes out of scope lambda, so it will exit the event loop
+ auto sender = QSharedPointer<GetSenderObject>::create();
+ connect(sender.data(), &QObject::destroyed, &eventLoop, &QEventLoop::quit, Qt::QueuedConnection);
+ globalCon = connect(sender.data(), &GetSenderObject::aSignal, this, [&slotCalled, sender, &globalCon, this] {
+ ++slotCalled;
+ // This signal will be connected, but should never be called as the sender will be destroyed before
+ auto c2 = connect(sender.data(), &GetSenderObject::aSignal, [] { QFAIL("Should not be called"); });
+ QVERIFY(c2);
+ QVERIFY(QObject::disconnect(sender.data(), nullptr, this, nullptr));
+ QVERIFY(!globalCon); // this connection has been disconnected
+ QVERIFY(c2); // sender should not have been deleted yet, only after the emission is done
+ });
+ QMetaObject::invokeMethod(sender.data(), &GetSenderObject::triggerSignal, Qt::QueuedConnection);
+ QMetaObject::invokeMethod(sender.data(), &GetSenderObject::triggerSignal, Qt::QueuedConnection);
+ QMetaObject::invokeMethod(sender.data(), &GetSenderObject::triggerSignal, Qt::QueuedConnection);
+ }
+ eventLoop.exec();
+ QCOMPARE(slotCalled, 1);
+ }
+
+ {
+ GetSenderObject obj;
+ CountedStruct counted(&obj);
+ QCOMPARE(countedStructObjectsCount, 1);
+ auto c1 = QSharedPointer<QMetaObject::Connection>::create();
+ auto c2 = QSharedPointer<QMetaObject::Connection>::create();
+ int slot1Called = 0;
+ int slot3Called = 0;
+ *c1 = connect(&obj, &GetSenderObject::aSignal, &obj, [&slot1Called, &slot3Called, &obj, c1, c2, counted] {
+ auto c3 = connect(&obj, &GetSenderObject::aSignal, [counted, &slot3Called] {
+ slot3Called++;
+ });
+ // top-level + the one in the 3 others lambdas
+ QCOMPARE(countedStructObjectsCount, 4);
+ QObject::disconnect(*c2);
+ slot1Called++;
+ });
+ connect(&obj, &GetSenderObject::aSignal, [] {}); // just a dummy signal to fill the connection list
+ *c2 = connect(&obj, &GetSenderObject::aSignal, [counted, c2] { QFAIL("should not be called"); });
+ QVERIFY(c1 && c2);
+ QCOMPARE(countedStructObjectsCount, 3); // top-level + c1 + c2
+ obj.triggerSignal();
+ QCOMPARE(slot1Called, 1);
+ QCOMPARE(slot3Called, 0);
+ QCOMPARE(countedStructObjectsCount, 3); // top-level + c1 + c3
+ QObject::disconnect(*c1);
+ QCOMPARE(countedStructObjectsCount, 2); // top-level + c3
+ obj.triggerSignal();
+ QCOMPARE(slot1Called, 1);
+ QCOMPARE(slot3Called, 1);
+ }
+ {
+ struct DestroyEmit {
+ Q_DISABLE_COPY(DestroyEmit);
+ explicit DestroyEmit(SenderObject *obj) : obj(obj) {}
+ SenderObject *obj;
+ ~DestroyEmit() {
+ obj->emitSignal1();
+ }
+ };
+ SenderObject obj;
+ int slot1Called = 0;
+ int slot2Called = 0;
+ int slot3Called = 0;
+ auto c1 = QSharedPointer<QMetaObject::Connection>::create();
+ auto de = QSharedPointer<DestroyEmit>::create(&obj);
+ *c1 = connect(&obj, &SenderObject::signal1, [&slot1Called, &slot3Called, de, c1, &obj] {
+ connect(&obj, &SenderObject::signal1, [&slot3Called] { slot3Called++; });
+ slot1Called++;
+ QObject::disconnect(*c1);
+ });
+ de.clear();
+ connect(&obj, &SenderObject::signal1, [&slot2Called] { slot2Called++; });
+ obj.emitSignal1();
+ QCOMPARE(slot1Called, 1);
+ QCOMPARE(slot2Called, 2); // because also called from ~DestroyEmit
+ QCOMPARE(slot3Called, 1);
+ }
+}
+
+void tst_QObject::disconnectDisconnects()
+{
+ // Test what happens if the destructor of an functor slot also disconnects more slot;
+
+ SenderObject s1;
+ QScopedPointer<QObject> receiver(new QObject);
+
+ auto s2 = QSharedPointer<SenderObject>::create();
+ QPointer<QObject> s2_tracker = s2.data();
+ int count = 0;
+ connect(&s1, &SenderObject::signal1, [&count] { count++; }); // α
+ connect(&s1, &SenderObject::signal1, receiver.data(), [s2] { QFAIL("!!"); }); // β
+ connect(s2.data(), &SenderObject::signal1, receiver.data(), [] { QFAIL("!!"); });
+ connect(&s1, &SenderObject::signal2, receiver.data(), [] { QFAIL("!!"); });
+ connect(s2.data(), &SenderObject::signal2, receiver.data(), [] { QFAIL("!!"); });
+ connect(&s1, &SenderObject::signal1, [&count] { count++; }); // γ
+ connect(&s1, &SenderObject::signal2, [&count] { count++; }); // δ
+ s2.clear();
+
+ QVERIFY(s2_tracker);
+ receiver
+ .reset(); // this will delete the receiver which must also delete s2 as β is disconnected
+ QVERIFY(!s2_tracker);
+ // test that the data structures are still in order
+ s1.emitSignal1();
+ QCOMPARE(count, 2); // α + γ
+ s1.emitSignal2();
+ QCOMPARE(count, 3); // + δ
+}
+
// Test for QtPrivate::HasQ_OBJECT_Macro
Q_STATIC_ASSERT(QtPrivate::HasQ_OBJECT_Macro<tst_QObject>::Value);
Q_STATIC_ASSERT(!QtPrivate::HasQ_OBJECT_Macro<SiblingDeleter>::Value);
diff --git a/tests/auto/corelib/kernel/qtimer/BLACKLIST b/tests/auto/corelib/kernel/qtimer/BLACKLIST
index b355bc22c2..16cbab4587 100644
--- a/tests/auto/corelib/kernel/qtimer/BLACKLIST
+++ b/tests/auto/corelib/kernel/qtimer/BLACKLIST
@@ -2,4 +2,4 @@
windows
osx
[basic_chrono]
-osx ci
+osx
diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
index 8d194dafc1..b7c87418c7 100644
--- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
+++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
@@ -51,6 +51,8 @@ private slots:
void singleShotTimeout();
void timeout();
void remainingTime();
+ void remainingTimeInitial_data();
+ void remainingTimeInitial();
void remainingTimeDuringActivation_data();
void remainingTimeDuringActivation();
void basic_chrono();
@@ -71,7 +73,12 @@ private slots:
void recurseOnTimeoutAndStopTimer();
void singleShotToFunctors();
void singleShot_chrono();
+ void singleShot_static();
void crossThreadSingleShotToFunctor();
+ void timerOrder();
+ void timerOrder_data();
+ void timerOrderBackgroundThread();
+ void timerOrderBackgroundThread_data() { timerOrder_data(); }
void dontBlockEvents();
void postedEventsShouldNotStarveTimers();
@@ -133,14 +140,41 @@ void tst_QTimer::remainingTime()
QCOMPARE(timeoutSpy.count(), 0);
int remainingTime = timer.remainingTime();
- QVERIFY2(qAbs(remainingTime - 150) < 50, qPrintable(QString::number(remainingTime)));
+ QVERIFY2(remainingTime >= 50 && remainingTime <= 200, qPrintable(QString::number(remainingTime)));
QVERIFY(timeoutSpy.wait());
QCOMPARE(timeoutSpy.count(), 1);
// the timer is still active, so it should have a non-zero remaining time
remainingTime = timer.remainingTime();
- QVERIFY2(remainingTime > 150, qPrintable(QString::number(remainingTime)));
+ QVERIFY2(remainingTime >= 50, qPrintable(QString::number(remainingTime)));
+}
+
+void tst_QTimer::remainingTimeInitial_data()
+{
+ QTest::addColumn<int>("startTimeMs");
+ QTest::addColumn<Qt::TimerType>("timerType");
+
+ QTest::addRow("precise time 0ms") << 0 << Qt::PreciseTimer;
+ QTest::addRow("precise time 1ms") << 1 << Qt::PreciseTimer;
+ QTest::addRow("precise time 10ms") << 10 << Qt::PreciseTimer;
+
+ QTest::addRow("coarse time 0ms") << 0 << Qt::CoarseTimer;
+ QTest::addRow("coarse time 1ms") << 1 << Qt::CoarseTimer;
+ QTest::addRow("coarse time 10ms") << 10 << Qt::CoarseTimer;
+}
+
+void tst_QTimer::remainingTimeInitial()
+{
+ QFETCH(int, startTimeMs);
+ QFETCH(Qt::TimerType, timerType);
+
+ QTimer timer;
+ timer.setTimerType(timerType);
+ timer.start(startTimeMs);
+
+ const int rt = timer.remainingTime();
+ QVERIFY2(rt >= 0 && rt <= startTimeMs, qPrintable(QString::number(rt)));
}
void tst_QTimer::remainingTimeDuringActivation_data()
@@ -228,7 +262,7 @@ void tst_QTimer::basic_chrono()
QCOMPARE(timeoutSpy.count(), 0);
milliseconds rt = timer.remainingTimeAsDuration();
- QVERIFY2(qAbs(rt.count() - 150) < 50, qPrintable(QString::number(rt.count())));
+ QVERIFY2(rt.count() >= 50 && rt.count() <= 200, qPrintable(QString::number(rt.count())));
timeoutSpy.clear();
timer.setSingleShot(true);
@@ -739,7 +773,7 @@ public:
quitEventLoop_noexcept();
}
- static void quitEventLoop_noexcept() Q_DECL_NOTHROW
+ static void quitEventLoop_noexcept() noexcept
{
QVERIFY(!_e.isNull());
_e->quit();
@@ -1004,5 +1038,121 @@ void tst_QTimer::callOnTimeout()
QVERIFY(!connection);
}
-QTEST_MAIN(tst_QTimer)
+class OrderHelper : public QObject
+{
+ Q_OBJECT
+public:
+ enum CallType
+ {
+ String,
+ PMF,
+ Functor,
+ FunctorNoCtx
+ };
+ Q_ENUM(CallType)
+ QVector<CallType> calls;
+
+ void triggerCall(CallType callType)
+ {
+ switch (callType)
+ {
+ case String:
+ QTimer::singleShot(0, this, SLOT(stringSlot()));
+ break;
+ case PMF:
+ QTimer::singleShot(0, this, &OrderHelper::pmfSlot);
+ break;
+ case Functor:
+ QTimer::singleShot(0, this, [this]() { functorSlot(); });
+ break;
+ case FunctorNoCtx:
+ QTimer::singleShot(0, [this]() { functorNoCtxSlot(); });
+ break;
+ }
+ }
+
+public slots:
+ void stringSlot() { calls << String; }
+ void pmfSlot() { calls << PMF; }
+ void functorSlot() { calls << Functor; }
+ void functorNoCtxSlot() { calls << FunctorNoCtx; }
+};
+
+Q_DECLARE_METATYPE(OrderHelper::CallType)
+
+void tst_QTimer::timerOrder()
+{
+ QFETCH(QVector<OrderHelper::CallType>, calls);
+
+ OrderHelper helper;
+
+ for (const auto call : calls)
+ helper.triggerCall(call);
+
+ QTRY_COMPARE(helper.calls, calls);
+}
+
+void tst_QTimer::timerOrder_data()
+{
+ QTest::addColumn<QVector<OrderHelper::CallType>>("calls");
+
+ QVector<OrderHelper::CallType> calls = {
+ OrderHelper::String, OrderHelper::PMF,
+ OrderHelper::Functor, OrderHelper::FunctorNoCtx
+ };
+ std::sort(calls.begin(), calls.end());
+
+ int permutation = 0;
+ do {
+ QTest::addRow("permutation=%d", permutation) << calls;
+ ++permutation;
+ } while (std::next_permutation(calls.begin(), calls.end()));
+}
+
+void tst_QTimer::timerOrderBackgroundThread()
+{
+#if !QT_CONFIG(cxx11_future)
+ QSKIP("This test requires QThread::create");
+#else
+ auto *thread = QThread::create([this]() { timerOrder(); });
+ thread->start();
+ QVERIFY(thread->wait());
+ delete thread;
+#endif
+}
+
+struct StaticSingleShotUser
+{
+ StaticSingleShotUser()
+ {
+ for (auto call : calls())
+ helper.triggerCall(call);
+ }
+ OrderHelper helper;
+
+ static QVector<OrderHelper::CallType> calls()
+ {
+ return {OrderHelper::String, OrderHelper::PMF,
+ OrderHelper::Functor, OrderHelper::FunctorNoCtx};
+ }
+};
+
+static StaticSingleShotUser *s_staticSingleShotUser = nullptr;
+
+void tst_QTimer::singleShot_static()
+{
+ QCoreApplication::processEvents();
+ QCOMPARE(s_staticSingleShotUser->helper.calls, s_staticSingleShotUser->calls());
+}
+
+// NOTE: to prevent any static initialization order fiasco, we handle QTEST_MAIN
+// ourselves, but instantiate the staticSingleShotUser before qApp
+
+int main(int argc, char *argv[])
+{
+ StaticSingleShotUser staticSingleShotUser;
+ s_staticSingleShotUser = &staticSingleShotUser;
+ QTEST_MAIN_IMPL(tst_QTimer)
+}
+
#include "tst_qtimer.moc"
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 0780fb9172..6ae8fd0010 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -59,12 +59,6 @@
class CustomNonQObject;
-#if defined(Q_COMPILER_CLASS_ENUM)
-#define ENUM_SIZE(X) : X
-#else
-#define ENUM_SIZE(X)
-#endif
-
class tst_QVariant : public QObject
{
Q_OBJECT
@@ -82,15 +76,15 @@ public:
enum MetaEnumTest_Enum1 : qint64 { MetaEnumTest_Enum1_value = 42, MetaEnumTest_Enum1_bigValue = (Q_INT64_C(1) << 33) + 50 };
Q_ENUM(MetaEnumTest_Enum1)
- enum MetaEnumTest_Enum3 ENUM_SIZE(qint64) { MetaEnumTest_Enum3_value = -47, MetaEnumTest_Enum3_bigValue = (Q_INT64_C(1) << 56) + 5, MetaEnumTest_Enum3_bigNegValue = -(Q_INT64_C(1) << 56) - 3 };
+ enum MetaEnumTest_Enum3 : qint64 { MetaEnumTest_Enum3_value = -47, MetaEnumTest_Enum3_bigValue = (Q_INT64_C(1) << 56) + 5, MetaEnumTest_Enum3_bigNegValue = -(Q_INT64_C(1) << 56) - 3 };
Q_ENUM(MetaEnumTest_Enum3)
- enum MetaEnumTest_Enum4 ENUM_SIZE(quint64) { MetaEnumTest_Enum4_value = 47, MetaEnumTest_Enum4_bigValue = (Q_INT64_C(1) << 52) + 45 };
+ enum MetaEnumTest_Enum4 : quint64 { MetaEnumTest_Enum4_value = 47, MetaEnumTest_Enum4_bigValue = (Q_INT64_C(1) << 52) + 45 };
Q_ENUM(MetaEnumTest_Enum4)
- enum MetaEnumTest_Enum5 ENUM_SIZE(uint) { MetaEnumTest_Enum5_value = 47 };
+ enum MetaEnumTest_Enum5 : uint { MetaEnumTest_Enum5_value = 47 };
Q_ENUM(MetaEnumTest_Enum5)
- enum MetaEnumTest_Enum6 ENUM_SIZE(uchar) { MetaEnumTest_Enum6_value = 47 };
+ enum MetaEnumTest_Enum6 : uchar { MetaEnumTest_Enum6_value = 47 };
Q_ENUM(MetaEnumTest_Enum6)
- enum MetaEnumTest_Enum8 ENUM_SIZE(short) { MetaEnumTest_Enum8_value = 47 };
+ enum MetaEnumTest_Enum8 : short { MetaEnumTest_Enum8_value = 47 };
Q_ENUM(MetaEnumTest_Enum8)
private slots:
@@ -525,6 +519,12 @@ void tst_QVariant::canConvert_data()
var = QVariant::fromValue<signed char>(-1);
QTest::newRow("SChar")
<< var << N << N << Y << N << Y << N << N << N << N << Y << N << N << Y << N << N << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << Y << Y;
+ var = QVariant((short)-3);
+ QTest::newRow("Short")
+ << var << N << N << Y << N << Y << N << N << N << N << Y << N << N << Y << N << Y << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << Y << Y;
+ var = QVariant((ushort)7);
+ QTest::newRow("UShort")
+ << var << N << N << Y << N << Y << N << N << N << N << Y << N << N << Y << N << Y << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << Y << Y;
var = QVariant::fromValue<QJsonValue>(QJsonValue(QStringLiteral("hello")));
QTest::newRow("JsonValue")
<< var << N << N << Y << N << N << N << N << N << N << Y << N << N << Y << N << N << Y << Y << Y << N << N << N << N << N << N << N << N << Y << N << N << Y << Y;
@@ -563,6 +563,8 @@ void tst_QVariant::toInt_data()
QTest::newRow( "char" ) << QVariant::fromValue('a') << int('a') << true;
signed char signedChar = -13;
QTest::newRow( "signed char" ) << QVariant::fromValue(signedChar) << -13 << true;
+ QTest::newRow( "short" ) << QVariant::fromValue(short(-7)) << int(-7) << true;
+ QTest::newRow( "ushort" ) << QVariant::fromValue(ushort(30000)) << 30000 << true;
QTest::newRow( "double" ) << QVariant( 3.1415927 ) << 3 << true;
QTest::newRow( "float" ) << QVariant( 3.1415927f ) << 3 << true;
QTest::newRow( "uint" ) << QVariant( 123u ) << 123 << true;
@@ -2753,6 +2755,14 @@ void tst_QVariant::qvariant_cast_QObject_derived()
QCOMPARE(data.value<CustomQObjectDerived *>(), object);
QCOMPARE(data.value<CustomQObject *>(), object);
}
+ {
+ QObject *object = new CustomQObjectDerivedNoMetaType(this);
+ QVariant data = QVariant::fromValue(object);
+ QVERIFY(data.canConvert<CustomQObjectDerivedNoMetaType*>());
+ QVERIFY(data.convert(qMetaTypeId<CustomQObjectDerivedNoMetaType*>()));
+ QCOMPARE(data.value<CustomQObjectDerivedNoMetaType*>(), object);
+ QCOMPARE(data.isNull(), false);
+ }
}
struct QObjectWrapper
@@ -4684,7 +4694,6 @@ Q_DECLARE_METATYPE(EnumTest_Enum0)
enum EnumTest_Enum1 : qint64 { EnumTest_Enum1_value = 42, EnumTest_Enum1_bigValue = (Q_INT64_C(1) << 33) + 50 };
Q_DECLARE_METATYPE(EnumTest_Enum1)
-#if defined(Q_COMPILER_CLASS_ENUM)
enum EnumTest_Enum3 : qint64 { EnumTest_Enum3_value = -47, EnumTest_Enum3_bigValue = (Q_INT64_C(1) << 56) + 5 };
Q_DECLARE_METATYPE(EnumTest_Enum3)
enum EnumTest_Enum4 : quint64 { EnumTest_Enum4_value = 47, EnumTest_Enum4_bigValue = (Q_INT64_C(1) << 52) + 45 };
@@ -4697,7 +4706,6 @@ enum class EnumTest_Enum7 { EnumTest_Enum7_value = 47, ensureSignedEnum7 = -1 };
Q_DECLARE_METATYPE(EnumTest_Enum7)
enum EnumTest_Enum8 : short { EnumTest_Enum8_value = 47 };
Q_DECLARE_METATYPE(EnumTest_Enum8)
-#endif
template<typename Enum> void testVariant(Enum value, bool *ok)
{
@@ -4756,7 +4764,6 @@ void tst_QVariant::enums()
QVERIFY(ok);
testVariant(EnumTest_Enum1_bigValue, &ok);
QVERIFY(ok);
-#if defined(Q_COMPILER_CLASS_ENUM)
testVariant(EnumTest_Enum3::EnumTest_Enum3_value, &ok);
QVERIFY(ok);
testVariant(EnumTest_Enum3::EnumTest_Enum3_bigValue, &ok);
@@ -4775,7 +4782,6 @@ void tst_QVariant::enums()
QVERIFY(ok);
testVariant(EnumTest_Enum3::EnumTest_Enum3_value, &ok);
QVERIFY(ok);
-#endif
}
template<typename Enum> void testVariantMeta(Enum value, bool *ok, const char *string)
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
index 597d51e7e0..fd3cc18af5 100644
--- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
@@ -73,12 +73,12 @@ static inline QString testSuiteWarning()
str << "\nCannot find the shared-mime-info test suite\nstarting from: "
<< QDir::toNativeSeparators(QDir::currentPath()) << "\n"
"cd " << QDir::toNativeSeparators(QStringLiteral("tests/auto/corelib/mimetypes/qmimedatabase")) << "\n"
- "wget http://cgit.freedesktop.org/xdg/shared-mime-info/snapshot/Release-1-8.zip\n"
- "unzip Release-1-8.zip\n";
+ "wget http://cgit.freedesktop.org/xdg/shared-mime-info/snapshot/Release-1-10.zip\n"
+ "unzip Release-1-10.zip\n";
#ifdef Q_OS_WIN
- str << "mkdir testfiles\nxcopy /s Release-1-8 s-m-i\n";
+ str << "mkdir testfiles\nxcopy /s Release-1-10 s-m-i\n";
#else
- str << "ln -s Release-1-8 s-m-i\n";
+ str << "ln -s Release-1-10 s-m-i\n";
#endif
return result;
}
@@ -611,7 +611,7 @@ void tst_QMimeDatabase::allMimeTypes()
QVERIFY(!lst.isEmpty());
// Hardcoding this is the only way to check both providers find the same number of mimetypes.
- QCOMPARE(lst.count(), 749);
+ QCOMPARE(lst.count(), 779);
foreach (const QMimeType &mime, lst) {
const QString name = mime.name();
@@ -640,7 +640,7 @@ void tst_QMimeDatabase::suffixes_data()
QTest::newRow("mimetype with multiple patterns") << "text/plain" << "*.asc;*.txt;*,v" << "txt";
QTest::newRow("mimetype with uncommon pattern") << "text/x-readme" << "README*" << QString();
QTest::newRow("mimetype with no patterns") << "application/x-ole-storage" << QString() << QString();
- QTest::newRow("default_mimetype") << "application/octet-stream" << "*.bin" << QString();
+ QTest::newRow("default_mimetype") << "application/octet-stream" << QString() << QString();
}
void tst_QMimeDatabase::suffixes()
@@ -992,6 +992,20 @@ void tst_QMimeDatabase::installNewGlobalMimeType()
const QString fooTestFile2 = QLatin1String(RESOURCE_PREFIX "magic-and-hierarchy2.foo");
QCOMPARE(db.mimeTypeForFile(fooTestFile2).name(), QString::fromLatin1("application/vnd.qnx.bar-descriptor"));
+ // Test if we can use the default comment
+ {
+ struct RestoreLocale
+ {
+ ~RestoreLocale() { QLocale::setDefault(QLocale::c()); }
+ } restoreLocale;
+
+ QLocale::setDefault(QLocale("zh_CN"));
+ QMimeType suseymp = db.mimeTypeForName("text/x-suse-ymp");
+ QVERIFY(suseymp.isValid());
+ QCOMPARE(suseymp.comment(),
+ QString::fromLatin1("YaST Meta Package"));
+ }
+
// Now test removing the mimetype definitions again
for (int i = 0; i < m_additionalMimeFileNames.size(); ++i)
QFile::remove(destDir + m_additionalMimeFileNames.at(i));
diff --git a/tests/auto/corelib/plugin/qlibrary/lib/lib.pro b/tests/auto/corelib/plugin/qlibrary/lib/lib.pro
index 3e15861021..c44cd46597 100644
--- a/tests/auto/corelib/plugin/qlibrary/lib/lib.pro
+++ b/tests/auto/corelib/plugin/qlibrary/lib/lib.pro
@@ -6,7 +6,7 @@ TARGET = mylib
DESTDIR = ../
QT = core
-win32-msvc: DEFINES += WIN32_MSVC
+msvc: DEFINES += WIN32_MSVC
# This project is testdata for tst_qlibrary
target.path = $$[QT_INSTALL_TESTS]/tst_qlibrary
diff --git a/tests/auto/corelib/plugin/qlibrary/lib2/lib2.pro b/tests/auto/corelib/plugin/qlibrary/lib2/lib2.pro
index bd73227b3d..bfda0e0194 100644
--- a/tests/auto/corelib/plugin/qlibrary/lib2/lib2.pro
+++ b/tests/auto/corelib/plugin/qlibrary/lib2/lib2.pro
@@ -7,7 +7,7 @@ DESTDIR = ../
VERSION = 2
QT = core
-win32-msvc: DEFINES += WIN32_MSVC
+msvc: DEFINES += WIN32_MSVC
# Force a copy of the library to have an extension that is non-standard.
# We want to test if we can load a shared library with *any* filename...
diff --git a/tests/auto/corelib/plugin/qpluginloader/lib/lib.pro b/tests/auto/corelib/plugin/qpluginloader/lib/lib.pro
index 44b71e6e99..9fc76a4201 100644
--- a/tests/auto/corelib/plugin/qpluginloader/lib/lib.pro
+++ b/tests/auto/corelib/plugin/qpluginloader/lib/lib.pro
@@ -7,7 +7,7 @@ DESTDIR = ../bin
winrt:include(../winrt.pri)
QT = core
-win32-msvc: DEFINES += WIN32_MSVC
+msvc: DEFINES += WIN32_MSVC
# This is testdata for the tst_qpluginloader test.
target.path = $$[QT_INSTALL_TESTS]/tst_qpluginloader/bin
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pri b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pri
new file mode 100644
index 0000000000..ca4a0a07e9
--- /dev/null
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pri
@@ -0,0 +1,13 @@
+TEMPLATE = aux
+
+# Needs explicit load()ing due to aux template. Relies on QT being non-empty.
+load(qt)
+
+goodlib.target = good.$${QMAKE_APPLE_DEVICE_ARCHS}.dylib
+goodlib.commands = $(CXX) $(CXXFLAGS) -shared -o $@ -I$(INCPATH) $<
+goodlib.depends += $$PWD/../fakeplugin.cpp
+
+all.depends += goodlib
+
+QMAKE_EXTRA_TARGETS += goodlib all
+QMAKE_CLEAN += $$goodlib.target
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro
index 7f7caa7f76..795dd89895 100644
--- a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro
@@ -1,64 +1,15 @@
-TEMPLATE = aux
-OTHER_FILES += \
- ppcconverter.pl \
- generate-bad.pl
+TEMPLATE = subdirs
-# Needs explicit load()ing due to aux template. Relies on QT being non-empty.
-load(qt)
-
-i386_d.target = good.i386.dylib
-i386_d.depends = EXPORT_VALID_ARCHS=i386
-i386.target = good.i386.dylib
-i386.commands = $(CXX) $(CXXFLAGS) -shared -o $@ -I$(INCPATH) $<
-i386.depends += $$PWD/../fakeplugin.cpp
-
-x86_64_d.target = good.x86_64.dylib
-x86_64_d.depends = EXPORT_VALID_ARCHS=x86_64
-x86_64.target = good.x86_64.dylib
-x86_64.commands = $(CXX) $(CXXFLAGS) -shared -o $@ -I$(INCPATH) $<
-x86_64.depends += $$PWD/../fakeplugin.cpp
-
-# Current Mac OS X toolchains have no compiler for PPC anymore
-# So we fake it by converting an x86-64 binary to (little-endian!) PPC64
-ppc64.target = good.ppc64.dylib
-ppc64.commands = $$PWD/ppcconverter.pl $< $@
-ppc64.depends = x86_64 $$PWD/ppcconverter.pl
-
-# Generate a fat binary with three architectures
-fat_all.target = good.fat.all.dylib
-fat_all.commands = lipo -create -output $@ \
- -arch ppc64 $$ppc64.target \
- -arch i386 $$i386.target \
- -arch x86_64 $$x86_64.target
-fat_all.depends += i386 x86_64 ppc64
-
-fat_no_i386.target = good.fat.no-i386.dylib
-fat_no_i386.commands = lipo -create -output $@ -arch x86_64 $$x86_64.target -arch ppc64 $$ppc64.target
-fat_no_i386.depends += x86_64 ppc64
-
-fat_no_x86_64.target = good.fat.no-x86_64.dylib
-fat_no_x86_64.commands = lipo -create -output $@ -arch i386 $$i386.target -arch ppc64 $$ppc64.target
-fat_no_x86_64.depends += i386 ppc64
-
-fat_stub_i386.target = good.fat.stub-i386.dylib
-fat_stub_i386.commands = lipo -create -output $@ -arch ppc64 $$ppc64.target -arch_blank i386
-fat_stub_i386.depends += x86_64 ppc64
-
-fat_stub_x86_64.target = good.fat.stub-x86_64.dylib
-fat_stub_x86_64.commands = lipo -create -output $@ -arch ppc64 $$ppc64.target -arch_blank x86_64
-fat_stub_x86_64.depends += i386 ppc64
-
-bad.commands = $$PWD/generate-bad.pl
-bad.depends += $$PWD/generate-bad.pl
-
-MYTARGETS = $$fat_all.depends fat_all fat_no_x86_64 fat_no_i386 \
- fat_stub_i386 fat_stub_x86_64 bad
-all.depends += $$MYTARGETS
-QMAKE_EXTRA_TARGETS += i386_d x86_64_d $$MYTARGETS all
-
-QMAKE_CLEAN += $$i386.target $$x86_64.target $$ppc64.target $$fat_all.target \
- $$fat_no_i386.target $$fat_no_x86_64.target \
- $$fat_stub_i386.target $$fat_stub_x86_64.target \
- "bad*.dylib"
+SUBDIRS = \
+ machtest_i386.pro \
+ machtest_x86_64.pro \
+ machtest_ppc64.pro \
+ machtest_fat.pro
+machtest_fat-pro.depends = \
+ machtest_i386.pro \
+ machtest_x86_64.pro \
+ machtest_ppc64.pro
+machtest_ppc64-pro.depends = \
+ machtest_x86_64.pro
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro
new file mode 100644
index 0000000000..8daa343e2b
--- /dev/null
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro
@@ -0,0 +1,41 @@
+TEMPLATE = aux
+OTHER_FILES += generate-bad.pl
+
+# Needs explicit load()ing due to aux template. Relies on QT being non-empty.
+load(qt)
+
+# Generate a fat binary with three architectures
+fat_all.target = good.fat.all.dylib
+fat_all.commands = lipo -create -output $@ \
+ -arch ppc64 good.ppc64.dylib \
+ -arch i386 good.i386.dylib \
+ -arch x86_64 good.x86_64.dylib
+fat_all.depends += good.i386.dylib good.x86_64.dylib good.ppc64.dylib
+
+fat_no_i386.target = good.fat.no-i386.dylib
+fat_no_i386.commands = lipo -create -output $@ -arch x86_64 good.x86_64.dylib -arch ppc64 good.ppc64.dylib
+fat_no_i386.depends += good.x86_64.dylib good.ppc64.dylib
+
+fat_no_x86_64.target = good.fat.no-x86_64.dylib
+fat_no_x86_64.commands = lipo -create -output $@ -arch i386 good.i386.dylib -arch ppc64 good.ppc64.dylib
+fat_no_x86_64.depends += good.i386.dylib good.ppc64.dylib
+
+fat_stub_i386.target = good.fat.stub-i386.dylib
+fat_stub_i386.commands = lipo -create -output $@ -arch ppc64 good.ppc64.dylib -arch_blank i386
+fat_stub_i386.depends += good.x86_64.dylib good.ppc64.dylib
+
+fat_stub_x86_64.target = good.fat.stub-x86_64.dylib
+fat_stub_x86_64.commands = lipo -create -output $@ -arch ppc64 good.ppc64.dylib -arch_blank x86_64
+fat_stub_x86_64.depends += good.i386.dylib good.ppc64.dylib
+
+bad.commands = $$PWD/generate-bad.pl
+bad.depends += $$PWD/generate-bad.pl
+
+MYTARGETS = $$fat_all.depends fat_all fat_no_x86_64 fat_no_i386 \
+ fat_stub_i386 fat_stub_x86_64 bad
+all.depends += $$MYTARGETS
+QMAKE_EXTRA_TARGETS += $$MYTARGETS all
+
+QMAKE_CLEAN += $$fat_all.target $$fat_no_i386.target $$fat_no_x86_64.target \
+ $$fat_stub_i386.target $$fat_stub_x86_64.target \
+ "bad*.dylib"
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro
new file mode 100644
index 0000000000..bfb2e0930c
--- /dev/null
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro
@@ -0,0 +1,3 @@
+QMAKE_APPLE_DEVICE_ARCHS = i386
+include(machtest.pri)
+
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro
new file mode 100644
index 0000000000..a73f97ccc6
--- /dev/null
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro
@@ -0,0 +1,9 @@
+QMAKE_APPLE_DEVICE_ARCHS = ppc64
+include(machtest.pri)
+
+OTHER_FILES += ppcconverter.pl
+
+# Current macOS toolchains have no compiler for PPC anymore
+# So we fake it by converting an x86-64 binary to (little-endian!) PPC64
+goodlib.commands = $$PWD/ppcconverter.pl $< $@
+goodlib.depends = good.x86_64.dylib $$PWD/ppcconverter.pl
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_x86_64.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_x86_64.pro
new file mode 100644
index 0000000000..9dbae5c4ee
--- /dev/null
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_x86_64.pro
@@ -0,0 +1,2 @@
+QMAKE_APPLE_DEVICE_ARCHS = x86_64
+include(machtest.pri)
diff --git a/tests/auto/corelib/plugin/qpluginloader/qpluginloader.pro b/tests/auto/corelib/plugin/qpluginloader/qpluginloader.pro
index 5efe68f4af..18c9c8d198 100644
--- a/tests/auto/corelib/plugin/qpluginloader/qpluginloader.pro
+++ b/tests/auto/corelib/plugin/qpluginloader/qpluginloader.pro
@@ -10,7 +10,7 @@ SUBDIRS = lib \
tst.depends += almostplugin
SUBDIRS += almostplugin
}
-macos:qtConfig(private_tests) {
+macos:qtConfig(private_tests):qtHaveModule(gui) {
tst.depends += machtest
SUBDIRS += machtest
}
diff --git a/tests/auto/corelib/serialization/qcborstreamreader/tst_qcborstreamreader.cpp b/tests/auto/corelib/serialization/qcborstreamreader/tst_qcborstreamreader.cpp
index 24d9c7409e..3dd4b5114c 100644
--- a/tests/auto/corelib/serialization/qcborstreamreader/tst_qcborstreamreader.cpp
+++ b/tests/auto/corelib/serialization/qcborstreamreader/tst_qcborstreamreader.cpp
@@ -269,7 +269,7 @@ void tst_QCborStreamReader::integers()
quint64 absolute = (isNegative ? expectedRaw + 1 : expectedRaw);
QBuffer buffer(&data);
- QCborStreamReader reader(data);
+ QCborStreamReader reader(useDevice ? QByteArray() : data);
if (useDevice) {
buffer.open(QIODevice::ReadOnly);
reader.setDevice(&buffer);
@@ -605,7 +605,7 @@ void tst_QCborStreamReader::fixed()
removeIndicators(expected);
QBuffer buffer(&data);
- QCborStreamReader reader(data);
+ QCborStreamReader reader(useDevice ? QByteArray() : data);
if (useDevice) {
buffer.open(QIODevice::ReadOnly);
reader.setDevice(&buffer);
diff --git a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
index 1b818ad152..f69ce4120d 100644
--- a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
+++ b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp
@@ -334,7 +334,7 @@ void tst_QCborValue::copyCompare()
QCOMPARE(v, other);
QVERIFY(!(v != other));
QVERIFY(!(v < other));
-#if QT_HAS_INCLUDE(<compare>)
+#if 0 && QT_HAS_INCLUDE(<compare>)
QVERIFY(v <= other);
QVERIFY(v >= other);
QVERIFY(!(v > other));
@@ -384,11 +384,17 @@ void tst_QCborValue::arrayDefaultInitialization()
QVERIFY(v.isArray());
QVERIFY(!v.isMap());
QVERIFY(!v.isTag());
- QVERIFY(v[0].isUndefined());
QCborArray a2 = v.toArray();
QVERIFY(a2.isEmpty());
QCOMPARE(a2, a);
+ auto front = v[0];
+ QVERIFY(front.isUndefined());
+ front = 1;
+ QCOMPARE(v[0], 1);
+ QVERIFY(a2.isEmpty());
+ a2 = v.toArray();
+ QCOMPARE(a2.size(), 1);
}
void tst_QCborValue::mapDefaultInitialization()
@@ -425,7 +431,7 @@ void tst_QCborValue::mapDefaultInitialization()
QVERIFY(m == QCborMap{});
QVERIFY(QCborMap{} == m);
- QCborValue v(m);
+ const QCborValue v(m);
QVERIFY(v.isMap());
QVERIFY(!v.isArray());
QVERIFY(!v.isTag());
@@ -727,6 +733,31 @@ void tst_QCborValue::arrayMutation()
QCOMPARE(a.at(1), QCborValue(-1));
QCOMPARE(a2.at(1), QCborValue(nullptr));
QCOMPARE(++it, end);
+
+ // Array accessed via value:
+ QCborValue val(a);
+ val[2] = QCborArray{2, 3, 5, 7};
+ QCOMPARE(a.size(), 2); // Unchanged
+ QVERIFY(val.isArray());
+ QCOMPARE(val.toArray().size(), 3);
+ val[2][4] = 17;
+ QVERIFY(val.isArray());
+ QVERIFY(val[2].isArray());
+ QCOMPARE(val[2].toArray().size(), 5);
+ QCOMPARE(val[2][4], 17);
+ QCOMPARE(val.toArray().size(), 3);
+ val[3] = 42;
+ QVERIFY(val.isArray());
+ QCOMPARE(val.toArray().size(), 4);
+ QCOMPARE(val[3], 42);
+
+ // Coerce to map on string key:
+ const QLatin1String any("any");
+ val[any] = any;
+ QVERIFY(val.isMap());
+ QCOMPARE(val.toMap().size(), 5);
+ QVERIFY(val[2].isArray());
+ QCOMPARE(val[2].toArray().size(), 5);
}
void tst_QCborValue::mapMutation()
@@ -782,6 +813,30 @@ void tst_QCborValue::mapMutation()
QCOMPARE((m.end() - 1)->toInteger(), -1);
QVERIFY((m2.end() - 1)->isNull());
QCOMPARE(++it, end);
+
+ // Map accessed via value:
+ QCborValue val(m);
+ val[7] = QCborMap({{0, 2}, {1, 3}, {2, 5}});
+ QCOMPARE(m.size(), 2); // Unchanged
+ QVERIFY(val.isMap());
+ QCOMPARE(val.toMap().size(), 3);
+ val[7][3] = 11;
+ QVERIFY(val.isMap());
+ QVERIFY(val[7].isMap());
+ QCOMPARE(val[7].toMap().size(), 4);
+ val[14] = 42;
+ QVERIFY(val.isMap());
+ QCOMPARE(val.toMap().size(), 4);
+
+ const QLatin1String any("any");
+ const QString hello(QStringLiteral("Hello World"));
+ val[any][3][hello] = any;
+ QVERIFY(val.isMap());
+ QCOMPARE(val.toMap().size(), 5);
+ QVERIFY(val[any].isMap());
+ QCOMPARE(val[any].toMap().size(), 1);
+ QVERIFY(val[any][3].isMap());
+ QCOMPARE(val[any][3].toMap().size(), 1);
}
void tst_QCborValue::arrayPrepend()
diff --git a/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp
index 085a638eb7..19cdd42a74 100644
--- a/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp
+++ b/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp
@@ -181,6 +181,8 @@ private slots:
void streamRealDataTypes();
+ void enumTest();
+
void floatingPointPrecision();
void compatibility_Qt3();
@@ -2352,25 +2354,22 @@ void tst_QDataStream::setVersion()
}
}
-class SequentialBuffer : public QBuffer
+class SequentialBuffer : public QIODevice
{
public:
- SequentialBuffer(QByteArray *data) : QBuffer(data) { offset = 0; }
+ SequentialBuffer(QByteArray *data) : QIODevice() { buf.setBuffer(data); }
- bool isSequential() const { return true; }
- bool seek(qint64 pos) { offset = pos; return QBuffer::seek(pos); }
- qint64 pos() const { return qint64(offset); }
+ bool isSequential() const override { return true; }
+ bool open(OpenMode mode) override { return buf.open(mode) && QIODevice::open(mode | QIODevice::Unbuffered); }
+ void close() override { buf.close(); QIODevice::close(); }
+ qint64 bytesAvailable() const override { return QIODevice::bytesAvailable() + buf.bytesAvailable(); }
protected:
- qint64 readData(char *data, qint64 maxSize)
- {
- qint64 ret = QBuffer::readData(data, maxSize);
- offset += ret;
- return ret;
- }
+ qint64 readData(char *data, qint64 maxSize) override { return buf.read(data, maxSize); }
+ qint64 writeData(const char *data, qint64 maxSize) override { return buf.write(data, maxSize); }
private:
- int offset;
+ QBuffer buf;
};
void tst_QDataStream::skipRawData_data()
@@ -3412,6 +3411,90 @@ void tst_QDataStream::floatingPointNaN()
}
}
+void tst_QDataStream::enumTest()
+{
+ QByteArray ba;
+
+ enum class E1 : qint8
+ {
+ A,
+ B,
+ C
+ };
+ {
+ QDataStream stream(&ba, QIODevice::WriteOnly);
+ stream << E1::A;
+ QCOMPARE(ba.size(), int(sizeof(E1)));
+ }
+ {
+ QDataStream stream(ba);
+ E1 e;
+ stream >> e;
+ QCOMPARE(e, E1::A);
+ }
+ ba.clear();
+
+ enum class E2 : qint16
+ {
+ A,
+ B,
+ C
+ };
+ {
+ QDataStream stream(&ba, QIODevice::WriteOnly);
+ stream << E2::B;
+ QCOMPARE(ba.size(), int(sizeof(E2)));
+ }
+ {
+ QDataStream stream(ba);
+ E2 e;
+ stream >> e;
+ QCOMPARE(e, E2::B);
+ }
+ ba.clear();
+
+ enum class E4 : qint32
+ {
+ A,
+ B,
+ C
+ };
+ {
+ QDataStream stream(&ba, QIODevice::WriteOnly);
+ stream << E4::C;
+ QCOMPARE(ba.size(), int(sizeof(E4)));
+ }
+ {
+ QDataStream stream(ba);
+ E4 e;
+ stream >> e;
+ QCOMPARE(e, E4::C);
+ }
+ ba.clear();
+
+
+ enum E
+ {
+ A,
+ B,
+ C,
+ D
+ };
+ {
+ QDataStream stream(&ba, QIODevice::WriteOnly);
+ stream << E::D;
+ QCOMPARE(ba.size(), 4);
+ }
+ {
+ QDataStream stream(ba);
+ E e;
+ stream >> e;
+ QCOMPARE(e, E::D);
+ }
+ ba.clear();
+
+}
+
void tst_QDataStream::floatingPointPrecision()
{
QByteArray ba;
@@ -3470,15 +3553,21 @@ void tst_QDataStream::transaction_data()
QTest::addColumn<bool>("bData");
QTest::addColumn<float>("fData");
QTest::addColumn<double>("dData");
+ QTest::addColumn<QImage>("imgData");
QTest::addColumn<QByteArray>("strData");
QTest::addColumn<QByteArray>("rawData");
+ QImage img1(open_xpm);
+ QImage img2;
+ QImage img3(50, 50, QImage::Format_ARGB32);
+ img3.fill(qRgba(12, 34, 56, 78));
+
QTest::newRow("1") << qint8(1) << qint16(2) << qint32(3) << qint64(4) << true << 5.0f
- << double(6.0) << QByteArray("Hello world!") << QByteArray("Qt rocks!");
+ << double(6.0) << img1 << QByteArray("Hello world!") << QByteArray("Qt rocks!");
QTest::newRow("2") << qint8(1 << 6) << qint16(1 << 14) << qint32(1 << 30) << qint64Data(3) << false << 123.0f
- << double(234.0) << stringData(5).toUtf8() << stringData(6).toUtf8();
+ << double(234.0) << img2 << stringData(5).toUtf8() << stringData(6).toUtf8();
QTest::newRow("3") << qint8(-1) << qint16(-2) << qint32(-3) << qint64(-4) << true << -123.0f
- << double(-234.0) << stringData(3).toUtf8() << stringData(4).toUtf8();
+ << double(-234.0) << img3 << stringData(3).toUtf8() << stringData(4).toUtf8();
}
void tst_QDataStream::transaction()
@@ -3492,6 +3581,7 @@ void tst_QDataStream::transaction()
QFETCH(bool, bData);
QFETCH(float, fData);
QFETCH(double, dData);
+ QFETCH(QImage, imgData);
QFETCH(QByteArray, strData);
QFETCH(QByteArray, rawData);
@@ -3499,12 +3589,13 @@ void tst_QDataStream::transaction()
QDataStream stream(&testBuffer, QIODevice::WriteOnly);
stream << i8Data << i16Data << i32Data << i64Data
- << bData << fData << dData << strData.constData();
+ << bData << fData << dData << imgData << strData.constData();
stream.writeRawData(rawData.constData(), rawData.size());
}
for (int splitPos = 0; splitPos <= testBuffer.size(); ++splitPos) {
QByteArray readBuffer(testBuffer.left(splitPos));
+
SequentialBuffer dev(&readBuffer);
dev.open(QIODevice::ReadOnly);
QDataStream stream(&dev);
@@ -3516,12 +3607,13 @@ void tst_QDataStream::transaction()
bool b;
float f;
double d;
+ QImage img;
char *str;
QByteArray raw(rawData.size(), 0);
forever {
stream.startTransaction();
- stream >> i8 >> i16 >> i32 >> i64 >> b >> f >> d >> str;
+ stream >> i8 >> i16 >> i32 >> i64 >> b >> f >> d >> img >> str;
stream.readRawData(raw.data(), raw.size());
if (stream.commitTransaction())
@@ -3543,6 +3635,7 @@ void tst_QDataStream::transaction()
QCOMPARE(b, bData);
QCOMPARE(f, fData);
QCOMPARE(d, dData);
+ QCOMPARE(img, imgData);
QVERIFY(strData == str);
delete [] str;
QCOMPARE(raw, rawData);
diff --git a/tests/auto/corelib/serialization/qdatastream_core_pixmap/qdatastream_core_pixmap.pro b/tests/auto/corelib/serialization/qdatastream_core_pixmap/qdatastream_core_pixmap.pro
new file mode 100644
index 0000000000..7e003304af
--- /dev/null
+++ b/tests/auto/corelib/serialization/qdatastream_core_pixmap/qdatastream_core_pixmap.pro
@@ -0,0 +1,4 @@
+CONFIG += testcase
+TARGET = tst_qdatastream_core_pixmap
+QT += testlib
+SOURCES = tst_qdatastream_core_pixmap.cpp
diff --git a/tests/auto/corelib/serialization/qdatastream_core_pixmap/tst_qdatastream_core_pixmap.cpp b/tests/auto/corelib/serialization/qdatastream_core_pixmap/tst_qdatastream_core_pixmap.cpp
new file mode 100644
index 0000000000..c931016a61
--- /dev/null
+++ b/tests/auto/corelib/serialization/qdatastream_core_pixmap/tst_qdatastream_core_pixmap.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtGui/QBitmap>
+#include <QtGui/QPalette>
+#include <QtGui/QPixmap>
+#include <QtGui/QPicture>
+#include <QtGui/QTextLength>
+#include <QtGui/QPainter>
+#include <QtGui/QPen>
+
+class tst_QDataStream : public QObject
+{
+Q_OBJECT
+
+private slots:
+ void stream_with_pixmap();
+
+};
+
+void tst_QDataStream::stream_with_pixmap()
+{
+ // This is a QVariantMap with a 3x3 red QPixmap and two strings inside
+ const QByteArray ba = QByteArray::fromBase64("AAAAAwAAAAIAegAAAAoAAAAACgB0AGgAZQByAGUAAAACAHAAAABBAAAAAAGJUE5HDQoaCgAAAA1JSERSAAAAAwAAAAMIAgAAANlKIugAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAQSURBVAiZY/zPAAVMDJgsAB1bAQXZn5ieAAAAAElFTkSuQmCCAAAAAgBhAAAACgAAAAAKAGgAZQBsAGwAbw==");
+ QImage dummy; // Needed to make sure qtGui is loaded
+
+ QTest::ignoreMessage(QtWarningMsg, "QPixmap::fromImageInPlace: QPixmap cannot be created without a QGuiApplication");
+
+ QVariantMap map;
+ QDataStream d(ba);
+ d.setVersion(QDataStream::Qt_5_12);
+ d >> map;
+
+ QCOMPARE(map["a"].toString(), QString("hello"));
+ QCOMPARE(map["p"].value<QPixmap>(), QPixmap()); // the pixmap is null because this is not a QGuiApplication
+ QCOMPARE(map["z"].toString(), QString("there"));
+}
+
+QTEST_GUILESS_MAIN(tst_QDataStream)
+
+#include "tst_qdatastream_core_pixmap.moc"
+
diff --git a/tests/auto/corelib/serialization/qtextstream/readAllStdinProcess/readAllStdinProcess.pro b/tests/auto/corelib/serialization/qtextstream/readAllStdinProcess/readAllStdinProcess.pro
index 4a4c091dcb..f2b5aa619f 100644
--- a/tests/auto/corelib/serialization/qtextstream/readAllStdinProcess/readAllStdinProcess.pro
+++ b/tests/auto/corelib/serialization/qtextstream/readAllStdinProcess/readAllStdinProcess.pro
@@ -1,7 +1,6 @@
SOURCES += main.cpp
QT = core
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
DESTDIR = ./
# This app is testdata for tst_qtextstream
diff --git a/tests/auto/corelib/serialization/qtextstream/readLineStdinProcess/readLineStdinProcess.pro b/tests/auto/corelib/serialization/qtextstream/readLineStdinProcess/readLineStdinProcess.pro
index 4a4c091dcb..f2b5aa619f 100644
--- a/tests/auto/corelib/serialization/qtextstream/readLineStdinProcess/readLineStdinProcess.pro
+++ b/tests/auto/corelib/serialization/qtextstream/readLineStdinProcess/readLineStdinProcess.pro
@@ -1,7 +1,6 @@
SOURCES += main.cpp
QT = core
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
DESTDIR = ./
# This app is testdata for tst_qtextstream
diff --git a/tests/auto/corelib/serialization/qtextstream/stdinProcess/stdinProcess.pro b/tests/auto/corelib/serialization/qtextstream/stdinProcess/stdinProcess.pro
index 4a4c091dcb..f2b5aa619f 100644
--- a/tests/auto/corelib/serialization/qtextstream/stdinProcess/stdinProcess.pro
+++ b/tests/auto/corelib/serialization/qtextstream/stdinProcess/stdinProcess.pro
@@ -1,7 +1,6 @@
SOURCES += main.cpp
QT = core
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
DESTDIR = ./
# This app is testdata for tst_qtextstream
diff --git a/tests/auto/corelib/serialization/qtextstream/test/test.pro b/tests/auto/corelib/serialization/qtextstream/test/test.pro
index 3dcfa0b414..0f289a5ce1 100644
--- a/tests/auto/corelib/serialization/qtextstream/test/test.pro
+++ b/tests/auto/corelib/serialization/qtextstream/test/test.pro
@@ -3,6 +3,8 @@ TARGET = ../tst_qtextstream
QT = core network testlib
SOURCES = ../tst_qtextstream.cpp
RESOURCES += ../qtextstream.qrc
+INCLUDEPATH += ../../../../../shared/
+HEADERS += ../../../../../shared/emulationdetector.h
win32 {
CONFIG(debug, debug|release) {
diff --git a/tests/auto/corelib/serialization/qtextstream/tst_qtextstream.cpp b/tests/auto/corelib/serialization/qtextstream/tst_qtextstream.cpp
index 1c1631760b..af97d4a003 100644
--- a/tests/auto/corelib/serialization/qtextstream/tst_qtextstream.cpp
+++ b/tests/auto/corelib/serialization/qtextstream/tst_qtextstream.cpp
@@ -44,7 +44,7 @@
# include <QProcess>
#endif
#include "../../../network-settings.h"
-
+#include "emulationdetector.h"
QT_BEGIN_NAMESPACE
template<> struct QMetaTypeId<QIODevice::OpenModeFlag>
@@ -1102,7 +1102,7 @@ void tst_QTextStream::hexTest()
QByteArray array;
QTextStream stream(&array);
- stream << showbase << hex << number;
+ stream << Qt::showbase << Qt::hex << number;
stream.flush();
QCOMPARE(array, data);
}
@@ -1132,7 +1132,7 @@ void tst_QTextStream::binTest()
QByteArray array;
QTextStream stream(&array);
- stream << showbase << bin << number;
+ stream << Qt::showbase << Qt::bin << number;
stream.flush();
QCOMPARE(array.constData(), data.constData());
}
@@ -1155,7 +1155,7 @@ void tst_QTextStream::octTest()
QByteArray array;
QTextStream stream(&array);
- stream << showbase << oct << number;
+ stream << Qt::showbase << Qt::oct << number;
stream.flush();
QCOMPARE(array, data);
}
@@ -1196,7 +1196,7 @@ void tst_QTextStream::ws_manipulator()
QTextStream stream(&string);
char a, b, c, d;
- stream >> a >> ws >> b >> ws >> c >> ws >> d;
+ stream >> a >> Qt::ws >> b >> Qt::ws >> c >> Qt::ws >> d;
QCOMPARE(a, 'a');
QCOMPARE(b, 'b');
QCOMPARE(c, 'c');
@@ -1460,6 +1460,9 @@ void tst_QTextStream::pos2()
// ------------------------------------------------------------------------------
void tst_QTextStream::pos3LargeFile()
{
+ if (EmulationDetector::isRunningArmOnX86())
+ QSKIP("Running QTextStream::pos() in tight loop is too slow on emulator");
+
{
QFile file(testFileName);
file.open(QIODevice::WriteOnly | QIODevice::Text);
@@ -1620,18 +1623,18 @@ void tst_QTextStream::forcePoint()
{
QString str;
QTextStream stream(&str);
- stream << fixed << forcepoint << 1.0 << ' ' << 1 << ' ' << 0 << ' ' << -1.0 << ' ' << -1;
+ stream << Qt::fixed << Qt::forcepoint << 1.0 << ' ' << 1 << ' ' << 0 << ' ' << -1.0 << ' ' << -1;
QCOMPARE(str, QString("1.000000 1 0 -1.000000 -1"));
str.clear();
stream.seek(0);
- stream << scientific << forcepoint << 1.0 << ' ' << 1 << ' ' << 0 << ' ' << -1.0 << ' ' << -1;
+ stream << Qt::scientific << Qt::forcepoint << 1.0 << ' ' << 1 << ' ' << 0 << ' ' << -1.0 << ' ' << -1;
QCOMPARE(str, QString("1.000000e+00 1 0 -1.000000e+00 -1"));
str.clear();
stream.seek(0);
stream.setRealNumberNotation(QTextStream::SmartNotation);
- stream << forcepoint << 1.0 << ' ' << 1 << ' ' << 0 << ' ' << -1.0 << ' ' << -1;
+ stream << Qt::forcepoint << 1.0 << ' ' << 1 << ' ' << 0 << ' ' << -1.0 << ' ' << -1;
QCOMPARE(str, QString("1.00000 1 0 -1.00000 -1"));
}
@@ -1641,7 +1644,7 @@ void tst_QTextStream::forceSign()
{
QString str;
QTextStream stream(&str);
- stream << forcesign << 1.2 << ' ' << -1.2 << ' ' << 0;
+ stream << Qt::forcesign << 1.2 << ' ' << -1.2 << ' ' << 0;
QCOMPARE(str, QString("+1.2 -1.2 +0"));
}
@@ -1660,19 +1663,22 @@ void tst_QTextStream::read0d0d0a()
Q_DECLARE_METATYPE(QTextStreamFunction);
+// Also tests that we can have namespaces that conflict with our QTextStream constants.
+namespace ws {
QTextStream &noop(QTextStream &s) { return s; }
+}
void tst_QTextStream::numeralCase_data()
{
- QTextStreamFunction noop_ = noop;
- QTextStreamFunction bin_ = bin;
- QTextStreamFunction oct_ = oct;
- QTextStreamFunction hex_ = hex;
- QTextStreamFunction base = showbase;
- QTextStreamFunction ucb = uppercasebase;
- QTextStreamFunction lcb = lowercasebase;
- QTextStreamFunction ucd = uppercasedigits;
- QTextStreamFunction lcd = lowercasedigits;
+ QTextStreamFunction noop_ = ws::noop;
+ QTextStreamFunction bin = Qt::bin;
+ QTextStreamFunction oct = Qt::oct;
+ QTextStreamFunction hex = Qt::hex;
+ QTextStreamFunction base = Qt::showbase;
+ QTextStreamFunction ucb = Qt::uppercasebase;
+ QTextStreamFunction lcb = Qt::lowercasebase;
+ QTextStreamFunction ucd = Qt::uppercasedigits;
+ QTextStreamFunction lcd = Qt::lowercasedigits;
QTest::addColumn<QTextStreamFunction>("func1");
QTest::addColumn<QTextStreamFunction>("func2");
@@ -1683,30 +1689,30 @@ void tst_QTextStream::numeralCase_data()
QTest::newRow("dec 1") << noop_ << noop_ << noop_ << noop_ << 31 << "31";
QTest::newRow("dec 2") << noop_ << base << noop_ << noop_ << 31 << "31";
- QTest::newRow("hex 1") << hex_ << noop_ << noop_ << noop_ << 31 << "1f";
- QTest::newRow("hex 2") << hex_ << noop_ << noop_ << lcd << 31 << "1f";
- QTest::newRow("hex 3") << hex_ << noop_ << ucb << noop_ << 31 << "1f";
- QTest::newRow("hex 4") << hex_ << noop_ << noop_ << ucd << 31 << "1F";
- QTest::newRow("hex 5") << hex_ << noop_ << lcb << ucd << 31 << "1F";
- QTest::newRow("hex 6") << hex_ << noop_ << ucb << ucd << 31 << "1F";
- QTest::newRow("hex 7") << hex_ << base << noop_ << noop_ << 31 << "0x1f";
- QTest::newRow("hex 8") << hex_ << base << lcb << lcd << 31 << "0x1f";
- QTest::newRow("hex 9") << hex_ << base << ucb << noop_ << 31 << "0X1f";
- QTest::newRow("hex 10") << hex_ << base << ucb << lcd << 31 << "0X1f";
- QTest::newRow("hex 11") << hex_ << base << noop_ << ucd << 31 << "0x1F";
- QTest::newRow("hex 12") << hex_ << base << lcb << ucd << 31 << "0x1F";
- QTest::newRow("hex 13") << hex_ << base << ucb << ucd << 31 << "0X1F";
-
- QTest::newRow("bin 1") << bin_ << noop_ << noop_ << noop_ << 31 << "11111";
- QTest::newRow("bin 2") << bin_ << base << noop_ << noop_ << 31 << "0b11111";
- QTest::newRow("bin 3") << bin_ << base << lcb << noop_ << 31 << "0b11111";
- QTest::newRow("bin 4") << bin_ << base << ucb << noop_ << 31 << "0B11111";
- QTest::newRow("bin 5") << bin_ << base << noop_ << ucd << 31 << "0b11111";
- QTest::newRow("bin 6") << bin_ << base << lcb << ucd << 31 << "0b11111";
- QTest::newRow("bin 7") << bin_ << base << ucb << ucd << 31 << "0B11111";
-
- QTest::newRow("oct 1") << oct_ << noop_ << noop_ << noop_ << 31 << "37";
- QTest::newRow("oct 2") << oct_ << base << noop_ << noop_ << 31 << "037";
+ QTest::newRow("hex 1") << hex << noop_ << noop_ << noop_ << 31 << "1f";
+ QTest::newRow("hex 2") << hex << noop_ << noop_ << lcd << 31 << "1f";
+ QTest::newRow("hex 3") << hex << noop_ << ucb << noop_ << 31 << "1f";
+ QTest::newRow("hex 4") << hex << noop_ << noop_ << ucd << 31 << "1F";
+ QTest::newRow("hex 5") << hex << noop_ << lcb << ucd << 31 << "1F";
+ QTest::newRow("hex 6") << hex << noop_ << ucb << ucd << 31 << "1F";
+ QTest::newRow("hex 7") << hex << base << noop_ << noop_ << 31 << "0x1f";
+ QTest::newRow("hex 8") << hex << base << lcb << lcd << 31 << "0x1f";
+ QTest::newRow("hex 9") << hex << base << ucb << noop_ << 31 << "0X1f";
+ QTest::newRow("hex 10") << hex << base << ucb << lcd << 31 << "0X1f";
+ QTest::newRow("hex 11") << hex << base << noop_ << ucd << 31 << "0x1F";
+ QTest::newRow("hex 12") << hex << base << lcb << ucd << 31 << "0x1F";
+ QTest::newRow("hex 13") << hex << base << ucb << ucd << 31 << "0X1F";
+
+ QTest::newRow("bin 1") << bin << noop_ << noop_ << noop_ << 31 << "11111";
+ QTest::newRow("bin 2") << bin << base << noop_ << noop_ << 31 << "0b11111";
+ QTest::newRow("bin 3") << bin << base << lcb << noop_ << 31 << "0b11111";
+ QTest::newRow("bin 4") << bin << base << ucb << noop_ << 31 << "0B11111";
+ QTest::newRow("bin 5") << bin << base << noop_ << ucd << 31 << "0b11111";
+ QTest::newRow("bin 6") << bin << base << lcb << ucd << 31 << "0b11111";
+ QTest::newRow("bin 7") << bin << base << ucb << ucd << 31 << "0B11111";
+
+ QTest::newRow("oct 1") << oct << noop_ << noop_ << noop_ << 31 << "37";
+ QTest::newRow("oct 2") << oct << base << noop_ << noop_ << 31 << "037";
}
void tst_QTextStream::numeralCase()
@@ -1779,9 +1785,9 @@ void tst_QTextStream::nanInf()
QString s;
QTextStream out(&s);
out << qInf() << ' ' << -qInf() << ' ' << qQNaN()
- << uppercasedigits << ' '
+ << Qt::uppercasedigits << ' '
<< qInf() << ' ' << -qInf() << ' ' << qQNaN()
- << flush;
+ << Qt::flush;
QCOMPARE(s, QString("inf -inf nan INF -INF NAN"));
}
@@ -1856,9 +1862,9 @@ void tst_QTextStream::writeSeekWriteNoBOM()
int number = 0;
QString sizeStr = QLatin1String("Size=")
+ QString::number(number).rightJustified(10, QLatin1Char('0'));
- stream << sizeStr << endl;
- stream << "Version=" << QString::number(14) << endl;
- stream << "blah blah blah" << endl;
+ stream << sizeStr << Qt::endl;
+ stream << "Version=" << QString::number(14) << Qt::endl;
+ stream << "blah blah blah" << Qt::endl;
stream.flush();
QCOMPARE(out.buffer().constData(), "Size=0000000000\nVersion=14\nblah blah blah\n");
@@ -1868,7 +1874,7 @@ void tst_QTextStream::writeSeekWriteNoBOM()
stream.seek(0);
sizeStr = QLatin1String("Size=")
+ QString::number(number).rightJustified(10, QLatin1Char('0'));
- stream << sizeStr << endl;
+ stream << sizeStr << Qt::endl;
stream.flush();
// Check buffer is still OK
diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
index 8fdf91b090..e4d50607b7 100644
--- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
+++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
@@ -253,7 +253,7 @@ public:
qFatal("%s: aId must not be an empty string", Q_FUNC_INFO);
}
- void swap(MissedBaseline &other) Q_DECL_NOTHROW
+ void swap(MissedBaseline &other) noexcept
{
qSwap(id, other.id);
qSwap(expected, other.expected);
diff --git a/tests/auto/corelib/serialization/serialization.pro b/tests/auto/corelib/serialization/serialization.pro
index 9187de1bc5..9638178cdc 100644
--- a/tests/auto/corelib/serialization/serialization.pro
+++ b/tests/auto/corelib/serialization/serialization.pro
@@ -6,6 +6,7 @@ SUBDIRS = \
qcborvalue \
qcborvalue_json \
qdatastream \
+ qdatastream_core_pixmap \
qtextstream \
qxmlstream
diff --git a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
index 810698fb4e..55a672aae1 100644
--- a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
+++ b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp
@@ -6680,13 +6680,13 @@ void tst_QStateMachine::dontProcessSlotsWhenMachineIsNotRunning()
} emitter;
initialState.addTransition(&emitter, &Emitter::signalWithNoArg, &finalState);
- QTimer::singleShot(0, [&]() {
- metaObject()->invokeMethod(&emitter, "emitSignalWithNoArg");
- metaObject()->invokeMethod(&emitter, "emitSignalWithNoArg");
- });
machine.addState(&initialState);
machine.addState(&finalState);
machine.setInitialState(&initialState);
+ connect(&machine, &QStateMachine::started, &emitter, [&]() {
+ metaObject()->invokeMethod(&emitter, "emitSignalWithNoArg");
+ metaObject()->invokeMethod(&emitter, "emitSignalWithNoArg");
+ });
connect(&machine, &QStateMachine::finished, &emitter.thread, &QThread::quit);
machine.start();
QSignalSpy emittedSpy(&emitter, &SignalEmitter::signalWithNoArg);
diff --git a/tests/auto/corelib/thread/qatomicinteger/tst_qatomicinteger.cpp b/tests/auto/corelib/thread/qatomicinteger/tst_qatomicinteger.cpp
index 32e5b8ee56..3a98732f9d 100644
--- a/tests/auto/corelib/thread/qatomicinteger/tst_qatomicinteger.cpp
+++ b/tests/auto/corelib/thread/qatomicinteger/tst_qatomicinteger.cpp
@@ -291,10 +291,10 @@ void tst_QAtomicIntegerXX::copy()
QCOMPARE(copy2.load(), atomic.load());
// move
- QAtomicInteger<T> copy3(qMove(copy));
+ QAtomicInteger<T> copy3(std::move(copy));
QCOMPARE(copy3.load(), atomic.load());
- QAtomicInteger<T> copy4 = qMove(copy2);
+ QAtomicInteger<T> copy4 = std::move(copy2);
QCOMPARE(copy4.load(), atomic.load());
}
@@ -317,11 +317,11 @@ void tst_QAtomicIntegerXX::assign()
// move
QAtomicInteger<T> copy3;
- copy3 = qMove(copy);
+ copy3 = std::move(copy);
QCOMPARE(copy3.load(), atomic.load());
QAtomicInteger<T> copy4;
- copy4 = qMove(copy2);
+ copy4 = std::move(copy2);
QCOMPARE(copy4.load(), atomic.load());
}
diff --git a/tests/auto/corelib/thread/qthread/tst_qthread.cpp b/tests/auto/corelib/thread/qthread/tst_qthread.cpp
index d73dcc1b6d..f72b662c94 100644
--- a/tests/auto/corelib/thread/qthread/tst_qthread.cpp
+++ b/tests/auto/corelib/thread/qthread/tst_qthread.cpp
@@ -1330,6 +1330,8 @@ void tst_QThread::quitLock()
QCOMPARE(job->thread(), &thread);
loop.exec();
QVERIFY(exitThreadCalled);
+
+ delete job;
}
void tst_QThread::create()
diff --git a/tests/auto/corelib/thread/qthreadpool/BLACKLIST b/tests/auto/corelib/thread/qthreadpool/BLACKLIST
index 1c392ce96c..fc49731687 100644
--- a/tests/auto/corelib/thread/qthreadpool/BLACKLIST
+++ b/tests/auto/corelib/thread/qthreadpool/BLACKLIST
@@ -1,2 +1,3 @@
[expiryTimeoutRace]
osx
+linux
diff --git a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
index 838431cd5a..27b49602fc 100644
--- a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
+++ b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
@@ -1322,6 +1322,7 @@ void tst_QThreadPool::waitForDoneAfterTake()
QRunnable *runnable = createTask(emptyFunct);
manager.start(runnable);
QVERIFY(manager.tryTake(runnable));
+ delete runnable;
}
// Add another runnable that will not be removed
diff --git a/tests/auto/corelib/thread/qthreadstorage/crashonexit/crashonexit.pro b/tests/auto/corelib/thread/qthreadstorage/crashonexit/crashonexit.pro
index d5c09ebc84..57bd78bcee 100644
--- a/tests/auto/corelib/thread/qthreadstorage/crashonexit/crashonexit.pro
+++ b/tests/auto/corelib/thread/qthreadstorage/crashonexit/crashonexit.pro
@@ -9,8 +9,7 @@ debug_and_release {
TARGET = ../crashOnExit_helper
}
QT = core
-CONFIG -= app_bundle
-CONFIG += console
+CONFIG += cmdline
# This app is testdata for tst_qthreadstorage
target.path = $$[QT_INSTALL_TESTS]/tst_qthreadstorage/$$TARGET
diff --git a/tests/auto/corelib/tools/collections/tst_collections.cpp b/tests/auto/corelib/tools/collections/tst_collections.cpp
index b40b1f0624..104de4d783 100644
--- a/tests/auto/corelib/tools/collections/tst_collections.cpp
+++ b/tests/auto/corelib/tools/collections/tst_collections.cpp
@@ -2425,7 +2425,7 @@ void testContainer()
c1 = newInstance<Container>();
QVERIFY(c1.size() == 4);
QVERIFY(c1 == newInstance<Container>());
- Container c2 = qMove(c1);
+ Container c2 = std::move(c1);
QVERIFY(c2.size() == 4);
QVERIFY(c2 == newInstance<Container>());
}
diff --git a/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp b/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp
index a00c962510..2d1ae07b35 100644
--- a/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp
+++ b/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp
@@ -78,9 +78,7 @@ private slots:
void fromRawData_data();
void fromRawData();
void literals();
-#if defined(Q_COMPILER_VARIADIC_MACROS) && defined(Q_COMPILER_LAMBDA)
void variadicLiterals();
-#endif
#ifdef Q_COMPILER_RVALUE_REFS
void rValueReferences();
#endif
@@ -1618,9 +1616,7 @@ void tst_QArrayData::literals()
QCOMPARE(v.size(), size_t(11));
// v.capacity() is unspecified, for now
-#if defined(Q_COMPILER_VARIADIC_MACROS) && defined(Q_COMPILER_LAMBDA)
QVERIFY(v.isStatic());
-#endif
#if !defined(QT_NO_UNSHARABLE_CONTAINERS)
QVERIFY(v.isSharable());
@@ -1633,7 +1629,6 @@ void tst_QArrayData::literals()
}
}
-#if defined(Q_COMPILER_VARIADIC_MACROS) && defined(Q_COMPILER_LAMBDA)
// Variadic Q_ARRAY_LITERAL need to be available in the current configuration.
void tst_QArrayData::variadicLiterals()
{
@@ -1682,7 +1677,6 @@ void tst_QArrayData::variadicLiterals()
QCOMPARE(const_(v)[i], i);
}
}
-#endif
#ifdef Q_COMPILER_RVALUE_REFS
// std::remove_reference is in C++11, but requires library support
diff --git a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
index 1ed41793dc..987b3058e3 100644
--- a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
@@ -138,9 +138,7 @@ private slots:
void reserveExtended();
void movablity_data();
void movablity();
-#if defined(Q_COMPILER_LAMBDA)
void literals();
-#endif
void toUpperLower_data();
void toUpperLower();
void isUpper();
@@ -1361,6 +1359,9 @@ void tst_QByteArray::toDouble_data()
QTest::newRow("trailing spaces") << QByteArray("1.2345 \n\r\t") << 1.2345 << true;
QTest::newRow("leading junk") << QByteArray("x1.2345") << 0.0 << false;
QTest::newRow("trailing junk") << QByteArray("1.2345x") << 0.0 << false;
+
+ QTest::newRow("raw, null plus junk") << QByteArray::fromRawData("1.2\0 junk", 9) << 0.0 << false;
+ QTest::newRow("raw, null-terminator not included") << QByteArray::fromRawData("2.3", 3) << 2.3 << true;
}
void tst_QByteArray::toDouble()
@@ -2189,7 +2190,6 @@ void tst_QByteArray::movablity()
QVERIFY(true);
}
-#if defined(Q_COMPILER_LAMBDA)
// Only tested on c++0x compliant compiler or gcc
void tst_QByteArray::literals()
{
@@ -2210,7 +2210,6 @@ void tst_QByteArray::literals()
QVERIFY(str2.constData() == s);
QVERIFY(str2.data() != s);
}
-#endif
void tst_QByteArray::toUpperLower_data()
{
@@ -2242,28 +2241,28 @@ void tst_QByteArray::toUpperLower()
QCOMPARE(input.toLower(), lower);
QByteArray copy = input;
- QCOMPARE(qMove(copy).toUpper(), upper);
+ QCOMPARE(std::move(copy).toUpper(), upper);
copy = input;
copy.detach();
- QCOMPARE(qMove(copy).toUpper(), upper);
+ QCOMPARE(std::move(copy).toUpper(), upper);
copy = input;
- QCOMPARE(qMove(copy).toLower(), lower);
+ QCOMPARE(std::move(copy).toLower(), lower);
copy = input;
copy.detach();
- QCOMPARE(qMove(copy).toLower(), lower);
+ QCOMPARE(std::move(copy).toLower(), lower);
copy = lower;
- QCOMPARE(qMove(copy).toLower(), lower);
+ QCOMPARE(std::move(copy).toLower(), lower);
copy = lower;
copy.detach();
- QCOMPARE(qMove(copy).toLower(), lower);
+ QCOMPARE(std::move(copy).toLower(), lower);
copy = upper;
- QCOMPARE(qMove(copy).toUpper(), upper);
+ QCOMPARE(std::move(copy).toUpper(), upper);
copy = upper;
copy.detach();
- QCOMPARE(qMove(copy).toUpper(), upper);
+ QCOMPARE(std::move(copy).toUpper(), upper);
}
void tst_QByteArray::isUpper()
diff --git a/tests/auto/corelib/tools/qbytearraylist/tst_qbytearraylist.cpp b/tests/auto/corelib/tools/qbytearraylist/tst_qbytearraylist.cpp
index 85b4c4bfb7..a28bbc12c8 100644
--- a/tests/auto/corelib/tools/qbytearraylist/tst_qbytearraylist.cpp
+++ b/tests/auto/corelib/tools/qbytearraylist/tst_qbytearraylist.cpp
@@ -49,6 +49,9 @@ private slots:
void operator_plus() const;
void operator_plus_data() const;
+ void indexOf_data() const;
+ void indexOf() const;
+
void initializerList() const;
};
@@ -191,22 +194,22 @@ void tst_QByteArrayList::operator_plus() const
{
QByteArrayList bal1 = lhs;
const QByteArrayList bal2 = rhs;
- QCOMPARE(qMove(bal1) + bal2, expectedResult);
+ QCOMPARE(std::move(bal1) + bal2, expectedResult);
}
{
QList<QByteArray> lba1 = lhs;
const QByteArrayList bal2 = rhs;
- QCOMPARE(qMove(lba1) + bal2, expectedResult);
+ QCOMPARE(std::move(lba1) + bal2, expectedResult);
}
{
QByteArrayList bal1 = lhs;
const QList<QByteArray> lba2 = rhs;
- QCOMPARE(qMove(bal1) + lba2, expectedResult);
+ QCOMPARE(std::move(bal1) + lba2, expectedResult);
}
{
QList<QByteArray> lba1 = lhs;
const QList<QByteArray> lba2 = rhs;
- QCOMPARE(qMove(lba1) + lba2, QList<QByteArray>(expectedResult)); // check we don't mess with old code
+ QCOMPARE(std::move(lba1) + lba2, QList<QByteArray>(expectedResult)); // check we don't mess with old code
}
// operator += for const lvalues
@@ -229,7 +232,7 @@ void tst_QByteArrayList::operator_plus() const
QByteArrayList t1 = lhs;
QByteArrayList t2 = rhs;
- QCOMPARE(qMove(t1) + t2, expectedResult);
+ QCOMPARE(std::move(t1) + t2, expectedResult);
}
void tst_QByteArrayList::operator_plus_data() const
@@ -259,6 +262,29 @@ void tst_QByteArrayList::operator_plus_data() const
<< ( QByteArrayList() << "a" << "" << "c" );
}
+void tst_QByteArrayList::indexOf_data() const
+{
+ QTest::addColumn<QByteArrayList>("list");
+ QTest::addColumn<QByteArray>("item");
+ QTest::addColumn<int>("expectedResult");
+
+ QTest::newRow("empty") << QByteArrayList() << QByteArray("a") << -1;
+ QTest::newRow("found_1") << ( QByteArrayList() << "a" ) << QByteArray("a") << 0;
+ QTest::newRow("not_found_1") << ( QByteArrayList() << "a" ) << QByteArray("b") << -1;
+ QTest::newRow("found_2") << ( QByteArrayList() << "hello" << "world" ) << QByteArray("world") << 1;
+ QTest::newRow("returns_first") << ( QByteArrayList() << "hello" << "world" << "hello" << "again" ) << QByteArray("hello") << 0;
+}
+
+void tst_QByteArrayList::indexOf() const
+{
+ QFETCH(QByteArrayList, list);
+ QFETCH(QByteArray, item);
+ QFETCH(int, expectedResult);
+
+ QCOMPARE(list.indexOf(item), expectedResult);
+ QCOMPARE(list.indexOf(item.constData()), expectedResult);
+}
+
void tst_QByteArrayList::initializerList() const
{
#ifdef Q_COMPILER_INITIALIZER_LISTS
diff --git a/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp b/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp
index 00b22dab6c..72f88a235d 100644
--- a/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp
+++ b/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp
@@ -93,12 +93,7 @@ void tst_QCollator::compare_data()
QTest::addColumn<int>("caseInsensitiveResult");
QTest::addColumn<bool>("numericMode");
QTest::addColumn<bool>("ignorePunctuation");
- QTest::addColumn<int>("punctuationResult");
-
- /*
- A few tests below are commented out on the mac. It's unclear why they fail,
- as it looks like the collator for the locale is created correctly.
- */
+ QTest::addColumn<int>("punctuationResult"); // Test ignores punctuation *and case*
/*
It's hard to test English, because it's treated differently
@@ -164,7 +159,7 @@ void tst_QCollator::compare_data()
QTest::newRow("german13") << QString("de_DE") << QString("test.19") << QString("test,19") << 1 << 1 << true << true << 0;
/*
- French sorting of e and e with accent
+ French sorting of e and e with acute accent
*/
QTest::newRow("french1") << QString("fr_FR") << QString::fromLatin1("\xe9") << QString::fromLatin1("e") << 1 << 1 << false << false << 1;
QTest::newRow("french2") << QString("fr_FR") << QString::fromLatin1("\xe9t") << QString::fromLatin1("et") << 1 << 1 << false << false << 1;
@@ -174,8 +169,12 @@ void tst_QCollator::compare_data()
QTest::newRow("french6") << QString("fr_FR") << QString("Test 9") << QString("Test_19") << -1 << -1 << true << true << -1;
QTest::newRow("french7") << QString("fr_FR") << QString("test_19") << QString("test 19") << 1 << 1 << true << false << 1;
QTest::newRow("french8") << QString("fr_FR") << QString("test.19") << QString("test,19") << 1 << 1 << true << true << 0;
-}
+ // C locale: case sensitive [A-Z] < [a-z] but case insensitive [Aa] < [Bb] <...< [Zz]
+ const QString C = QStringLiteral("C");
+ QTest::newRow("C:ABBA:AaaA") << C << QStringLiteral("ABBA") << QStringLiteral("AaaA") << -1 << 1 << false << false << 1;
+ QTest::newRow("C:AZa:aAZ") << C << QStringLiteral("AZa") << QStringLiteral("aAZ") << -1 << 1 << false << false << 1;
+}
void tst_QCollator::compare()
{
@@ -189,6 +188,10 @@ void tst_QCollator::compare()
QFETCH(int, punctuationResult);
QCollator collator(locale);
+ // Need to canonicalize sign to -1, 0 or 1, as .compare() can produce any -ve for <, any +ve for >.
+ auto asSign = [](int compared) {
+ return compared < 0 ? -1 : compared > 0 ? 1 : 0;
+ };
#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED)
if (collator.locale() != QLocale())
@@ -198,12 +201,12 @@ void tst_QCollator::compare()
if (numericMode)
collator.setNumericMode(true);
- QCOMPARE(collator.compare(s1, s2), result);
+ QCOMPARE(asSign(collator.compare(s1, s2)), result);
collator.setCaseSensitivity(Qt::CaseInsensitive);
- QCOMPARE(collator.compare(s1, s2), caseInsensitiveResult);
+ QCOMPARE(asSign(collator.compare(s1, s2)), caseInsensitiveResult);
#if !QT_CONFIG(iconv)
collator.setIgnorePunctuation(ignorePunctuation);
- QCOMPARE(collator.compare(s1, s2), punctuationResult);
+ QCOMPARE(asSign(collator.compare(s1, s2)), punctuationResult);
#endif
}
diff --git a/tests/auto/corelib/tools/qcommandlineparser/testhelper/qcommandlineparser_test_helper.pro b/tests/auto/corelib/tools/qcommandlineparser/testhelper/qcommandlineparser_test_helper.pro
index dce1ac0d37..5020658835 100644
--- a/tests/auto/corelib/tools/qcommandlineparser/testhelper/qcommandlineparser_test_helper.pro
+++ b/tests/auto/corelib/tools/qcommandlineparser/testhelper/qcommandlineparser_test_helper.pro
@@ -1,5 +1,4 @@
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
QT = core
DESTDIR = ./
diff --git a/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp b/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp
index 62c29229e1..811e9a0010 100644
--- a/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp
+++ b/tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp
@@ -44,6 +44,7 @@ private slots:
// In-process tests
void testInvalidOptions();
+ void testDuplicateOption();
void testPositionalArguments();
void testBooleanOption_data();
void testBooleanOption();
@@ -74,6 +75,7 @@ private slots:
void testHelpOption_data();
void testHelpOption();
void testQuoteEscaping();
+ void testUnknownOption();
};
static char *empty_argv[] = { 0 };
@@ -103,6 +105,15 @@ void tst_QCommandLineParser::testInvalidOptions()
QVERIFY(!parser.addOption(QCommandLineOption(QStringLiteral("-v"), QStringLiteral("Displays version information."))));
}
+void tst_QCommandLineParser::testDuplicateOption()
+{
+ QCoreApplication app(empty_argc, empty_argv);
+ QCommandLineParser parser;
+ QVERIFY(parser.addOption(QCommandLineOption(QStringLiteral("h"), QStringLiteral("Hostname."), QStringLiteral("hostname"))));
+ QTest::ignoreMessage(QtWarningMsg, "QCommandLineParser: already having an option named \"h\"");
+ parser.addHelpOption();
+}
+
void tst_QCommandLineParser::testPositionalArguments()
{
QCoreApplication app(empty_argc, empty_argv);
@@ -648,6 +659,27 @@ void tst_QCommandLineParser::testQuoteEscaping()
#endif // QT_CONFIG(process)
}
+void tst_QCommandLineParser::testUnknownOption()
+{
+#if !QT_CONFIG(process)
+ QSKIP("This test requires QProcess support");
+#elif defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED)
+ QSKIP("Deploying executable applications to file system on Android not supported.");
+#else
+ QCoreApplication app(empty_argc, empty_argv);
+ QProcess process;
+ process.start("testhelper/qcommandlineparser_test_helper", QStringList() <<
+ QString::number(QCommandLineParser::ParseAsLongOptions) <<
+ "-unknown-option");
+ QVERIFY(process.waitForFinished(5000));
+ QCOMPARE(process.exitStatus(), QProcess::NormalExit);
+ process.setReadChannel(QProcess::StandardError);
+ QString output = process.readAll();
+ QVERIFY2(output.contains("qcommandlineparser_test_helper"), qPrintable(output)); // separate in case of .exe extension
+ QVERIFY2(output.contains(": Unknown option 'unknown-option'"), qPrintable(output));
+#endif // QT_CONFIG(process)
+}
+
QTEST_APPLESS_MAIN(tst_QCommandLineParser)
#include "tst_qcommandlineparser.moc"
diff --git a/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp b/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp
index 31a5f93822..9b45e17a28 100644
--- a/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp
+++ b/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp
@@ -68,7 +68,7 @@ void tst_QContiguousCache::assignment()
// copy:
cc1 = cc2;
// move:
- cc1 = qMove(cc2);
+ cc1 = std::move(cc2);
}
void tst_QContiguousCache::empty()
diff --git a/tests/auto/corelib/tools/qdate/tst_qdate.cpp b/tests/auto/corelib/tools/qdate/tst_qdate.cpp
index ce1e5730dd..c17af8741b 100644
--- a/tests/auto/corelib/tools/qdate/tst_qdate.cpp
+++ b/tests/auto/corelib/tools/qdate/tst_qdate.cpp
@@ -83,6 +83,7 @@ private slots:
void negativeYear() const;
void printNegativeYear() const;
void roundtripGermanLocale() const;
+#if QT_CONFIG(textdate)
void shortDayName() const;
void standaloneShortDayName() const;
void longDayName() const;
@@ -91,6 +92,7 @@ private slots:
void standaloneShortMonthName() const;
void longMonthName() const;
void standaloneLongMonthName() const;
+#endif // textdate
void roundtrip() const;
void qdebug() const;
private:
@@ -1038,18 +1040,18 @@ void tst_QDate::fromStringFormat_data()
// Undo this (inline the C-locale versions) for ### Qt 6
// Get localized names:
- QString january = QDate::longMonthName(1);
- QString february = QDate::longMonthName(2);
- QString march = QDate::longMonthName(3);
- QString august = QDate::longMonthName(8);
- QString mon = QDate::shortDayName(1);
- QString monday = QDate::longDayName(1);
- QString tuesday = QDate::longDayName(2);
- QString wednesday = QDate::longDayName(3);
- QString thursday = QDate::longDayName(4);
- QString friday = QDate::longDayName(5);
- QString saturday = QDate::longDayName(6);
- QString sunday = QDate::longDayName(7);
+ QString january = QLocale::system().monthName(1, QLocale::LongFormat);
+ QString february = QLocale::system().monthName(2, QLocale::LongFormat);
+ QString march = QLocale::system().monthName(3, QLocale::LongFormat);
+ QString august = QLocale::system().monthName(8, QLocale::LongFormat);
+ QString mon = QLocale::system().dayName(1, QLocale::ShortFormat);
+ QString monday = QLocale::system().dayName(1, QLocale::LongFormat);
+ QString tuesday = QLocale::system().dayName(2, QLocale::LongFormat);
+ QString wednesday = QLocale::system().dayName(3, QLocale::LongFormat);
+ QString thursday = QLocale::system().dayName(4, QLocale::LongFormat);
+ QString friday = QLocale::system().dayName(5, QLocale::LongFormat);
+ QString saturday = QLocale::system().dayName(6, QLocale::LongFormat);
+ QString sunday = QLocale::system().dayName(7, QLocale::LongFormat);
QTest::newRow("data0") << QString("") << QString("") << defDate();
QTest::newRow("data1") << QString(" ") << QString("") << invalidDate();
@@ -1305,6 +1307,10 @@ void tst_QDate::roundtripGermanLocale() const
theDateTime.fromString(theDateTime.toString(Qt::TextDate), Qt::TextDate);
}
+#if QT_CONFIG(textdate)
+QT_WARNING_PUSH // the methods tested here are all deprecated
+QT_WARNING_DISABLE_GCC("-Wdeprecated-declarations")
+
void tst_QDate::shortDayName() const
{
QCOMPARE(QDate::shortDayName(0), QString());
@@ -1432,6 +1438,8 @@ void tst_QDate::standaloneLongMonthName() const
QCOMPARE(QDate::longMonthName(i, QDate::StandaloneFormat), locale.standaloneMonthName(i, QLocale::LongFormat));
}
}
+QT_WARNING_POP
+#endif // textdate
void tst_QDate::roundtrip() const
{
diff --git a/tests/auto/corelib/tools/qdatetime/qdatetime.pro b/tests/auto/corelib/tools/qdatetime/qdatetime.pro
index ba36621cf1..742eb47075 100644
--- a/tests/auto/corelib/tools/qdatetime/qdatetime.pro
+++ b/tests/auto/corelib/tools/qdatetime/qdatetime.pro
@@ -5,7 +5,7 @@ SOURCES = tst_qdatetime.cpp
# For some reason using optimization here triggers a compiler issue, which causes an exception
# However, the code is correct
-win32-msvc|win32-msvc9x {
+msvc {
!build_pass:message ( "Compiler issue, removing -O1 flag" )
QMAKE_CFLAGS_RELEASE -= -O1
QMAKE_CXXFLAGS_RELEASE -= -O1
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
index 56792f38fb..6ad3357f40 100644
--- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
@@ -2396,6 +2396,19 @@ void tst_QDateTime::fromStringStringFormat_data()
QTest::newRow("late") << QString("9999-12-31T23:59:59.999Z")
<< QString("yyyy-MM-ddThh:mm:ss.zZ")
<< QDateTime(QDate(9999, 12, 31), QTime(23, 59, 59, 999));
+ // Separators match /([^aAdhHMmstyz]*)/
+ QTest::newRow("oddly-separated") // To show broken-separator's format is valid.
+ << QStringLiteral("2018 wilful long working block relief 12-19T21:09 cruel blurb encore flux")
+ << QStringLiteral("yyyy wilful long working block relief MM-ddThh:mm cruel blurb encore flux")
+ << QDateTime(QDate(2018, 12, 19), QTime(21, 9));
+ QTest::newRow("broken-separator")
+ << QStringLiteral("2018 wilful")
+ << QStringLiteral("yyyy wilful long working block relief MM-ddThh:mm cruel blurb encore flux")
+ << invalidDateTime();
+ QTest::newRow("broken-terminator")
+ << QStringLiteral("2018 wilful long working block relief 12-19T21:09 cruel")
+ << QStringLiteral("yyyy wilful long working block relief MM-ddThh:mm cruel blurb encore flux")
+ << invalidDateTime();
}
void tst_QDateTime::fromStringStringFormat()
diff --git a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
index 0196dd2d23..c21d0afacb 100644
--- a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
+++ b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
@@ -55,6 +55,8 @@ private slots:
void testCbrtFloat();
void cpp11();
void quadraticEquation();
+ void streamInOut_data();
+ void streamInOut();
};
void tst_QEasingCurve::type()
@@ -879,5 +881,36 @@ void tst_QEasingCurve::quadraticEquation() {
}
}
+void tst_QEasingCurve::streamInOut_data()
+{
+ QTest::addColumn<int>("version");
+ QTest::addColumn<bool>("equality");
+
+ QTest::newRow("5.11") << int(QDataStream::Qt_5_11) << false;
+ QTest::newRow("5.13") << int(QDataStream::Qt_5_13) << true;
+}
+
+void tst_QEasingCurve::streamInOut()
+{
+ QFETCH(int, version);
+ QFETCH(bool, equality);
+
+ QEasingCurve orig;
+ orig.addCubicBezierSegment(QPointF(0.43, 0.0025), QPointF(0.38, 0.51), QPointF(0.57, 0.99));
+
+ QEasingCurve copy;
+
+ QByteArray data;
+ QDataStream dsw(&data,QIODevice::WriteOnly);
+ QDataStream dsr(&data,QIODevice::ReadOnly);
+
+ dsw.setVersion(version);
+ dsr.setVersion(version);
+ dsw << orig;
+ dsr >> copy;
+
+ QCOMPARE(copy == orig, equality);
+}
+
QTEST_MAIN(tst_QEasingCurve)
#include "tst_qeasingcurve.moc"
diff --git a/tests/auto/corelib/tools/qlocale/syslocaleapp/syslocaleapp.pro b/tests/auto/corelib/tools/qlocale/syslocaleapp/syslocaleapp.pro
index b61f51d53a..3e283c05a4 100644
--- a/tests/auto/corelib/tools/qlocale/syslocaleapp/syslocaleapp.pro
+++ b/tests/auto/corelib/tools/qlocale/syslocaleapp/syslocaleapp.pro
@@ -1,8 +1,7 @@
SOURCES += syslocaleapp.cpp
DESTDIR = ./
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
QT = core
diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
index ff36beadcb..0b41af3371 100644
--- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
@@ -84,6 +84,8 @@ private slots:
void matchingLocales();
void stringToDouble_data();
void stringToDouble();
+ void stringToFloat_data();
+ void stringToFloat();
void doubleToString_data();
void doubleToString();
void strtod_data();
@@ -160,6 +162,17 @@ private:
QString m_sysapp;
QStringList cleanEnv;
bool europeanTimeZone;
+ void toReal_data();
+
+ class TransientLocale
+ {
+ const int m_category;
+ const char *const m_prior;
+ public:
+ TransientLocale(int category, const char *locale)
+ : m_category(category), m_prior(setlocale(category, locale)) {}
+ ~TransientLocale() { setlocale(m_category, m_prior); }
+ };
};
tst_QLocale::tst_QLocale()
@@ -741,7 +754,7 @@ void tst_QLocale::unixLocaleName()
QCOMPARE(locale.name(), expect);
}
-void tst_QLocale::stringToDouble_data()
+void tst_QLocale::toReal_data()
{
QTest::addColumn<QString>("locale_name");
QTest::addColumn<QString>("num_str");
@@ -754,6 +767,8 @@ void tst_QLocale::stringToDouble_data()
QTest::newRow("C 1.234e-10") << QString("C") << QString("1.234e-10") << true << 1.234e-10;
QTest::newRow("C 1.234E10") << QString("C") << QString("1.234E10") << true << 1.234e10;
QTest::newRow("C 1e10") << QString("C") << QString("1e10") << true << 1.0e10;
+ QTest::newRow("C 1e310") << QString("C") << QString("1e310") << false << std::numeric_limits<double>::infinity();
+ QTest::newRow("C 1E310") << QString("C") << QString("1E310") << false << std::numeric_limits<double>::infinity();
QTest::newRow("C 1") << QString("C") << QString(" 1") << true << 1.0;
QTest::newRow("C 1") << QString("C") << QString(" 1") << true << 1.0;
QTest::newRow("C 1 ") << QString("C") << QString("1 ") << true << 1.0;
@@ -863,9 +878,35 @@ void tst_QLocale::stringToDouble_data()
QTest::newRow("de_DE 9.876543,0e--2") << QString("de_DE") << QString("9.876543,0e")+QChar(8722)+QString("2") << false << 0.0;
}
+void tst_QLocale::stringToDouble_data()
+{
+ toReal_data();
+ if (std::numeric_limits<double>::has_infinity) {
+ double huge = std::numeric_limits<double>::infinity();
+ QTest::newRow("C inf") << QString("C") << QString("inf") << true << huge;
+ QTest::newRow("C +inf") << QString("C") << QString("+inf") << true << +huge;
+ QTest::newRow("C -inf") << QString("C") << QString("-inf") << true << -huge;
+ // Overflow:
+ QTest::newRow("C huge") << QString("C") << QString("2e308") << false << huge;
+ QTest::newRow("C -huge") << QString("C") << QString("-2e308") << false << -huge;
+ }
+ if (std::numeric_limits<double>::has_quiet_NaN)
+ QTest::newRow("C qnan") << QString("C") << QString("NaN") << true << std::numeric_limits<double>::quiet_NaN();
+
+ // In range (but outside float's range):
+ QTest::newRow("C big") << QString("C") << QString("3.5e38") << true << 3.5e38;
+ QTest::newRow("C -big") << QString("C") << QString("-3.5e38") << true << -3.5e38;
+ QTest::newRow("C small") << QString("C") << QString("1e-45") << true << 1e-45;
+ QTest::newRow("C -small") << QString("C") << QString("-1e-45") << true << -1e-45;
+
+ // Underflow:
+ QTest::newRow("C tiny") << QString("C") << QString("2e-324") << false << 0.;
+ QTest::newRow("C -tiny") << QString("C") << QString("-2e-324") << false << 0.;
+}
+
void tst_QLocale::stringToDouble()
{
-#define MY_DOUBLE_EPSILON (2.22045e-16)
+#define MY_DOUBLE_EPSILON (2.22045e-16) // 1/2^{52}; double has a 53-bit mantissa
QFETCH(QString, locale_name);
QFETCH(QString, num_str);
@@ -880,27 +921,120 @@ void tst_QLocale::stringToDouble()
double d = locale.toDouble(num_str, &ok);
QCOMPARE(ok, good);
- char *currentLocale = setlocale(LC_ALL, "de_DE");
- QCOMPARE(locale.toDouble(num_str, &ok), d); // make sure result is independent of locale
- QCOMPARE(ok, good);
- setlocale(LC_ALL, currentLocale);
+ {
+ // Make sure result is independent of locale:
+ TransientLocale ignoreme(LC_ALL, "ar_SA");
+ QCOMPARE(locale.toDouble(num_str, &ok), d);
+ QCOMPARE(ok, good);
+ }
- if (ok) {
- double diff = d - num;
- if (diff < 0)
- diff = -diff;
- QVERIFY(diff <= MY_DOUBLE_EPSILON);
+ if (ok || std::isinf(num)) {
+ // First use fuzzy-compare, then a more precise check:
+ QCOMPARE(d, num);
+ if (std::isfinite(num)) {
+ double diff = d > num ? d - num : num - d;
+ QVERIFY(diff <= MY_DOUBLE_EPSILON);
+ }
}
d = locale.toDouble(num_strRef, &ok);
QCOMPARE(ok, good);
- if (ok) {
- double diff = d - num;
- if (diff < 0)
- diff = -diff;
- QVERIFY(diff <= MY_DOUBLE_EPSILON);
+ if (ok || std::isinf(num)) {
+ QCOMPARE(d, num);
+ if (std::isfinite(num)) {
+ double diff = d > num ? d - num : num - d;
+ QVERIFY(diff <= MY_DOUBLE_EPSILON);
+ }
+ }
+#undef MY_DOUBLE_EPSILON
+}
+
+void tst_QLocale::stringToFloat_data()
+{
+ using Bounds = std::numeric_limits<float>;
+ toReal_data();
+ const QString C(QStringLiteral("C"));
+ if (Bounds::has_infinity) {
+ double huge = Bounds::infinity();
+ QTest::newRow("C inf") << C << QString("inf") << true << huge;
+ QTest::newRow("C +inf") << C << QString("+inf") << true << +huge;
+ QTest::newRow("C -inf") << C << QString("-inf") << true << -huge;
+ // Overflow float, but not double:
+ QTest::newRow("C big") << C << QString("3.5e38") << false << huge;
+ QTest::newRow("C -big") << C << QString("-3.5e38") << false << -huge;
+ // Overflow double, too:
+ QTest::newRow("C huge") << C << QString("2e308") << false << huge;
+ QTest::newRow("C -huge") << C << QString("-2e308") << false << -huge;
+ }
+ if (Bounds::has_quiet_NaN)
+ QTest::newRow("C qnan") << C << QString("NaN") << true << double(Bounds::quiet_NaN());
+
+ // Minimal float: shouldn't underflow
+ QTest::newRow("C float min")
+ << C << QLocale::c().toString(Bounds::denorm_min()) << true << double(Bounds::denorm_min());
+ QTest::newRow("C float -min")
+ << C << QLocale::c().toString(-Bounds::denorm_min()) << true << -double(Bounds::denorm_min());
+
+ // Underflow float, but not double:
+ QTest::newRow("C small") << C << QString("7e-46") << false << 0.;
+ QTest::newRow("C -small") << C << QString("-7e-46") << false << 0.;
+ using Double = std::numeric_limits<double>;
+ QTest::newRow("C double min")
+ << C << QLocale::c().toString(Double::denorm_min()) << false << 0.0;
+ QTest::newRow("C double -min")
+ << C << QLocale::c().toString(-Double::denorm_min()) << false << 0.0;
+
+ // Underflow double, too:
+ QTest::newRow("C tiny") << C << QString("2e-324") << false << 0.;
+ QTest::newRow("C -tiny") << C << QString("-2e-324") << false << 0.;
+}
+
+void tst_QLocale::stringToFloat()
+{
+#define MY_FLOAT_EPSILON (2.384e-7) // 1/2^{22}; float has a 23-bit mantissa
+
+ QFETCH(QString, locale_name);
+ QFETCH(QString, num_str);
+ QFETCH(bool, good);
+ QFETCH(double, num);
+ QStringRef num_strRef = num_str.leftRef(-1);
+ float fnum = num;
+
+ QLocale locale(locale_name);
+ QCOMPARE(locale.name(), locale_name);
+
+ bool ok;
+ float f = locale.toFloat(num_str, &ok);
+ QCOMPARE(ok, good);
+
+ {
+ // Make sure result is independent of locale:
+ TransientLocale ignoreme(LC_ALL, "ar_SA");
+ QCOMPARE(locale.toFloat(num_str, &ok), f);
+ QCOMPARE(ok, good);
+ }
+
+ if (ok || std::isinf(fnum)) {
+ // First use fuzzy-compare, then a more precise check:
+ QCOMPARE(f, fnum);
+ if (std::isfinite(fnum)) {
+ float diff = f > fnum ? f - fnum : fnum - f;
+ QVERIFY(diff <= MY_FLOAT_EPSILON);
+ }
+ }
+
+ f = locale.toFloat(num_strRef, &ok);
+ QCOMPARE(ok, good);
+
+ if (ok || std::isinf(fnum)) {
+ QCOMPARE(f, fnum);
+ if (std::isfinite(fnum)) {
+ float diff = f > fnum ? f - fnum : fnum - f;
+ QVERIFY(diff <= MY_FLOAT_EPSILON);
+ }
}
+#undef MY_FLOAT_EPSILON
}
void tst_QLocale::doubleToString_data()
@@ -1013,9 +1147,8 @@ void tst_QLocale::doubleToString()
const QLocale locale(locale_name);
QCOMPARE(locale.toString(num, mode, precision), num_str);
- char *currentLocale = setlocale(LC_ALL, "de_DE");
+ TransientLocale ignoreme(LC_ALL, "de_DE");
QCOMPARE(locale.toString(num, mode, precision), num_str);
- setlocale(LC_ALL, currentLocale);
}
void tst_QLocale::strtod_data()
diff --git a/tests/auto/corelib/tools/qpair/qpair.pro b/tests/auto/corelib/tools/qpair/qpair.pro
index 659be887d3..d684a24a57 100644
--- a/tests/auto/corelib/tools/qpair/qpair.pro
+++ b/tests/auto/corelib/tools/qpair/qpair.pro
@@ -2,3 +2,6 @@ CONFIG += testcase
TARGET = tst_qpair
QT = core testlib
SOURCES = tst_qpair.cpp
+
+# Force C++17 if available (needed due to Q_COMPILER_DEDUCTION_GUIDES)
+contains(QT_CONFIG, c++1z): CONFIG += c++1z
diff --git a/tests/auto/corelib/tools/qpair/tst_qpair.cpp b/tests/auto/corelib/tools/qpair/tst_qpair.cpp
index 1d5f7536c8..3c972329bc 100644
--- a/tests/auto/corelib/tools/qpair/tst_qpair.cpp
+++ b/tests/auto/corelib/tools/qpair/tst_qpair.cpp
@@ -39,10 +39,11 @@ private Q_SLOTS:
void testConstexpr();
void testConversions();
void taskQTBUG_48780_pairContainingCArray();
+ void testDeducationRules();
};
-class C { char _[4]; };
-class M { char _[4]; };
+class C { C() {} char _[4]; };
+class M { M() {} char _[4]; };
class P { char _[4]; };
QT_BEGIN_NAMESPACE
@@ -202,5 +203,30 @@ void tst_QPair::taskQTBUG_48780_pairContainingCArray()
Q_UNUSED(pair);
}
+void tst_QPair::testDeducationRules()
+{
+#if defined(__cpp_deduction_guides) && __cpp_deduction_guides >= 201606
+ QPair p1{1, 2};
+ static_assert(std::is_same<decltype(p1)::first_type, decltype(1)>::value);
+ static_assert(std::is_same<decltype(p1)::second_type, decltype(2)>::value);
+ QCOMPARE(p1.first, 1);
+ QCOMPARE(p1.second, 2);
+
+ QPair p2{QString("string"), 2};
+ static_assert(std::is_same<decltype(p2)::first_type, QString>::value);
+ static_assert(std::is_same<decltype(p2)::second_type, decltype(2)>::value);
+ QCOMPARE(p2.first, "string");
+ QCOMPARE(p2.second, 2);
+
+ QPair p3(p2);
+ static_assert(std::is_same<decltype(p3)::first_type, decltype(p2)::first_type>::value);
+ static_assert(std::is_same<decltype(p3)::second_type, decltype(p2)::second_type>::value);
+ QCOMPARE(p3.first, "string");
+ QCOMPARE(p3.second, 2);
+#else
+ QSKIP("Unsupported");
+#endif
+}
+
QTEST_APPLESS_MAIN(tst_QPair)
#include "tst_qpair.moc"
diff --git a/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp b/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp
index f520e9742a..c02756d76a 100644
--- a/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp
+++ b/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp
@@ -2108,12 +2108,16 @@ void tst_QRegularExpression::threadSafety_data()
QTest::addRow("pattern%d", ++i) << "ab.*cd" << subject;
}
+ // pcre2 does not support JIT for winrt. As this test row takes a long time without JIT we skip
+ // it for winrt as it might time out in COIN.
+#ifndef Q_OS_WINRT
{
QString subject = "ab";
subject.append(QString(512*1024, QLatin1Char('x')));
subject.append("c");
QTest::addRow("pattern%d", ++i) << "ab.*cd" << subject;
}
+#endif // Q_OS_WINRT
{
QString subject = "ab";
@@ -2131,11 +2135,12 @@ void tst_QRegularExpression::threadSafety()
QFETCH(QString, pattern);
QFETCH(QString, subject);
+ QElapsedTimer time;
+ time.start();
static const int THREAD_SAFETY_ITERATIONS = 50;
-
const int threadCount = qMax(QThread::idealThreadCount(), 4);
- for (int threadSafetyIteration = 0; threadSafetyIteration < THREAD_SAFETY_ITERATIONS; ++threadSafetyIteration) {
+ for (int threadSafetyIteration = 0; threadSafetyIteration < THREAD_SAFETY_ITERATIONS && time.elapsed() < 2000; ++threadSafetyIteration) {
QRegularExpression re(pattern);
QVector<MatcherThread *> threads;
@@ -2164,47 +2169,47 @@ void tst_QRegularExpression::wildcard_data()
addRow("*.html", "test.html", 0);
addRow("*.html", "test.htm", -1);
- addRow("bar*", "foobarbaz", 3);
+ addRow("*bar*", "foobarbaz", 0);
addRow("*", "Qt Rocks!", 0);
- addRow(".html", "test.html", 4);
- addRow(".h", "test.cpp", -1);
- addRow(".???l", "test.html", 4);
- addRow("?", "test.html", 0);
- addRow("?m", "test.html", 6);
- addRow("[*]", "test.html", -1);
- addRow("[?]","test.html", -1);
- addRow("[?]","test.h?ml", 6);
- addRow("[[]","test.h[ml", 6);
- addRow("[]]","test.h]ml", 6);
- addRow(".h[a-z]ml", "test.html", 4);
- addRow(".h[A-Z]ml", "test.html", -1);
- addRow(".h[A-Z]ml", "test.hTml", 4);
- addRow(".h[!A-Z]ml", "test.hTml", -1);
- addRow(".h[!A-Z]ml", "test.html", 4);
- addRow(".h[!T]ml", "test.hTml", -1);
- addRow(".h[!T]ml", "test.html", 4);
- addRow(".h[!T]m[!L]", "test.htmL", -1);
- addRow(".h[!T]m[!L]", "test.html", 4);
- addRow(".h[][!]", "test.h]ml", 4);
- addRow(".h[][!]", "test.h[ml", 4);
- addRow(".h[][!]", "test.h!ml", 4);
-
- addRow("foo/*/bar", "Qt/foo/baz/bar", 3);
- addRow("foo/(*)/bar", "Qt/foo/baz/bar", -1);
- addRow("foo/(*)/bar", "Qt/foo/(baz)/bar", 3);
- addRow("foo/?/bar", "Qt/foo/Q/bar", 3);
- addRow("foo/?/bar", "Qt/foo/Qt/bar", -1);
- addRow("foo/(?)/bar", "Qt/foo/Q/bar", -1);
- addRow("foo/(?)/bar", "Qt/foo/(Q)/bar", 3);
+ addRow("*.html", "test.html", 0);
+ addRow("*.h", "test.cpp", -1);
+ addRow("*.???l", "test.html", 0);
+ addRow("*?", "test.html", 0);
+ addRow("*?ml", "test.html", 0);
+ addRow("*[*]", "test.html", -1);
+ addRow("*[?]","test.html", -1);
+ addRow("*[?]ml","test.h?ml", 0);
+ addRow("*[[]ml","test.h[ml", 0);
+ addRow("*[]]ml","test.h]ml", 0);
+ addRow("*.h[a-z]ml", "test.html", 0);
+ addRow("*.h[A-Z]ml", "test.html", -1);
+ addRow("*.h[A-Z]ml", "test.hTml", 0);
+ addRow("*.h[!A-Z]ml", "test.hTml", -1);
+ addRow("*.h[!A-Z]ml", "test.html", 0);
+ addRow("*.h[!T]ml", "test.hTml", -1);
+ addRow("*.h[!T]ml", "test.html", 0);
+ addRow("*.h[!T]m[!L]", "test.htmL", -1);
+ addRow("*.h[!T]m[!L]", "test.html", 0);
+ addRow("*.h[][!]ml", "test.h]ml", 0);
+ addRow("*.h[][!]ml", "test.h[ml", 0);
+ addRow("*.h[][!]ml", "test.h!ml", 0);
+
+ addRow("foo/*/bar", "foo/baz/bar", 0);
+ addRow("foo/(*)/bar", "foo/baz/bar", -1);
+ addRow("foo/(*)/bar", "foo/(baz)/bar", 0);
+ addRow("foo/?/bar", "foo/Q/bar", 0);
+ addRow("foo/?/bar", "foo/Qt/bar", -1);
+ addRow("foo/(?)/bar", "foo/Q/bar", -1);
+ addRow("foo/(?)/bar", "foo/(Q)/bar", 0);
#ifdef Q_OS_WIN
- addRow("foo\\*\\bar", "Qt\\foo\\baz\\bar", 3);
- addRow("foo\\(*)\\bar", "Qt\\foo\\baz\\bar", -1);
- addRow("foo\\(*)\\bar", "Qt\\foo\\(baz)\\bar", 3);
- addRow("foo\\?\\bar", "Qt\\foo\\Q\\bar", 3);
- addRow("foo\\?\\bar", "Qt\\foo\\Qt\\bar", -1);
- addRow("foo\\(?)\\bar", "Qt\\foo\\Q\\bar", -1);
- addRow("foo\\(?)\\bar", "Qt\\foo\\(Q)\\bar", 3);
+ addRow("foo\\*\\bar", "foo\\baz\\bar", 0);
+ addRow("foo\\(*)\\bar", "foo\\baz\\bar", -1);
+ addRow("foo\\(*)\\bar", "foo\\(baz)\\bar", 0);
+ addRow("foo\\?\\bar", "foo\\Q\\bar", 0);
+ addRow("foo\\?\\bar", "foo\\Qt\\bar", -1);
+ addRow("foo\\(?)\\bar", "foo\\Q\\bar", -1);
+ addRow("foo\\(?)\\bar", "foo\\(Q)\\bar", 0);
#endif
}
diff --git a/tests/auto/corelib/tools/qscopedvaluerollback/tst_qscopedvaluerollback.cpp b/tests/auto/corelib/tools/qscopedvaluerollback/tst_qscopedvaluerollback.cpp
index 656dd6a6e3..9b607db608 100644
--- a/tests/auto/corelib/tools/qscopedvaluerollback/tst_qscopedvaluerollback.cpp
+++ b/tests/auto/corelib/tools/qscopedvaluerollback/tst_qscopedvaluerollback.cpp
@@ -46,6 +46,7 @@ private Q_SLOTS:
void rollbackToPreviousCommit();
void exceptions();
void earlyExitScope();
+ void moveOnly();
private:
void earlyExitScope_helper(int exitpoint, int &member);
};
@@ -190,5 +191,17 @@ void tst_QScopedValueRollback::earlyExitScope_helper(int exitpoint, int& member)
r.commit();
}
+void tst_QScopedValueRollback::moveOnly()
+{
+ std::unique_ptr<int> uniquePtr;
+ std::unique_ptr<int> newVal(new int(5));
+ QVERIFY(!uniquePtr);
+ {
+ QScopedValueRollback<std::unique_ptr<int>> r(uniquePtr, std::move(newVal));
+ QVERIFY(uniquePtr);
+ }
+ QVERIFY(!uniquePtr);
+}
+
QTEST_MAIN(tst_QScopedValueRollback)
#include "tst_qscopedvaluerollback.moc"
diff --git a/tests/auto/corelib/tools/qsharedpointer/externaltests.cpp b/tests/auto/corelib/tools/qsharedpointer/externaltests.cpp
index 4dc620e6ab..d1bb89f549 100644
--- a/tests/auto/corelib/tools/qsharedpointer/externaltests.cpp
+++ b/tests/auto/corelib/tools/qsharedpointer/externaltests.cpp
@@ -470,9 +470,8 @@ namespace QTest {
"TEMPLATE = app\n"
"\n"
"TARGET = externaltest\n"
- "CONFIG -= app_bundle\n" // for the Mac
"CONFIG -= debug_and_release\n"
- "CONFIG += console\n"
+ "CONFIG += cmdline\n"
"DESTDIR = .\n"
"OBJECTS_DIR = .\n"
"UI_DIR = .\n"
diff --git a/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
index ade9c5e754..19b2aa02f3 100644
--- a/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
+++ b/tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp
@@ -89,9 +89,7 @@ private slots:
#endif
void constCorrectness();
void customDeleter();
-#ifdef Q_COMPILER_LAMBDA
void lambdaCustomDeleter();
-#endif
void creating();
void creatingCvQualified();
void creatingVariadic();
@@ -573,10 +571,10 @@ void tst_QSharedPointer::useOfForwardDeclared()
// move assignment:
QSharedPointer<ForwardDeclared> sp4;
- sp4 = qMove(sp);
+ sp4 = std::move(sp);
// and move constuction:
- QSharedPointer<ForwardDeclared> sp5 = qMove(sp2);
+ QSharedPointer<ForwardDeclared> sp5 = std::move(sp2);
// swapping:
sp4.swap(sp3);
@@ -1670,7 +1668,6 @@ void tst_QSharedPointer::customDeleter()
safetyCheck();
}
-#ifdef Q_COMPILER_LAMBDA
// The compiler needs to be in C++11 mode and to support lambdas
void tst_QSharedPointer::lambdaCustomDeleter()
{
@@ -1698,7 +1695,6 @@ void tst_QSharedPointer::lambdaCustomDeleter()
}
safetyCheck();
}
-#endif
void customQObjectDeleterFn(QObject *obj)
{
@@ -2233,11 +2229,9 @@ void tst_QSharedPointer::invalidConstructs_data()
<< &QTest::QExternalTest::tryCompileFail
<< "struct IncompatibleCustomDeleter { void operator()(int *); };\n"
"QSharedPointer<Data> ptr(new Data, IncompatibleCustomDeleter());\n";
-#ifdef Q_COMPILER_LAMBDA
QTest::newRow("incompatible-custom-lambda-deleter")
<< &QTest::QExternalTest::tryCompileFail
<< "QSharedPointer<Data> ptr(new Data, [](int *) {});\n";
-#endif
}
void tst_QSharedPointer::invalidConstructs()
diff --git a/tests/auto/corelib/tools/qstring/tst_qstring.cpp b/tests/auto/corelib/tools/qstring/tst_qstring.cpp
index f429bda804..79f5a8c46d 100644
--- a/tests/auto/corelib/tools/qstring/tst_qstring.cpp
+++ b/tests/auto/corelib/tools/qstring/tst_qstring.cpp
@@ -319,10 +319,18 @@ class tst_QString : public QObject
template <typename ArgType>
void insert_impl() const { insert_impl<ArgType, QString &(QString::*)(int, const ArgType&)>(); }
void insert_data(bool emptyIsNoop = false);
+
+ class TransientDefaultLocale
+ {
+ const QLocale prior; // Records what *was* the default before we set it.
+ public:
+ TransientDefaultLocale(const QLocale &transient) { revise(transient); }
+ void revise(const QLocale &transient) { QLocale::setDefault(transient); }
+ ~TransientDefaultLocale() { QLocale::setDefault(prior); }
+ };
+
public:
tst_QString();
-public slots:
- void cleanup();
private slots:
void fromStdString();
void toStdString();
@@ -474,8 +482,8 @@ private slots:
void indexOf2();
void indexOf3_data();
// void indexOf3();
- void sprintf();
- void sprintfS();
+ void asprintf();
+ void asprintfS();
void fill();
void truncate();
void chop_data();
@@ -570,7 +578,7 @@ private slots:
#ifdef QT_USE_ICU
void toUpperLower_icu();
#endif
-#if !defined(QT_NO_UNICODE_LITERAL) && defined(Q_COMPILER_LAMBDA)
+#if !defined(QT_NO_UNICODE_LITERAL)
void literals();
#endif
void eightBitLiterals_data();
@@ -604,7 +612,7 @@ QString verifyZeroTermination(const QString &str)
int strSize = str.size();
QChar strTerminator = str.constData()[strSize];
if (QChar('\0') != strTerminator)
- return QString::fromAscii(
+ return QString::fromLatin1(
"*** Result ('%1') not null-terminated: 0x%2 ***").arg(str)
.arg(strTerminator.unicode(), 4, 16, QChar('0'));
@@ -617,11 +625,11 @@ QString verifyZeroTermination(const QString &str)
const_cast<QChar *>(strData)[strSize] = QChar('x');
if (QChar('x') != str.constData()[strSize]) {
- return QString::fromAscii("*** Failed to replace null-terminator in "
+ return QString::fromLatin1("*** Failed to replace null-terminator in "
"result ('%1') ***").arg(str);
}
if (str != strCopy) {
- return QString::fromAscii( "*** Result ('%1') differs from its copy "
+ return QString::fromLatin1( "*** Result ('%1') differs from its copy "
"after null-terminator was replaced ***").arg(str);
}
const_cast<QChar *>(strData)[strSize] = QChar('\0'); // Restore sanity
@@ -654,11 +662,6 @@ tst_QString::tst_QString()
QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO 8859-1"));
}
-void tst_QString::cleanup()
-{
- QLocale::setDefault(QString("C"));
-}
-
void tst_QString::remove_uint_uint_data()
{
replace_uint_uint_data();
@@ -1072,9 +1075,8 @@ void tst_QString::isNull()
QString a;
QVERIFY(a.isNull());
- const char *zero = 0;
- a.sprintf( zero );
- QVERIFY(!a.isNull());
+ const char *zero = nullptr;
+ QVERIFY(!QString::asprintf(zero).isNull());
}
QT_WARNING_POP
@@ -1260,75 +1262,66 @@ static inline const void *ptrValue(quintptr v)
return reinterpret_cast<const void *>(v);
}
-void tst_QString::sprintf()
+void tst_QString::asprintf()
{
QString a;
- a.sprintf("COMPARE");
- QCOMPARE(a, QLatin1String("COMPARE"));
- a.sprintf("%%%d",1);
- QCOMPARE(a, QLatin1String("%1"));
- QCOMPARE(a.sprintf("X%dY",2), QLatin1String("X2Y"));
- QCOMPARE(a.sprintf("X%9iY", 50000 ), QLatin1String("X 50000Y"));
- QCOMPARE(a.sprintf("X%-9sY","hello"), QLatin1String("Xhello Y"));
- QCOMPARE(a.sprintf("X%-9iY", 50000 ), QLatin1String("X50000 Y"));
- QCOMPARE(a.sprintf("%lf", 1.23), QLatin1String("1.230000"));
- QCOMPARE(a.sprintf("%lf", 1.23456789), QLatin1String("1.234568"));
- QCOMPARE(a.sprintf("%p", ptrValue(0xbfffd350)), QLatin1String("0xbfffd350"));
- QCOMPARE(a.sprintf("%p", ptrValue(0)), QLatin1String("0x0"));
+ QCOMPARE(QString::asprintf("COMPARE"), QLatin1String("COMPARE"));
+ QCOMPARE(QString::asprintf("%%%d", 1), QLatin1String("%1"));
+ QCOMPARE(QString::asprintf("X%dY",2), QLatin1String("X2Y"));
+ QCOMPARE(QString::asprintf("X%9iY", 50000 ), QLatin1String("X 50000Y"));
+ QCOMPARE(QString::asprintf("X%-9sY","hello"), QLatin1String("Xhello Y"));
+ QCOMPARE(QString::asprintf("X%-9iY", 50000 ), QLatin1String("X50000 Y"));
+ QCOMPARE(QString::asprintf("%lf", 1.23), QLatin1String("1.230000"));
+ QCOMPARE(QString::asprintf("%lf", 1.23456789), QLatin1String("1.234568"));
+ QCOMPARE(QString::asprintf("%p", ptrValue(0xbfffd350)), QLatin1String("0xbfffd350"));
+ QCOMPARE(QString::asprintf("%p", ptrValue(0)), QLatin1String("0x0"));
int i = 6;
long l = -2;
float f = 4.023f;
- QString S1;
- S1.sprintf("%d %ld %f",i,l,f);
- QCOMPARE(S1, QLatin1String("6 -2 4.023000"));
+ QCOMPARE(QString::asprintf("%d %ld %f", i, l, f), QLatin1String("6 -2 4.023000"));
double d = -514.25683;
- S1.sprintf("%f",d);
- QCOMPARE(S1, QLatin1String("-514.256830"));
+ QCOMPARE(QString::asprintf("%f", d), QLatin1String("-514.256830"));
}
-void tst_QString::sprintfS()
+void tst_QString::asprintfS()
{
- QString a;
- QCOMPARE(a.sprintf("%.3s", "Hello" ), QLatin1String("Hel"));
- QCOMPARE(a.sprintf("%10.3s", "Hello" ), QLatin1String(" Hel"));
- QCOMPARE(a.sprintf("%.10s", "Hello" ), QLatin1String("Hello"));
- QCOMPARE(a.sprintf("%10.10s", "Hello" ), QLatin1String(" Hello"));
- QCOMPARE(a.sprintf("%-10.10s", "Hello" ), QLatin1String("Hello "));
- QCOMPARE(a.sprintf("%-10.3s", "Hello" ), QLatin1String("Hel "));
- QCOMPARE(a.sprintf("%-5.5s", "Hello" ), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%.3s", "Hello" ), QLatin1String("Hel"));
+ QCOMPARE(QString::asprintf("%10.3s", "Hello" ), QLatin1String(" Hel"));
+ QCOMPARE(QString::asprintf("%.10s", "Hello" ), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%10.10s", "Hello" ), QLatin1String(" Hello"));
+ QCOMPARE(QString::asprintf("%-10.10s", "Hello" ), QLatin1String("Hello "));
+ QCOMPARE(QString::asprintf("%-10.3s", "Hello" ), QLatin1String("Hel "));
+ QCOMPARE(QString::asprintf("%-5.5s", "Hello" ), QLatin1String("Hello"));
// Check utf8 conversion for %s
- QCOMPARE(a.sprintf("%s", "\303\266\303\244\303\274\303\226\303\204\303\234\303\270\303\246\303\245\303\230\303\206\303\205"), QString::fromLatin1("\366\344\374\326\304\334\370\346\345\330\306\305"));
+ QCOMPARE(QString::asprintf("%s", "\303\266\303\244\303\274\303\226\303\204\303\234\303\270\303\246\303\245\303\230\303\206\303\205"), QString::fromLatin1("\366\344\374\326\304\334\370\346\345\330\306\305"));
int n1;
- a.sprintf("%s%n%s", "hello", &n1, "goodbye");
+ QCOMPARE(QString::asprintf("%s%n%s", "hello", &n1, "goodbye"), QString("hellogoodbye"));
QCOMPARE(n1, 5);
- QCOMPARE(a, QString("hellogoodbye"));
qlonglong n2;
- a.sprintf("%s%s%lln%s", "foo", "bar", &n2, "whiz");
+ QCOMPARE(QString::asprintf("%s%s%lln%s", "foo", "bar", &n2, "whiz"), QString("foobarwhiz"));
QCOMPARE((int)n2, 6);
- QCOMPARE(a, QString("foobarwhiz"));
{ // %ls
- QCOMPARE(a.sprintf("%.3ls", qUtf16Printable("Hello")), QLatin1String("Hel"));
- QCOMPARE(a.sprintf("%10.3ls", qUtf16Printable("Hello")), QLatin1String(" Hel"));
- QCOMPARE(a.sprintf("%.10ls", qUtf16Printable("Hello")), QLatin1String("Hello"));
- QCOMPARE(a.sprintf("%10.10ls", qUtf16Printable("Hello")), QLatin1String(" Hello"));
- QCOMPARE(a.sprintf("%-10.10ls", qUtf16Printable("Hello")), QLatin1String("Hello "));
- QCOMPARE(a.sprintf("%-10.3ls", qUtf16Printable("Hello")), QLatin1String("Hel "));
- QCOMPARE(a.sprintf("%-5.5ls", qUtf16Printable("Hello")), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%.3ls", qUtf16Printable("Hello")), QLatin1String("Hel"));
+ QCOMPARE(QString::asprintf("%10.3ls", qUtf16Printable("Hello")), QLatin1String(" Hel"));
+ QCOMPARE(QString::asprintf("%.10ls", qUtf16Printable("Hello")), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%10.10ls", qUtf16Printable("Hello")), QLatin1String(" Hello"));
+ QCOMPARE(QString::asprintf("%-10.10ls", qUtf16Printable("Hello")), QLatin1String("Hello "));
+ QCOMPARE(QString::asprintf("%-10.3ls", qUtf16Printable("Hello")), QLatin1String("Hel "));
+ QCOMPARE(QString::asprintf("%-5.5ls", qUtf16Printable("Hello")), QLatin1String("Hello"));
// Check utf16 is preserved for %ls
- QCOMPARE(a.sprintf("%ls",
+ QCOMPARE(QString::asprintf("%ls",
qUtf16Printable("\303\266\303\244\303\274\303\226\303\204\303\234\303\270\303\246\303\245\303\230\303\206\303\205")),
QLatin1String("\366\344\374\326\304\334\370\346\345\330\306\305"));
int n;
- a.sprintf("%ls%n%s", qUtf16Printable("hello"), &n, "goodbye");
+ QCOMPARE(QString::asprintf("%ls%n%s", qUtf16Printable("hello"), &n, "goodbye"), QLatin1String("hellogoodbye"));
QCOMPARE(n, 5);
- QCOMPARE(a, QLatin1String("hellogoodbye"));
}
}
@@ -2209,12 +2202,12 @@ void tst_QString::toUpper()
// call rvalue-ref while shared (the original mustn't change)
QString copy = s;
- QCOMPARE(qMove(copy).toUpper(), QString("GROSSSTRASSE"));
+ QCOMPARE(std::move(copy).toUpper(), QString("GROSSSTRASSE"));
QCOMPARE(s, QString::fromUtf8("Gro\xc3\x9fstra\xc3\x9f""e"));
// call rvalue-ref version on detached case
copy.clear();
- QCOMPARE(qMove(s).toUpper(), QString("GROSSSTRASSE"));
+ QCOMPARE(std::move(s).toUpper(), QString("GROSSSTRASSE"));
}
QString lower, upper;
@@ -2424,11 +2417,11 @@ void tst_QString::trimmed()
QCOMPARE(a.trimmed(), QLatin1String("a"));
a="Text";
- QCOMPARE(qMove(a).trimmed(), QLatin1String("Text"));
+ QCOMPARE(std::move(a).trimmed(), QLatin1String("Text"));
a=" ";
- QCOMPARE(qMove(a).trimmed(), QLatin1String(""));
+ QCOMPARE(std::move(a).trimmed(), QLatin1String(""));
a=" a ";
- QCOMPARE(qMove(a).trimmed(), QLatin1String("a"));
+ QCOMPARE(std::move(a).trimmed(), QLatin1String("a"));
}
void tst_QString::simplified_data()
@@ -2483,13 +2476,13 @@ void tst_QString::simplified()
// without detaching:
QString copy1 = full;
- QCOMPARE(qMove(full).simplified(), simple);
+ QCOMPARE(std::move(full).simplified(), simple);
QCOMPARE(full, orig_full);
// force a detach
if (!full.isEmpty())
full[0] = full[0];
- QCOMPARE(qMove(full).simplified(), simple);
+ QCOMPARE(std::move(full).simplified(), simple);
}
void tst_QString::insert_data(bool emptyIsNoop)
@@ -3786,7 +3779,7 @@ void tst_QString::startsWith()
QVERIFY( !a.startsWith("C") );
QVERIFY( !a.startsWith("ABCDEF") );
QVERIFY( a.startsWith("") );
- QVERIFY( a.startsWith(QString::null) );
+ QVERIFY( a.startsWith(QString()) );
QVERIFY( a.startsWith('A') );
QVERIFY( a.startsWith(QLatin1Char('A')) );
QVERIFY( a.startsWith(QChar('A')) );
@@ -3813,7 +3806,7 @@ void tst_QString::startsWith()
QVERIFY( !a.startsWith("c", Qt::CaseInsensitive) );
QVERIFY( !a.startsWith("abcdef", Qt::CaseInsensitive) );
QVERIFY( a.startsWith("", Qt::CaseInsensitive) );
- QVERIFY( a.startsWith(QString::null, Qt::CaseInsensitive) );
+ QVERIFY( a.startsWith(QString(), Qt::CaseInsensitive) );
QVERIFY( a.startsWith('a', Qt::CaseInsensitive) );
QVERIFY( a.startsWith('A', Qt::CaseInsensitive) );
QVERIFY( a.startsWith(QLatin1Char('a'), Qt::CaseInsensitive) );
@@ -3852,7 +3845,7 @@ void tst_QString::startsWith()
a = "";
QVERIFY( a.startsWith("") );
- QVERIFY( a.startsWith(QString::null) );
+ QVERIFY( a.startsWith(QString()) );
QVERIFY( !a.startsWith("ABC") );
QVERIFY( a.startsWith(QLatin1String("")) );
@@ -3865,7 +3858,7 @@ void tst_QString::startsWith()
a = QString();
QVERIFY( !a.startsWith("") );
- QVERIFY( a.startsWith(QString::null) );
+ QVERIFY( a.startsWith(QString()) );
QVERIFY( !a.startsWith("ABC") );
QVERIFY( !a.startsWith(QLatin1String("")) );
@@ -3894,7 +3887,7 @@ void tst_QString::endsWith()
QVERIFY( !a.endsWith("C") );
QVERIFY( !a.endsWith("ABCDEF") );
QVERIFY( a.endsWith("") );
- QVERIFY( a.endsWith(QString::null) );
+ QVERIFY( a.endsWith(QString()) );
QVERIFY( a.endsWith('B') );
QVERIFY( a.endsWith(QLatin1Char('B')) );
QVERIFY( a.endsWith(QChar('B')) );
@@ -3921,7 +3914,7 @@ void tst_QString::endsWith()
QVERIFY( !a.endsWith("c", Qt::CaseInsensitive) );
QVERIFY( !a.endsWith("abcdef", Qt::CaseInsensitive) );
QVERIFY( a.endsWith("", Qt::CaseInsensitive) );
- QVERIFY( a.endsWith(QString::null, Qt::CaseInsensitive) );
+ QVERIFY( a.endsWith(QString(), Qt::CaseInsensitive) );
QVERIFY( a.endsWith('b', Qt::CaseInsensitive) );
QVERIFY( a.endsWith('B', Qt::CaseInsensitive) );
QVERIFY( a.endsWith(QLatin1Char('b'), Qt::CaseInsensitive) );
@@ -3963,7 +3956,7 @@ void tst_QString::endsWith()
a = "";
QVERIFY( a.endsWith("") );
- QVERIFY( a.endsWith(QString::null) );
+ QVERIFY( a.endsWith(QString()) );
QVERIFY( !a.endsWith("ABC") );
QVERIFY( !a.endsWith(QLatin1Char(0)) );
QVERIFY( !a.endsWith(QLatin1Char('x')) );
@@ -3975,7 +3968,7 @@ void tst_QString::endsWith()
a = QString();
QVERIFY( !a.endsWith("") );
- QVERIFY( a.endsWith(QString::null) );
+ QVERIFY( a.endsWith(QString()) );
QVERIFY( !a.endsWith("ABC") );
QVERIFY( !a.endsWith(QLatin1String("")) );
@@ -4531,7 +4524,7 @@ void tst_QString::toLatin1Roundtrip()
// try the rvalue version of toLatin1()
QString s = unicodesrc;
- QCOMPARE(qMove(s).toLatin1(), latin1);
+ QCOMPARE(std::move(s).toLatin1(), latin1);
// and verify that the moved-from object can still be used
s = "foo";
@@ -4750,7 +4743,7 @@ void tst_QString::arg()
is all messed up, because Qt Test itself uses QString::arg().
*/
- QLocale::setDefault(QString("de_DE"));
+ TransientDefaultLocale transient(QString("de_DE"));
QString s4( "[%0]" );
QString s5( "[%1]" );
@@ -4835,7 +4828,7 @@ void tst_QString::arg()
QCOMPARE( QString("%1").arg("hello", 10), QLatin1String(" hello") );
QCOMPARE( QString("%1%1").arg("hello"), QLatin1String("hellohello") );
QCOMPARE( QString("%2%1").arg("hello"), QLatin1String("%2hello") );
- QCOMPARE( QString("%1%1").arg(QString::null), QLatin1String("") );
+ QCOMPARE( QString("%1%1").arg(QString()), QLatin1String("") );
QCOMPARE( QString("%2%1").arg(""), QLatin1String("%2") );
QCOMPARE( QString("%2 %L1").arg(12345.6789).arg(12345.6789),
@@ -4898,13 +4891,11 @@ void tst_QString::arg()
QCOMPARE(QString("%1").arg(-1., 3, 'g', -1, QChar('x')), QLatin1String("x-1"));
QCOMPARE(QString("%1").arg(-100., 3, 'g', -1, QChar('x')), QLatin1String("-100"));
- QLocale::setDefault(QString("ar"));
+ transient.revise(QString("ar"));
QCOMPARE( QString("%L1").arg(12345.6789, 10, 'g', 7, QLatin1Char('0')),
QString::fromUtf8("\xd9\xa0\xd9\xa1\xd9\xa2\xd9\xac\xd9\xa3\xd9\xa4\xd9\xa5\xd9\xab\xd9\xa6\xd9\xa8") ); // "٠١٢٬٣٤٥٫٦٨"
QCOMPARE( QString("%L1").arg(123456789, 13, 10, QLatin1Char('0')),
QString("\xd9\xa0\xd9\xa0\xd9\xa1\xd9\xa2\xd9\xa3\xd9\xac\xd9\xa4\xd9\xa5\xd9\xa6\xd9\xac\xd9\xa7\xd9\xa8\xd9\xa9") ); // ٠٠١٢٣٬٤٥٦٬٧٨٩
-
- QLocale::setDefault(QLocale::system());
}
void tst_QString::number()
@@ -4933,9 +4924,7 @@ void tst_QString::doubleOut()
QCOMPARE(QString::number(micro), expect);
QCOMPARE(QString("%1").arg(micro), expect);
{
- QString text;
- text.sprintf("%g", micro);
- QCOMPARE(text, expect);
+ QCOMPARE(QString::asprintf("%g", micro), expect);
}
{
QString text;
@@ -5479,8 +5468,6 @@ void tst_QString::tortureSprintfDouble()
{
const SprintfDoubleData *data = g_sprintf_double_data;
- QString s;
-
for (; data->fmt != 0; ++data) {
double d;
char *buff = (char *)&d;
@@ -5495,7 +5482,7 @@ void tst_QString::tortureSprintfDouble()
for (uint i = 0; i < 8; ++i)
buff[7 - i] = data->bytes[i];
# endif
- s.sprintf(data->fmt, d);
+ const QString s = QString::asprintf(data->fmt, d);
#ifdef QT_NO_FPU // reduced precision when running with hardfloats in qemu
if (d - 0.1 < 1e12)
QSKIP("clib sprintf doesn't fill with 0's on this platform");
@@ -5521,35 +5508,35 @@ void tst_QString::localeAwareCompare_data()
// console.log("\u1111\u1171\u11B6".localeCompare("\ud4db")
// example from Unicode 5.0, section 3.7, definition D70
- QTest::newRow("normalize1") << QString() << QString::fromUtf8("o\xCC\x88") << QString::fromUtf8("\xC3\xB6") << 0;
+ QTest::newRow("normalize1") << QString("en_US") << QString::fromUtf8("o\xCC\x88") << QString::fromUtf8("\xC3\xB6") << 0;
// examples from Unicode 5.0, chapter 3.11
- QTest::newRow("normalize2") << QString() << QString::fromUtf8("\xC3\xA4\xCC\xA3") << QString::fromUtf8("a\xCC\xA3\xCC\x88") << 0;
- QTest::newRow("normalize3") << QString() << QString::fromUtf8("a\xCC\x88\xCC\xA3") << QString::fromUtf8("a\xCC\xA3\xCC\x88") << 0;
- QTest::newRow("normalize4") << QString() << QString::fromUtf8("\xE1\xBA\xA1\xCC\x88") << QString::fromUtf8("a\xCC\xA3\xCC\x88") << 0;
- QTest::newRow("normalize5") << QString() << QString::fromUtf8("\xC3\xA4\xCC\x86") << QString::fromUtf8("a\xCC\x88\xCC\x86") << 0;
- QTest::newRow("normalize6") << QString() << QString::fromUtf8("\xC4\x83\xCC\x88") << QString::fromUtf8("a\xCC\x86\xCC\x88") << 0;
+ QTest::newRow("normalize2") << QString("en_US") << QString::fromUtf8("\xC3\xA4\xCC\xA3") << QString::fromUtf8("a\xCC\xA3\xCC\x88") << 0;
+ QTest::newRow("normalize3") << QString("en_US") << QString::fromUtf8("a\xCC\x88\xCC\xA3") << QString::fromUtf8("a\xCC\xA3\xCC\x88") << 0;
+ QTest::newRow("normalize4") << QString("en_US") << QString::fromUtf8("\xE1\xBA\xA1\xCC\x88") << QString::fromUtf8("a\xCC\xA3\xCC\x88") << 0;
+ QTest::newRow("normalize5") << QString("en_US") << QString::fromUtf8("\xC3\xA4\xCC\x86") << QString::fromUtf8("a\xCC\x88\xCC\x86") << 0;
+ QTest::newRow("normalize6") << QString("en_US") << QString::fromUtf8("\xC4\x83\xCC\x88") << QString::fromUtf8("a\xCC\x86\xCC\x88") << 0;
// example from Unicode 5.0, chapter 3.12
- QTest::newRow("normalize7") << QString() << QString::fromUtf8("\xE1\x84\x91\xE1\x85\xB1\xE1\x86\xB6") << QString::fromUtf8("\xED\x93\x9B") << 0;
+ QTest::newRow("normalize7") << QString("en_US") << QString::fromUtf8("\xE1\x84\x91\xE1\x85\xB1\xE1\x86\xB6") << QString::fromUtf8("\xED\x93\x9B") << 0;
// examples from UTS 10, Unicode Collation Algorithm
- QTest::newRow("normalize8") << QString() << QString::fromUtf8("\xE2\x84\xAB") << QString::fromUtf8("\xC3\x85") << 0;
- QTest::newRow("normalize9") << QString() << QString::fromUtf8("\xE2\x84\xAB") << QString::fromUtf8("A\xCC\x8A") << 0;
- QTest::newRow("normalize10") << QString() << QString::fromUtf8("x\xCC\x9B\xCC\xA3") << QString::fromUtf8("x\xCC\xA3\xCC\x9B") << 0;
- QTest::newRow("normalize11") << QString() << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("\xE1\xBB\xA5\xCC\x9B") << 0;
- QTest::newRow("normalize12") << QString() << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("u\xCC\x9B\xCC\xA3") << 0;
- QTest::newRow("normalize13") << QString() << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("\xC6\xB0\xCC\xA3") << 0;
- QTest::newRow("normalize14") << QString() << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("u\xCC\xA3\xCC\x9B") << 0;
+ QTest::newRow("normalize8") << QString("en_US") << QString::fromUtf8("\xE2\x84\xAB") << QString::fromUtf8("\xC3\x85") << 0;
+ QTest::newRow("normalize9") << QString("en_US") << QString::fromUtf8("\xE2\x84\xAB") << QString::fromUtf8("A\xCC\x8A") << 0;
+ QTest::newRow("normalize10") << QString("en_US") << QString::fromUtf8("x\xCC\x9B\xCC\xA3") << QString::fromUtf8("x\xCC\xA3\xCC\x9B") << 0;
+ QTest::newRow("normalize11") << QString("en_US") << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("\xE1\xBB\xA5\xCC\x9B") << 0;
+ QTest::newRow("normalize12") << QString("en_US") << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("u\xCC\x9B\xCC\xA3") << 0;
+ QTest::newRow("normalize13") << QString("en_US") << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("\xC6\xB0\xCC\xA3") << 0;
+ QTest::newRow("normalize14") << QString("en_US") << QString::fromUtf8("\xE1\xBB\xB1") << QString::fromUtf8("u\xCC\xA3\xCC\x9B") << 0;
// examples from UAX 15, Unicode Normalization Forms
- QTest::newRow("normalize15") << QString() << QString::fromUtf8("\xC3\x87") << QString::fromUtf8("C\xCC\xA7") << 0;
- QTest::newRow("normalize16") << QString() << QString::fromUtf8("q\xCC\x87\xCC\xA3") << QString::fromUtf8("q\xCC\xA3\xCC\x87") << 0;
- QTest::newRow("normalize17") << QString() << QString::fromUtf8("\xEA\xB0\x80") << QString::fromUtf8("\xE1\x84\x80\xE1\x85\xA1") << 0;
- QTest::newRow("normalize18") << QString() << QString::fromUtf8("\xE2\x84\xAB") << QString::fromUtf8("A\xCC\x8A") << 0;
- QTest::newRow("normalize19") << QString() << QString::fromUtf8("\xE2\x84\xA6") << QString::fromUtf8("\xCE\xA9") << 0;
- QTest::newRow("normalize20") << QString() << QString::fromUtf8("\xC3\x85") << QString::fromUtf8("A\xCC\x8A") << 0;
- QTest::newRow("normalize21") << QString() << QString::fromUtf8("\xC3\xB4") << QString::fromUtf8("o\xCC\x82") << 0;
- QTest::newRow("normalize22") << QString() << QString::fromUtf8("\xE1\xB9\xA9") << QString::fromUtf8("s\xCC\xA3\xCC\x87") << 0;
- QTest::newRow("normalize23") << QString() << QString::fromUtf8("\xE1\xB8\x8B\xCC\xA3") << QString::fromUtf8("d\xCC\xA3\xCC\x87") << 0;
- QTest::newRow("normalize24") << QString() << QString::fromUtf8("\xE1\xB8\x8B\xCC\xA3") << QString::fromUtf8("\xE1\xB8\x8D\xCC\x87") << 0;
- QTest::newRow("normalize25") << QString() << QString::fromUtf8("q\xCC\x87\xCC\xA3") << QString::fromUtf8("q\xCC\xA3\xCC\x87") << 0;
+ QTest::newRow("normalize15") << QString("en_US") << QString::fromUtf8("\xC3\x87") << QString::fromUtf8("C\xCC\xA7") << 0;
+ QTest::newRow("normalize16") << QString("en_US") << QString::fromUtf8("q\xCC\x87\xCC\xA3") << QString::fromUtf8("q\xCC\xA3\xCC\x87") << 0;
+ QTest::newRow("normalize17") << QString("en_US") << QString::fromUtf8("\xEA\xB0\x80") << QString::fromUtf8("\xE1\x84\x80\xE1\x85\xA1") << 0;
+ QTest::newRow("normalize18") << QString("en_US") << QString::fromUtf8("\xE2\x84\xAB") << QString::fromUtf8("A\xCC\x8A") << 0;
+ QTest::newRow("normalize19") << QString("en_US") << QString::fromUtf8("\xE2\x84\xA6") << QString::fromUtf8("\xCE\xA9") << 0;
+ QTest::newRow("normalize20") << QString("en_US") << QString::fromUtf8("\xC3\x85") << QString::fromUtf8("A\xCC\x8A") << 0;
+ QTest::newRow("normalize21") << QString("en_US") << QString::fromUtf8("\xC3\xB4") << QString::fromUtf8("o\xCC\x82") << 0;
+ QTest::newRow("normalize22") << QString("en_US") << QString::fromUtf8("\xE1\xB9\xA9") << QString::fromUtf8("s\xCC\xA3\xCC\x87") << 0;
+ QTest::newRow("normalize23") << QString("en_US") << QString::fromUtf8("\xE1\xB8\x8B\xCC\xA3") << QString::fromUtf8("d\xCC\xA3\xCC\x87") << 0;
+ QTest::newRow("normalize24") << QString("en_US") << QString::fromUtf8("\xE1\xB8\x8B\xCC\xA3") << QString::fromUtf8("\xE1\xB8\x8D\xCC\x87") << 0;
+ QTest::newRow("normalize25") << QString("en_US") << QString::fromUtf8("q\xCC\x87\xCC\xA3") << QString::fromUtf8("q\xCC\xA3\xCC\x87") << 0;
}
@@ -6449,32 +6436,24 @@ void tst_QString::QCharRefDetaching() const
void tst_QString::sprintfZU() const
{
{
- QString string;
size_t s = 6;
- string.sprintf("%zu", s);
- QCOMPARE(string, QString::fromLatin1("6"));
+ QCOMPARE(QString::asprintf("%zu", s), QString::fromLatin1("6"));
}
{
- QString string;
- string.sprintf("%s\n", "foo");
- QCOMPARE(string, QString::fromLatin1("foo\n"));
+ QCOMPARE(QString::asprintf("%s\n", "foo"), QString::fromLatin1("foo\n"));
}
{
/* This code crashed. I don't know how to reduce it further. In other words,
* both %zu and %s needs to be present. */
size_t s = 6;
- QString string;
- string.sprintf("%zu%s", s, "foo");
- QCOMPARE(string, QString::fromLatin1("6foo"));
+ QCOMPARE(QString::asprintf("%zu%s", s, "foo"), QString::fromLatin1("6foo"));
}
{
size_t s = 6;
- QString string;
- string.sprintf("%zu %s\n", s, "foo");
- QCOMPARE(string, QString::fromLatin1("6 foo\n"));
+ QCOMPARE(QString::asprintf("%zu %s\n", s, "foo"), QString::fromLatin1("6 foo\n"));
}
}
@@ -6594,14 +6573,14 @@ void tst_QString::arg_locale()
QLocale l(QLocale::English, QLocale::UnitedKingdom);
QString str("*%L1*%L2*");
- QLocale::setDefault(l);
+ TransientDefaultLocale transient(l);
QCOMPARE(str.arg(123456).arg(1234.56), QString::fromLatin1("*123,456*1,234.56*"));
l.setNumberOptions(QLocale::OmitGroupSeparator);
- QLocale::setDefault(l);
+ transient.revise(l);
QCOMPARE(str.arg(123456).arg(1234.56), QString::fromLatin1("*123456*1234.56*"));
- QLocale::setDefault(QLocale::C);
+ transient.revise(QLocale::C);
QCOMPARE(str.arg(123456).arg(1234.56), QString::fromLatin1("*123456*1234.56*"));
}
@@ -6615,7 +6594,7 @@ void tst_QString::toUpperLower_icu()
QCOMPARE(s.toUpper(), QString::fromLatin1("I"));
QCOMPARE(s.toLower(), QString::fromLatin1("i"));
- QLocale::setDefault(QLocale(QLocale::Turkish, QLocale::Turkey));
+ TransientDefaultLocale transient(QLocale(QLocale::Turkish, QLocale::Turkey));
QCOMPARE(s.toUpper(), QString::fromLatin1("I"));
QCOMPARE(s.toLower(), QString::fromLatin1("i"));
@@ -6639,12 +6618,10 @@ void tst_QString::toUpperLower_icu()
// nothing should happen here
QCOMPARE(l.toLower(sup), sup);
QCOMPARE(l.toLower(QString::fromLatin1("i")), QString::fromLatin1("i"));
-
- // the cleanup function will restore the default locale
}
#endif
-#if !defined(QT_NO_UNICODE_LITERAL) && defined(Q_COMPILER_LAMBDA)
+#if !defined(QT_NO_UNICODE_LITERAL)
// Only tested on c++0x compliant compiler or gcc
void tst_QString::literals()
{
diff --git a/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp b/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp
index a3aec4c299..42bdf62a93 100644
--- a/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp
+++ b/tests/auto/corelib/tools/qstringlist/tst_qstringlist.cpp
@@ -43,7 +43,9 @@ private slots:
void removeDuplicates();
void removeDuplicates_data();
void contains();
+ void indexOf_data();
void indexOf();
+ void lastIndexOf_data();
void lastIndexOf();
void indexOf_regExp();
@@ -141,20 +143,52 @@ void tst_QStringList::lastIndexOf_regExp()
}
+void tst_QStringList::indexOf_data()
+{
+ QTest::addColumn<QString>("search");
+ QTest::addColumn<int>("from");
+ QTest::addColumn<int>("expectedResult");
+
+ QTest::newRow("harald") << "harald" << 0 << 0;
+ QTest::newRow("trond") << "trond" << 0 << 1;
+ QTest::newRow("vohi") << "vohi" << 0 << 2;
+ QTest::newRow("harald-1") << "harald" << 1 << 3;
+
+ QTest::newRow("hans") << "hans" << 0 << -1;
+ QTest::newRow("trond-1") << "trond" << 2 << -1;
+ QTest::newRow("harald-2") << "harald" << -1 << 3;
+ QTest::newRow("vohi-1") << "vohi" << -3 << 2;
+}
+
void tst_QStringList::indexOf()
{
QStringList list;
list << "harald" << "trond" << "vohi" << "harald";
- QCOMPARE(list.indexOf("harald"), 0);
- QCOMPARE(list.indexOf("trond"), 1);
- QCOMPARE(list.indexOf("vohi"), 2);
- QCOMPARE(list.indexOf("harald", 1), 3);
+ QFETCH(QString, search);
+ QFETCH(int, from);
+ QFETCH(int, expectedResult);
- QCOMPARE(list.indexOf("hans"), -1);
- QCOMPARE(list.indexOf("trond", 2), -1);
- QCOMPARE(list.indexOf("harald", -1), 3);
- QCOMPARE(list.indexOf("vohi", -3), 2);
+ QCOMPARE(list.indexOf(search, from), expectedResult);
+ QCOMPARE(list.indexOf(QStringView(search), from), expectedResult);
+ QCOMPARE(list.indexOf(QLatin1String(search.toLatin1()), from), expectedResult);
+}
+
+void tst_QStringList::lastIndexOf_data()
+{
+ QTest::addColumn<QString>("search");
+ QTest::addColumn<int>("from");
+ QTest::addColumn<int>("expectedResult");
+
+ QTest::newRow("harald") << "harald" << -1 << 3;
+ QTest::newRow("trond") << "trond" << -1 << 1;
+ QTest::newRow("vohi") << "vohi" << -1 << 2;
+ QTest::newRow("harald-1") << "harald" << 2 << 0;
+
+ QTest::newRow("hans") << "hans" << -1 << -1;
+ QTest::newRow("vohi-1") << "vohi" << 1 << -1;
+ QTest::newRow("vohi-2") << "vohi" << -1 << 2;
+ QTest::newRow("vohi-3") << "vohi" << -3 << -1;
}
void tst_QStringList::lastIndexOf()
@@ -162,15 +196,13 @@ void tst_QStringList::lastIndexOf()
QStringList list;
list << "harald" << "trond" << "vohi" << "harald";
- QCOMPARE(list.lastIndexOf("harald"), 3);
- QCOMPARE(list.lastIndexOf("trond"), 1);
- QCOMPARE(list.lastIndexOf("vohi"), 2);
- QCOMPARE(list.lastIndexOf("harald", 2), 0);
+ QFETCH(QString, search);
+ QFETCH(int, from);
+ QFETCH(int, expectedResult);
- QCOMPARE(list.lastIndexOf("hans"), -1);
- QCOMPARE(list.lastIndexOf("vohi", 1), -1);
- QCOMPARE(list.lastIndexOf("vohi", -1), 2);
- QCOMPARE(list.lastIndexOf("vohi", -3), -1);
+ QCOMPARE(list.lastIndexOf(search, from), expectedResult);
+ QCOMPARE(list.lastIndexOf(QStringView(search), from), expectedResult);
+ QCOMPARE(list.lastIndexOf(QLatin1String(search.toLatin1()), from), expectedResult);
}
void tst_QStringList::filter()
diff --git a/tests/auto/corelib/tools/qstringmatcher/tst_qstringmatcher.cpp b/tests/auto/corelib/tools/qstringmatcher/tst_qstringmatcher.cpp
index 8a55f54449..2d577bb0ab 100644
--- a/tests/auto/corelib/tools/qstringmatcher/tst_qstringmatcher.cpp
+++ b/tests/auto/corelib/tools/qstringmatcher/tst_qstringmatcher.cpp
@@ -100,6 +100,11 @@ void tst_QStringMatcher::indexIn()
matcher.setPattern(needle);
QCOMPARE(matcher.indexIn(haystack, from), indexIn);
+
+ const auto needleSV = QStringView(needle);
+ QStringMatcher matcherSV(needleSV);
+
+ QCOMPARE(matcherSV.indexIn(QStringView(haystack), from), indexIn);
}
void tst_QStringMatcher::setCaseSensitivity_data()
@@ -128,6 +133,7 @@ void tst_QStringMatcher::setCaseSensitivity()
matcher.setCaseSensitivity(static_cast<Qt::CaseSensitivity> (cs));
QCOMPARE(matcher.indexIn(haystack, from), indexIn);
+ QCOMPARE(matcher.indexIn(QStringView(haystack), from), indexIn);
}
void tst_QStringMatcher::assignOperator()
diff --git a/tests/auto/corelib/tools/qtime/tst_qtime.cpp b/tests/auto/corelib/tools/qtime/tst_qtime.cpp
index 3e5724213e..3403c5bf7f 100644
--- a/tests/auto/corelib/tools/qtime/tst_qtime.cpp
+++ b/tests/auto/corelib/tools/qtime/tst_qtime.cpp
@@ -95,8 +95,9 @@ void tst_QTime::addSecs_data()
QTest::newRow("Data0") << QTime(0,0,0) << 200 << QTime(0,3,20);
QTest::newRow("Data1") << QTime(0,0,0) << 20 << QTime(0,0,20);
- QTest::newRow("overflow") << QTime(0,0,0) << (INT_MAX / 1000 + 1)
- << QTime(0,0,0).addSecs((INT_MAX / 1000 + 1) % 86400);
+ QTest::newRow("overflow")
+ << QTime(0,0,0) << (INT_MAX / 1000 + 1)
+ << QTime::fromMSecsSinceStartOfDay(((INT_MAX / 1000 + 1) % 86400) * 1000);
}
void tst_QTime::addSecs()
diff --git a/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
index d335dae7bc..4160a00f71 100644
--- a/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
+++ b/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
@@ -480,11 +480,10 @@ void tst_QTimeZone::transitionEachZone_data()
{ 1288488600, -4, 8, 2010 } // 2010-10-31 01:30 UTC; Europe, Russia
};
- QString name;
const auto zones = QTimeZone::availableTimeZoneIds();
for (int k = sizeof(table) / sizeof(table[0]); k-- > 0; ) {
for (const QByteArray &zone : zones) {
- name.sprintf("%s@%d", zone.constData(), table[k].year);
+ const QString name = QString::asprintf("%s@%d", zone.constData(), table[k].year);
QTest::newRow(name.toUtf8().constData())
<< zone
<< table[k].baseSecs
@@ -508,8 +507,7 @@ void tst_QTimeZone::transitionEachZone()
#ifdef USING_WIN_TZ
// See QTBUG-64985: MS's TZ APIs' misdescription of Europe/Samara leads
// to mis-disambiguation of its fall-back here.
- if (QOperatingSystemVersion::current() <= QOperatingSystemVersion::Windows7
- && zone == "Europe/Samara" && i == -3) {
+ if (zone == "Europe/Samara" && i == -3) {
continue;
}
#endif
@@ -540,6 +538,13 @@ void tst_QTimeZone::checkOffset_data()
int year, month, day, hour, min, sec;
int std, dst;
} table[] = {
+ // Zone with no transitions (QTBUG-74614, QTBUG-74666, when TZ backend uses minimal data)
+ { "Etc/UTC", "epoch", 1970, 1, 1, 0, 0, 0, 0, 0 },
+ { "Etc/UTC", "pre_int32", 1901, 12, 13, 20, 45, 51, 0, 0 },
+ { "Etc/UTC", "post_int32", 2038, 1, 19, 3, 14, 9, 0, 0 },
+ { "Etc/UTC", "post_uint32", 2106, 2, 7, 6, 28, 17, 0, 0 },
+ { "Etc/UTC", "initial", -292275056, 5, 16, 16, 47, 5, 0, 0 },
+ { "Etc/UTC", "final", 292278994, 8, 17, 7, 12, 55, 0, 0 },
// Kiev: regression test for QTBUG-64122 (on MS):
{ "Europe/Kiev", "summer", 2017, 10, 27, 12, 0, 0, 2 * 3600, 3600 },
{ "Europe/Kiev", "winter", 2017, 10, 29, 12, 0, 0, 2 * 3600, 0 }
@@ -552,6 +557,8 @@ void tst_QTimeZone::checkOffset_data()
<< QDateTime(QDate(entry.year, entry.month, entry.day),
QTime(entry.hour, entry.min, entry.sec), zone)
<< entry.dst + entry.std << entry.std << entry.dst;
+ } else {
+ qWarning("Skipping %s@%s test as zone is invalid", entry.zone, entry.nick);
}
}
}
diff --git a/tests/auto/corelib/tools/qvector/tst_qvector.cpp b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
index a7faeb5ca5..2278e0ba13 100644
--- a/tests/auto/corelib/tools/qvector/tst_qvector.cpp
+++ b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
@@ -206,6 +206,9 @@ private slots:
void assignmentInt() const;
void assignmentMovable() const;
void assignmentCustom() const;
+ void assignFromInitializerListInt() const;
+ void assignFromInitializerListMovable() const;
+ void assignFromInitializerListCustom() const;
void addInt() const;
void addMovable() const;
void addCustom() const;
@@ -330,6 +333,7 @@ private:
template<typename T> void copyConstructor() const;
template<typename T> void add() const;
template<typename T> void append() const;
+ template<typename T> void assignFromInitializerList() const;
template<typename T> void capacity() const;
template<typename T> void clear() const;
template<typename T> void count() const;
@@ -543,6 +547,44 @@ void tst_QVector::assignmentCustom() const
}
template<typename T>
+void tst_QVector::assignFromInitializerList() const
+{
+#ifdef Q_COMPILER_INITIALIZER_LISTS
+ T val1(SimpleValue<T>::at(1));
+ T val2(SimpleValue<T>::at(2));
+ T val3(SimpleValue<T>::at(3));
+
+ QVector<T> v1 = {val1, val2, val3};
+ QCOMPARE(v1, QVector<T>() << val1 << val2 << val3);
+ QCOMPARE(v1, (QVector<T> {val1, val2, val3}));
+
+ v1 = {};
+ QCOMPARE(v1.size(), 0);
+#else
+ QSKIP("This test requires support for C++11 initializer lists.");
+#endif
+}
+
+void tst_QVector::assignFromInitializerListInt() const
+{
+ assignFromInitializerList<int>();
+}
+
+void tst_QVector::assignFromInitializerListMovable() const
+{
+ const int instancesCount = Movable::counter.loadAcquire();
+ assignFromInitializerList<Movable>();
+ QCOMPARE(instancesCount, Movable::counter.loadAcquire());
+}
+
+void tst_QVector::assignFromInitializerListCustom() const
+{
+ const int instancesCount = Custom::counter.loadAcquire();
+ assignFromInitializerList<Custom>();
+ QCOMPARE(instancesCount, Custom::counter.loadAcquire());
+}
+
+template<typename T>
void tst_QVector::add() const
{
{
diff --git a/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp b/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp
index 05579dce6e..aaf40a9c2e 100644
--- a/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp
+++ b/tests/auto/corelib/tools/qversionnumber/tst_qversionnumber.cpp
@@ -436,7 +436,7 @@ void tst_QVersionNumber::normalized()
QFETCH(QVersionNumber, expected);
QCOMPARE(version.normalized(), expected);
- QCOMPARE(qMove(version).normalized(), expected);
+ QCOMPARE(std::move(version).normalized(), expected);
}
void tst_QVersionNumber::isNormalized_data()
@@ -590,21 +590,21 @@ void tst_QVersionNumber::moveSemantics()
// QVersionNumber(QVersionNumber &&)
{
QVersionNumber v1(1, 2, 3);
- QVersionNumber v2 = qMove(v1);
+ QVersionNumber v2 = std::move(v1);
QCOMPARE(v2, QVersionNumber(1, 2, 3));
}
// QVersionNumber &operator=(QVersionNumber &&)
{
QVersionNumber v1(1, 2, 3);
QVersionNumber v2;
- v2 = qMove(v1);
+ v2 = std::move(v1);
QCOMPARE(v2, QVersionNumber(1, 2, 3));
}
// QVersionNumber(QVector<int> &&)
{
QVector<int> segments = QVector<int>() << 1 << 2 << 3;
QVersionNumber v1(segments);
- QVersionNumber v2(qMove(segments));
+ QVersionNumber v2(std::move(segments));
QVERIFY(!v1.isNull());
QVERIFY(!v2.isNull());
QCOMPARE(v1, v2);
@@ -620,7 +620,7 @@ void tst_QVersionNumber::moveSemantics()
QVERIFY(!v.isNull());
QVERIFY(!nv.isNull());
QVERIFY(nv.isNormalized());
- nv = qMove(v).normalized();
+ nv = std::move(v).normalized();
QVERIFY(!nv.isNull());
QVERIFY(nv.isNormalized());
}
@@ -632,7 +632,7 @@ void tst_QVersionNumber::moveSemantics()
segments = v.segments();
QVERIFY(!v.isNull());
QVERIFY(!segments.empty());
- segments = qMove(v).segments();
+ segments = std::move(v).segments();
QVERIFY(!segments.empty());
}
#endif
diff --git a/tests/auto/corelib/tools/tools.pro b/tests/auto/corelib/tools/tools.pro
index 2a975e67d1..c6da33cce0 100644
--- a/tests/auto/corelib/tools/tools.pro
+++ b/tests/auto/corelib/tools/tools.pro
@@ -46,6 +46,7 @@ SUBDIRS=\
qringbuffer \
qscopedpointer \
qscopedvaluerollback \
+ qscopeguard \
qset \
qsharedpointer \
qsize \
diff --git a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro
index 206522b557..a876cbfa33 100644
--- a/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro
+++ b/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger.pro
@@ -2,6 +2,5 @@ SOURCES = qpinger.cpp ../interface.cpp
HEADERS = ../interface.h
TARGET = qpinger
DESTDIR = ./
-CONFIG -= app_bundle
-CONFIG += console
+CONFIG += cmdline
QT = core dbus
diff --git a/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro b/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro
index 57f8b2a598..97a5e7e19d 100644
--- a/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro
+++ b/tests/auto/dbus/qdbusmarshall/qpong/qpong.pro
@@ -2,6 +2,4 @@ SOURCES = qpong.cpp
TARGET = qpong
DESTDIR = ./
QT = core dbus
-CONFIG -= app_bundle
-CONFIG += console
-
+CONFIG += cmdline
diff --git a/tests/auto/dbus/qdbusservicewatcher/tst_qdbusservicewatcher.cpp b/tests/auto/dbus/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
index b79f3ea5e3..1ba7ee51b1 100644
--- a/tests/auto/dbus/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
+++ b/tests/auto/dbus/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
@@ -34,22 +34,27 @@
class tst_QDBusServiceWatcher: public QObject
{
Q_OBJECT
- QString serviceName;
int testCounter;
public:
tst_QDBusServiceWatcher();
private slots:
void initTestCase();
- void init();
-
+ void watchForCreation_data();
void watchForCreation();
+ void watchForDisappearance_data();
void watchForDisappearance();
void watchForDisappearanceUniqueConnection();
+ void watchForOwnerChange_data();
void watchForOwnerChange();
+ void modeChange_data();
void modeChange();
void disconnectedConnection();
+ void setConnection_data();
void setConnection();
+
+private:
+ QString generateServiceName();
};
tst_QDBusServiceWatcher::tst_QDBusServiceWatcher()
@@ -63,18 +68,45 @@ void tst_QDBusServiceWatcher::initTestCase()
QVERIFY(con.isConnected());
}
-void tst_QDBusServiceWatcher::init()
+QString tst_QDBusServiceWatcher::generateServiceName() {
+ return "com.example.TestService" + QString::number(testCounter++);
+}
+
+void tst_QDBusServiceWatcher::watchForCreation_data()
{
- // change the service name from test to test
- serviceName = "com.example.TestService" + QString::number(testCounter++);
+ QTest::addColumn<QString>("watchedName");
+ QTest::addColumn<QString>("registeredName");
+
+ //com.example.TestService5 matches com.example.TestService5
+ QString name = generateServiceName();
+ QTest::newRow("normal") << name << name;
+
+ //com.example* matches com.example.TestService5
+ name = generateServiceName();
+ QTest::newRow("wildcard") << "com.example*" << name;
+
+ //com.example.TestService5* matches com.example.TestService5
+ name = generateServiceName();
+ QTest::newRow("wildcard_exact") << name+"*" << name;
+
+ //com.example.TestService5* matches com.example.TestService5.Foo
+ name = generateServiceName();
+ QTest::newRow("wildcard_subdomain") << name+"*" << name + ".Foo";
+
+ //com.example.TestService5* matches com.example.TestService5.Foo.Bar
+ name = generateServiceName();
+ QTest::newRow("wildcard_subsubdomain") << name+"*" << name + ".Foo.Bar";
}
void tst_QDBusServiceWatcher::watchForCreation()
{
+ QFETCH(QString, watchedName);
+ QFETCH(QString, registeredName);
+
QDBusConnection con = QDBusConnection::sessionBus();
QVERIFY(con.isConnected());
- QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForRegistration);
+ QDBusServiceWatcher watcher(watchedName, con, QDBusServiceWatcher::WatchForRegistration);
QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
@@ -82,18 +114,18 @@ void tst_QDBusServiceWatcher::watchForCreation()
QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceRegistered(QString)), SLOT(exitLoop()));
// register a name
- QVERIFY(con.registerService(serviceName));
+ QVERIFY(con.registerService(registeredName));
QTestEventLoop::instance().enterLoop(1);
QVERIFY(!QTestEventLoop::instance().timeout());
QCOMPARE(spyR.count(), 1);
- QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyR.at(0).at(0).toString(), registeredName);
QCOMPARE(spyU.count(), 0);
QCOMPARE(spyO.count(), 1);
- QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(0).toString(), registeredName);
QVERIFY(spyO.at(0).at(1).toString().isEmpty());
QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
@@ -102,31 +134,39 @@ void tst_QDBusServiceWatcher::watchForCreation()
spyO.clear();
// unregister it:
- con.unregisterService(serviceName);
+ con.unregisterService(registeredName);
// and register again
- QVERIFY(con.registerService(serviceName));
+ QVERIFY(con.registerService(registeredName));
QTestEventLoop::instance().enterLoop(1);
QVERIFY(!QTestEventLoop::instance().timeout());
QCOMPARE(spyR.count(), 1);
- QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyR.at(0).at(0).toString(), registeredName);
QCOMPARE(spyU.count(), 0);
QCOMPARE(spyO.count(), 1);
- QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(0).toString(), registeredName);
QVERIFY(spyO.at(0).at(1).toString().isEmpty());
QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
}
+void tst_QDBusServiceWatcher::watchForDisappearance_data()
+{
+ tst_QDBusServiceWatcher::watchForCreation_data();
+}
+
void tst_QDBusServiceWatcher::watchForDisappearance()
{
+ QFETCH(QString, watchedName);
+ QFETCH(QString, registeredName);
+
QDBusConnection con = QDBusConnection::sessionBus();
QVERIFY(con.isConnected());
- QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForUnregistration);
+ QDBusServiceWatcher watcher(watchedName, con, QDBusServiceWatcher::WatchForUnregistration);
watcher.setObjectName("watcher for disappearance");
QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
@@ -135,10 +175,10 @@ void tst_QDBusServiceWatcher::watchForDisappearance()
QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceUnregistered(QString)), SLOT(exitLoop()));
// register a name
- QVERIFY(con.registerService(serviceName));
+ QVERIFY(con.registerService(registeredName));
// unregister it:
- con.unregisterService(serviceName);
+ con.unregisterService(registeredName);
QTestEventLoop::instance().enterLoop(1);
QVERIFY(!QTestEventLoop::instance().timeout());
@@ -146,10 +186,10 @@ void tst_QDBusServiceWatcher::watchForDisappearance()
QCOMPARE(spyR.count(), 0);
QCOMPARE(spyU.count(), 1);
- QCOMPARE(spyU.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyU.at(0).at(0).toString(), registeredName);
QCOMPARE(spyO.count(), 1);
- QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(0).toString(), registeredName);
QCOMPARE(spyO.at(0).at(1).toString(), con.baseService());
QVERIFY(spyO.at(0).at(2).toString().isEmpty());
}
@@ -188,12 +228,20 @@ void tst_QDBusServiceWatcher::watchForDisappearanceUniqueConnection()
QVERIFY(spyO.at(0).at(2).toString().isEmpty());
}
+void tst_QDBusServiceWatcher::watchForOwnerChange_data()
+{
+ watchForCreation_data();
+}
+
void tst_QDBusServiceWatcher::watchForOwnerChange()
{
+ QFETCH(QString, watchedName);
+ QFETCH(QString, registeredName);
+
QDBusConnection con = QDBusConnection::sessionBus();
QVERIFY(con.isConnected());
- QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForOwnerChange);
+ QDBusServiceWatcher watcher(watchedName, con, QDBusServiceWatcher::WatchForOwnerChange);
QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
@@ -201,18 +249,18 @@ void tst_QDBusServiceWatcher::watchForOwnerChange()
QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceRegistered(QString)), SLOT(exitLoop()));
// register a name
- QVERIFY(con.registerService(serviceName));
+ QVERIFY(con.registerService(registeredName));
QTestEventLoop::instance().enterLoop(1);
QVERIFY(!QTestEventLoop::instance().timeout());
QCOMPARE(spyR.count(), 1);
- QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyR.at(0).at(0).toString(), registeredName);
QCOMPARE(spyU.count(), 0);
QCOMPARE(spyO.count(), 1);
- QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(0).toString(), registeredName);
QVERIFY(spyO.at(0).at(1).toString().isEmpty());
QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
@@ -221,35 +269,43 @@ void tst_QDBusServiceWatcher::watchForOwnerChange()
spyO.clear();
// unregister it:
- con.unregisterService(serviceName);
+ con.unregisterService(registeredName);
// and register again
- QVERIFY(con.registerService(serviceName));
+ QVERIFY(con.registerService(registeredName));
QTestEventLoop::instance().enterLoop(1);
QVERIFY(!QTestEventLoop::instance().timeout());
QCOMPARE(spyR.count(), 1);
- QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyR.at(0).at(0).toString(), registeredName);
QCOMPARE(spyU.count(), 1);
- QCOMPARE(spyU.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyU.at(0).at(0).toString(), registeredName);
QCOMPARE(spyO.count(), 2);
- QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(0).toString(), registeredName);
QCOMPARE(spyO.at(0).at(1).toString(), con.baseService());
QVERIFY(spyO.at(0).at(2).toString().isEmpty());
- QCOMPARE(spyO.at(1).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(1).at(0).toString(), registeredName);
QVERIFY(spyO.at(1).at(1).toString().isEmpty());
QCOMPARE(spyO.at(1).at(2).toString(), con.baseService());
}
+void tst_QDBusServiceWatcher::modeChange_data()
+{
+ watchForCreation_data();
+}
+
void tst_QDBusServiceWatcher::modeChange()
{
+ QFETCH(QString, watchedName);
+ QFETCH(QString, registeredName);
+
QDBusConnection con = QDBusConnection::sessionBus();
QVERIFY(con.isConnected());
- QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForRegistration);
+ QDBusServiceWatcher watcher(watchedName, con, QDBusServiceWatcher::WatchForRegistration);
QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
@@ -257,18 +313,18 @@ void tst_QDBusServiceWatcher::modeChange()
QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceRegistered(QString)), SLOT(exitLoop()));
// register a name
- QVERIFY(con.registerService(serviceName));
+ QVERIFY(con.registerService(registeredName));
QTestEventLoop::instance().enterLoop(1);
QVERIFY(!QTestEventLoop::instance().timeout());
QCOMPARE(spyR.count(), 1);
- QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyR.at(0).at(0).toString(), registeredName);
QCOMPARE(spyU.count(), 0);
QCOMPARE(spyO.count(), 1);
- QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(0).toString(), registeredName);
QVERIFY(spyO.at(0).at(1).toString().isEmpty());
QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
@@ -279,7 +335,7 @@ void tst_QDBusServiceWatcher::modeChange()
watcher.setWatchMode(QDBusServiceWatcher::WatchForUnregistration);
// unregister it:
- con.unregisterService(serviceName);
+ con.unregisterService(registeredName);
QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceUnregistered(QString)), SLOT(exitLoop()));
QTestEventLoop::instance().enterLoop(1);
@@ -288,10 +344,10 @@ void tst_QDBusServiceWatcher::modeChange()
QCOMPARE(spyR.count(), 0);
QCOMPARE(spyU.count(), 1);
- QCOMPARE(spyU.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyU.at(0).at(0).toString(), registeredName);
QCOMPARE(spyO.count(), 1);
- QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(0).toString(), registeredName);
QCOMPARE(spyO.at(0).at(1).toString(), con.baseService());
QVERIFY(spyO.at(0).at(2).toString().isEmpty());
}
@@ -301,7 +357,7 @@ void tst_QDBusServiceWatcher::disconnectedConnection()
QDBusConnection con("");
QVERIFY(!con.isConnected());
- QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForRegistration);
+ QDBusServiceWatcher watcher(generateServiceName(), con, QDBusServiceWatcher::WatchForRegistration);
watcher.addWatchedService("com.example.somethingelse");
watcher.addWatchedService("org.freedesktop.DBus");
@@ -311,8 +367,15 @@ void tst_QDBusServiceWatcher::disconnectedConnection()
watcher.setWatchedServices(QStringList());
}
+void tst_QDBusServiceWatcher::setConnection_data()
+{
+ QTest::addColumn<QString>("serviceName");
+ QTest::newRow("normal") << generateServiceName();
+}
+
void tst_QDBusServiceWatcher::setConnection()
{
+ QFETCH(QString, serviceName);
// begin with a disconnected connection
QDBusConnection con("");
QVERIFY(!con.isConnected());
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index 5ffd75f931..441ec17412 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -230,9 +230,12 @@ private slots:
void convertColorTable();
+ void wideImage();
+
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
void toWinHBITMAP_data();
void toWinHBITMAP();
+ void fromMonoHBITMAP();
#endif // Q_OS_WIN && !Q_OS_WINRT
private:
@@ -298,6 +301,8 @@ static QLatin1String formatToString(QImage::Format format)
return QLatin1String("RGBA64");
case QImage::Format_RGBA64_Premultiplied:
return QLatin1String("RGBA64pm");
+ case QImage::Format_Grayscale16:
+ return QLatin1String("Grayscale16");
default:
break;
};
@@ -1847,7 +1852,9 @@ void tst_QImage::smoothScale4_data()
QTest::addColumn<QImage::Format>("format");
QTest::newRow("RGB32") << QImage::Format_RGB32;
+#if QT_CONFIG(raster_64bit)
QTest::newRow("RGBx64") << QImage::Format_RGBX64;
+#endif
}
void tst_QImage::smoothScale4()
@@ -2366,8 +2373,11 @@ void tst_QImage::rgbSwapped_data()
QTest::addColumn<QImage::Format>("format");
for (int i = QImage::Format_Indexed8; i < QImage::NImageFormats; ++i) {
- if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8)
+ if (i == QImage::Format_Alpha8
+ || i == QImage::Format_Grayscale8
+ || i == QImage::Format_Grayscale16) {
continue;
+ }
QTest::addRow("%s", formatToString(QImage::Format(i)).data()) << QImage::Format(i);
}
}
@@ -2612,8 +2622,11 @@ void tst_QImage::inplaceMirrored_data()
QTest::addColumn<bool>("swap_horizontal");
for (int i = QImage::Format_Mono; i < QImage::NImageFormats; ++i) {
- if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8)
+ if (i == QImage::Format_Alpha8
+ || i == QImage::Format_Grayscale8
+ || i == QImage::Format_Grayscale16) {
continue;
+ }
if (i == QImage::Format_RGB444 || i == QImage::Format_ARGB4444_Premultiplied)
continue;
const auto fmt = formatToString(QImage::Format(i));
@@ -2785,11 +2798,11 @@ void tst_QImage::genericRgbConversion_data()
QTest::addColumn<QImage::Format>("dest_format");
for (int i = QImage::Format_RGB32; i < QImage::NImageFormats; ++i) {
- if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8)
+ if (i == QImage::Format_Alpha8)
continue;
const QLatin1String formatI = formatToString(QImage::Format(i));
for (int j = QImage::Format_RGB32; j < QImage::NImageFormats; ++j) {
- if (j == QImage::Format_Alpha8 || j == QImage::Format_Grayscale8)
+ if (j == QImage::Format_Alpha8)
continue;
if (i == j)
continue;
@@ -2805,6 +2818,9 @@ void tst_QImage::genericRgbConversion()
QFETCH(QImage::Format, format);
QFETCH(QImage::Format, dest_format);
+ bool srcGrayscale = format == QImage::Format_Grayscale8 || format == QImage::Format_Grayscale16;
+ bool dstGrayscale = dest_format == QImage::Format_Grayscale8 || dest_format == QImage::Format_Grayscale16;
+
QImage image(16, 16, format);
for (int i = 0; i < image.height(); ++i)
@@ -2816,8 +2832,12 @@ void tst_QImage::genericRgbConversion()
for (int i = 0; i < imageConverted.height(); ++i) {
for (int j = 0; j < imageConverted.width(); ++j) {
QRgb convertedColor = imageConverted.pixel(j,i);
- QCOMPARE(qRed(convertedColor) & 0xF0, j * 16);
- QCOMPARE(qGreen(convertedColor) & 0xF0, i * 16);
+ if (srcGrayscale || dstGrayscale) {
+ QVERIFY(qAbs(qGray(convertedColor) - qGray(qRgb(j*16, i*16, 0))) < 15);
+ } else {
+ QCOMPARE(qRed(convertedColor) & 0xF0, j * 16);
+ QCOMPARE(qGreen(convertedColor) & 0xF0, i * 16);
+ }
}
}
}
@@ -2828,11 +2848,17 @@ void tst_QImage::inplaceRgbConversion_data()
QTest::addColumn<QImage::Format>("dest_format");
for (int i = QImage::Format_RGB32; i < QImage::NImageFormats; ++i) {
- if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8)
+ if (i == QImage::Format_Alpha8
+ || i == QImage::Format_Grayscale8
+ || i == QImage::Format_Grayscale16) {
continue;
+ }
for (int j = QImage::Format_RGB32; j < QImage::NImageFormats; ++j) {
- if (j == QImage::Format_Alpha8 || j == QImage::Format_Grayscale8)
+ if (j == QImage::Format_Alpha8
+ || j == QImage::Format_Grayscale8
+ || j == QImage::Format_Grayscale16) {
continue;
+ }
if (i == j)
continue;
QTest::addRow("%s -> %s", formatToString(QImage::Format(i)).data(), formatToString(QImage::Format(j)).data())
@@ -3002,8 +3028,11 @@ void tst_QImage::invertPixelsRGB_data()
QTest::addColumn<QImage::Format>("image_format");
for (int i = QImage::Format_RGB32; i < QImage::NImageFormats; ++i) {
- if (i == QImage::Format_Alpha8 || i == QImage::Format_Grayscale8)
+ if (i == QImage::Format_Alpha8
+ || i == QImage::Format_Grayscale8
+ || i == QImage::Format_Grayscale16) {
continue;
+ }
QTest::addRow("%s", formatToString(QImage::Format(i)).data()) << QImage::Format(i);
}
}
@@ -3257,11 +3286,46 @@ void tst_QImage::metadataPassthrough()
QCOMPARE(mirrored.dotsPerMeterY(), a.dotsPerMeterY());
QCOMPARE(mirrored.devicePixelRatio(), a.devicePixelRatio());
+ QTransform t;
+ t.rotate(90);
+ QImage rotated = a.transformed(t);
+ QCOMPARE(rotated.text(QStringLiteral("Test")), a.text(QStringLiteral("Test")));
+ QCOMPARE(rotated.dotsPerMeterX(), a.dotsPerMeterX());
+ QCOMPARE(rotated.dotsPerMeterY(), a.dotsPerMeterY());
+ QCOMPARE(rotated.devicePixelRatio(), a.devicePixelRatio());
+
QImage swapped = a.rgbSwapped();
QCOMPARE(swapped.text(QStringLiteral("Test")), a.text(QStringLiteral("Test")));
QCOMPARE(swapped.dotsPerMeterX(), a.dotsPerMeterX());
QCOMPARE(swapped.dotsPerMeterY(), a.dotsPerMeterY());
QCOMPARE(swapped.devicePixelRatio(), a.devicePixelRatio());
+
+ QImage converted = a.convertToFormat(QImage::Format_RGB32);
+ QCOMPARE(converted.text(QStringLiteral("Test")), a.text(QStringLiteral("Test")));
+ QCOMPARE(converted.dotsPerMeterX(), a.dotsPerMeterX());
+ QCOMPARE(converted.dotsPerMeterY(), a.dotsPerMeterY());
+ QCOMPARE(converted.devicePixelRatio(), a.devicePixelRatio());
+
+ QImage copied = a.copy(0, 0, a.width() / 2, a.height() / 2);
+ QCOMPARE(copied.text(QStringLiteral("Test")), a.text(QStringLiteral("Test")));
+ QCOMPARE(copied.dotsPerMeterX(), a.dotsPerMeterX());
+ QCOMPARE(copied.dotsPerMeterY(), a.dotsPerMeterY());
+ QCOMPARE(copied.devicePixelRatio(), a.devicePixelRatio());
+
+ QImage alphaMask = a.createAlphaMask();
+ QCOMPARE(alphaMask.dotsPerMeterX(), a.dotsPerMeterX());
+ QCOMPARE(alphaMask.dotsPerMeterY(), a.dotsPerMeterY());
+ QCOMPARE(alphaMask.devicePixelRatio(), a.devicePixelRatio());
+
+ QImage heuristicMask = a.createHeuristicMask();
+ QCOMPARE(heuristicMask.dotsPerMeterX(), a.dotsPerMeterX());
+ QCOMPARE(heuristicMask.dotsPerMeterY(), a.dotsPerMeterY());
+ QCOMPARE(heuristicMask.devicePixelRatio(), a.devicePixelRatio());
+
+ QImage maskFromColor = a.createMaskFromColor(qRgb(0, 0, 0));
+ QCOMPARE(maskFromColor.dotsPerMeterX(), a.dotsPerMeterX());
+ QCOMPARE(maskFromColor.dotsPerMeterY(), a.dotsPerMeterY());
+ QCOMPARE(maskFromColor.devicePixelRatio(), a.devicePixelRatio());
}
void tst_QImage::pixelColor()
@@ -3341,7 +3405,7 @@ void tst_QImage::ditherGradient_data()
QTest::newRow("rgb32 -> rgb666 (dithering)") << rgb32 << QImage::Format_RGB666 << int(Qt::PreferDither | Qt::OrderedDither) << 129;
// Test we get the same results for opaque input in the ARGBPM implementation.
- rgb32 = qMove(rgb32).convertToFormat(QImage::Format_ARGB32_Premultiplied);
+ rgb32 = std::move(rgb32).convertToFormat(QImage::Format_ARGB32_Premultiplied);
QTest::newRow("argb32pm -> argb4444pm (no dither)") << rgb32 << QImage::Format_ARGB4444_Premultiplied << 0 << 16;
QTest::newRow("argb32pm -> rgb444 (dithering)") << rgb32 << QImage::Format_RGB444 << int(Qt::PreferDither | Qt::OrderedDither) << 33;
QTest::newRow("argb32pm -> argb4444pm (dithering)") << rgb32 << QImage::Format_ARGB4444_Premultiplied << int(Qt::PreferDither | Qt::OrderedDither) << 33;
@@ -3350,6 +3414,7 @@ void tst_QImage::ditherGradient_data()
QTest::newRow("argb32pm -> argb6666pm (no dither)") << rgb32 << QImage::Format_ARGB6666_Premultiplied << 0 << 64;
QTest::newRow("argb32pm -> argb6666pm (dithering)") << rgb32 << QImage::Format_ARGB6666_Premultiplied << int(Qt::PreferDither | Qt::OrderedDither) << 129;
+#if QT_CONFIG(raster_64bit)
QImage rgb30(1024, 16, QImage::Format_RGB30);
QLinearGradient gradient30(QRectF(rgb30.rect()).topLeft(), QRectF(rgb30.rect()).topRight());
gradient30.setColorAt(0.0, QColor(0, 0, 0));
@@ -3362,6 +3427,7 @@ void tst_QImage::ditherGradient_data()
QTest::newRow("rgb30 -> rgb32 (dithering)") << rgb30 << QImage::Format_RGB32 << int(Qt::PreferDither | Qt::OrderedDither) << 513;
QTest::newRow("rgb30 -> rgb888 (no dither)") << rgb30 << QImage::Format_RGB888 << 0 << 256;
QTest::newRow("rgb30 -> rgb888 (dithering)") << rgb30 << QImage::Format_RGB888 << int(Qt::PreferDither | Qt::OrderedDither) << 513;
+#endif
}
void tst_QImage::ditherGradient()
@@ -3534,6 +3600,24 @@ void tst_QImage::convertColorTable()
QCOMPARE(rgb32.pixel(0,0), 0xffffffff);
}
+void tst_QImage::wideImage()
+{
+ // QTBUG-73731 and QTBUG-73732
+ QImage i(538994187, 2, QImage::Format_ARGB32);
+ QImage i2(32, 32, QImage::Format_ARGB32);
+ i2.fill(Qt::white);
+
+ // Test that it doesn't crash:
+ QPainter painter(&i);
+ // With the composition mode is SourceOver out it's an invalid write
+ // With the composition mode is Source it's an invalid read
+ painter.drawImage(0, 0, i2);
+ painter.setCompositionMode(QPainter::CompositionMode_Source);
+ painter.drawImage(0, 0, i2);
+
+ // Qt6: Test that it actually works on 64bit architectures.
+}
+
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
QT_BEGIN_NAMESPACE
Q_GUI_EXPORT HBITMAP qt_imageToWinHBITMAP(const QImage &p, int hbitmapFormat = 0);
@@ -3635,6 +3719,19 @@ void tst_QImage::toWinHBITMAP()
DeleteDC(bitmapDc);
ReleaseDC(0, displayDc);
}
+
+void tst_QImage::fromMonoHBITMAP() // QTBUG-72343, corruption for mono bitmaps
+{
+ enum : int { width = 32, height = 32, size = width * height / 8 }; // 32x32 mono bitmap
+ char bitmapData[size];
+ memset(bitmapData, 0, size);
+ const HBITMAP hbitmap = CreateBitmap(width, height, /* planes */ 1, /* bitcount */ 1, bitmapData);
+ const QImage image = qt_imageFromWinHBITMAP(hbitmap);
+ QCOMPARE(image.size(), QSize(width, height));
+ QCOMPARE(image.scanLine(0)[0], 0u);
+ DeleteObject(hbitmap);
+}
+
#endif // Q_OS_WIN && !Q_OS_WINRT
QTEST_GUILESS_MAIN(tst_QImage)
diff --git a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
index aa9a990fef..1cf01133b2 100644
--- a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
+++ b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp
@@ -525,7 +525,7 @@ void tst_QImageReader::imageFormat_data()
QTest::newRow("png") << QString("kollada.png") << QByteArray("png") << QImage::Format_ARGB32;
QTest::newRow("png-2") << QString("YCbCr_cmyk.png") << QByteArray("png") << QImage::Format_RGB32;
QTest::newRow("png-3") << QString("kollada-16bpc.png") << QByteArray("png") << QImage::Format_RGBA64;
- QTest::newRow("png-4") << QString("basn0g16.png") << QByteArray("png") << QImage::Format_RGBX64; // Grayscale16
+ QTest::newRow("png-4") << QString("basn0g16.png") << QByteArray("png") << QImage::Format_Grayscale16;
QTest::newRow("png-5") << QString("basn2c16.png") << QByteArray("png") << QImage::Format_RGBX64;
QTest::newRow("png-6") << QString("basn4a16.png") << QByteArray("png") << QImage::Format_RGBA64; // Grayscale16Alpha16
QTest::newRow("png-7") << QString("basn6a16.png") << QByteArray("png") << QImage::Format_RGBA64;
@@ -1603,6 +1603,7 @@ void tst_QImageReader::supportsOption_data()
<< (QIntList() << QImageIOHandler::Gamma
<< QImageIOHandler::Description
<< QImageIOHandler::Quality
+ << QImageIOHandler::CompressionRatio
<< QImageIOHandler::Size
<< QImageIOHandler::ScaledSize);
}
diff --git a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
index a53c2ddb5b..aaa8475c74 100644
--- a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
+++ b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
@@ -239,7 +239,7 @@ void tst_QImageWriter::writeImage2_data()
// QLatin1String("jpeg"),
};
- QImage image0(70, 70, QImage::Format_ARGB32);
+ QImage image0(70, 70, QImage::Format_RGB32);
image0.fill(QColor(Qt::red).rgb());
QImage::Format imgFormat = QImage::Format_Mono;
@@ -304,10 +304,10 @@ void tst_QImageWriter::writeImage2()
if (!equalImageContents(written, image)) {
qDebug() << "image" << image.format() << image.width()
<< image.height() << image.depth()
- << hex << image.pixel(0, 0);
+ << image.pixelColor(0, 0);
qDebug() << "written" << written.format() << written.width()
<< written.height() << written.depth()
- << hex << written.pixel(0, 0);
+ << written.pixelColor(0, 0);
}
QVERIFY(equalImageContents(written, image));
@@ -408,6 +408,7 @@ void tst_QImageWriter::supportsOption_data()
<< (QIntList() << QImageIOHandler::Gamma
<< QImageIOHandler::Description
<< QImageIOHandler::Quality
+ << QImageIOHandler::CompressionRatio
<< QImageIOHandler::Size
<< QImageIOHandler::ScaledSize);
}
diff --git a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
index 9a338ad55a..4d31d80246 100644
--- a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
@@ -121,6 +121,7 @@ private slots:
void copy();
void deepCopyPreservesDpr();
+ void dprPassthrough();
void depthOfNullObjects();
void transformed();
@@ -1169,6 +1170,39 @@ void tst_QPixmap::deepCopyPreservesDpr()
QCOMPARE(dest.devicePixelRatio(), dpr);
}
+void tst_QPixmap::dprPassthrough()
+{
+ const qreal dpr = 2;
+ QPixmap src(32, 32);
+ src.setDevicePixelRatio(dpr);
+ src.fill(Qt::transparent);
+ QCOMPARE(src.devicePixelRatio(), dpr);
+
+ QImage img = src.toImage();
+ QCOMPARE(img.devicePixelRatio(), dpr);
+
+ QPixmap pm(1, 1);
+ pm.convertFromImage(img);
+ QCOMPARE(pm.devicePixelRatio(), dpr);
+
+ QBitmap heuristicMask = src.createHeuristicMask();
+ QCOMPARE(heuristicMask.devicePixelRatio(), dpr);
+
+ QBitmap maskFromColor = src.createMaskFromColor(Qt::white);
+ QCOMPARE(maskFromColor.devicePixelRatio(), dpr);
+
+ QBitmap mask = src.mask();
+ QCOMPARE(mask.devicePixelRatio(), dpr);
+
+ QPixmap scaled = src.scaled(16, 16);
+ QCOMPARE(scaled.devicePixelRatio(), dpr);
+
+ QTransform t;
+ t.rotate(90);
+ QPixmap transformed = src.transformed(t);
+ QCOMPARE(transformed.devicePixelRatio(), dpr);
+}
+
void tst_QPixmap::depthOfNullObjects()
{
QBitmap b1;
diff --git a/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp b/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp
index d19aa9b54f..2deb84fa5f 100644
--- a/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditem/tst_qstandarditem.cpp
@@ -202,9 +202,7 @@ void tst_QStandardItem::getSetData()
QCOMPARE(qvariant_cast<QSize>(item.data(Qt::SizeHintRole)), sizeHint);
QCOMPARE(qvariant_cast<QFont>(item.data(Qt::FontRole)), font);
QCOMPARE(qvariant_cast<int>(item.data(Qt::TextAlignmentRole)), int(textAlignment));
- QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundColorRole)), QBrush(backgroundColor));
QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundRole)), QBrush(backgroundColor));
- QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::TextColorRole)), QBrush(textColor));
QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::ForegroundRole)), QBrush(textColor));
QCOMPARE(qvariant_cast<int>(item.data(Qt::CheckStateRole)), int(checkState));
QCOMPARE(qvariant_cast<QString>(item.data(Qt::AccessibleTextRole)), accessibleText);
@@ -236,9 +234,7 @@ void tst_QStandardItem::getSetData()
QCOMPARE(item.data(Qt::SizeHintRole), QVariant());
QCOMPARE(item.data(Qt::FontRole), QVariant());
QCOMPARE(item.data(Qt::TextAlignmentRole), QVariant());
- QCOMPARE(item.data(Qt::BackgroundColorRole), QVariant());
QCOMPARE(item.data(Qt::BackgroundRole), QVariant());
- QCOMPARE(item.data(Qt::TextColorRole), QVariant());
QCOMPARE(item.data(Qt::ForegroundRole), QVariant());
QCOMPARE(item.data(Qt::CheckStateRole), QVariant());
QCOMPARE(item.data(Qt::AccessibleTextRole), QVariant());
diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
index e2d7a41bd1..550f70890e 100644
--- a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
@@ -1160,7 +1160,7 @@ void tst_QStandardItemModel::getSetItemData()
QColor backgroundColor(Qt::blue);
roles.insert(Qt::BackgroundRole, backgroundColor);
QColor textColor(Qt::green);
- roles.insert(Qt::TextColorRole, textColor);
+ roles.insert(Qt::ForegroundRole, textColor);
Qt::CheckState checkState(Qt::PartiallyChecked);
roles.insert(Qt::CheckStateRole, int(checkState));
QLatin1String accessibleText("accessibleText");
diff --git a/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp b/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp
index 993ebbaac6..bff9f7d0e0 100644
--- a/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp
+++ b/tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp
@@ -215,7 +215,7 @@ static bool runHelper(const QString &program, const QStringList &arguments, QByt
{
#if QT_CONFIG(process)
QProcess process;
- process.setReadChannelMode(QProcess::ForwardedChannels);
+ process.setProcessChannelMode(QProcess::ForwardedChannels);
process.start(program, arguments);
if (!process.waitForStarted()) {
*errorMessage = "Unable to start '" + program.toLocal8Bit() + " ': "
diff --git a/tests/auto/gui/kernel/qguieventdispatcher/BLACKLIST b/tests/auto/gui/kernel/qguieventdispatcher/BLACKLIST
new file mode 100644
index 0000000000..b1590a5ccf
--- /dev/null
+++ b/tests/auto/gui/kernel/qguieventdispatcher/BLACKLIST
@@ -0,0 +1,5 @@
+[sendPostedEvents]
+windows
+[registerTimer]
+windows
+winrt
diff --git a/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp b/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp
index a0ac1b3631..234793a7cf 100644
--- a/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp
+++ b/tests/auto/gui/kernel/qpalette/tst_qpalette.cpp
@@ -37,6 +37,7 @@ class tst_QPalette : public QObject
private Q_SLOTS:
void roleValues_data();
void roleValues();
+ void resolve();
void copySemantics();
void moveSemantics();
void setBrush();
@@ -80,6 +81,43 @@ void tst_QPalette::roleValues()
QCOMPARE(role, value);
}
+void tst_QPalette::resolve()
+{
+ QPalette p1;
+ p1.setBrush(QPalette::WindowText, Qt::green);
+ p1.setBrush(QPalette::Button, Qt::green);
+
+ QVERIFY(p1.isBrushSet(QPalette::Active, QPalette::WindowText));
+ QVERIFY(p1.isBrushSet(QPalette::Active, QPalette::Button));
+
+ QPalette p2;
+ p2.setBrush(QPalette::WindowText, Qt::red);
+
+ QVERIFY(p2.isBrushSet(QPalette::Active, QPalette::WindowText));
+ QVERIFY(!p2.isBrushSet(QPalette::Active, QPalette::Button));
+
+ QPalette p1ResolvedTo2 = p1.resolve(p2);
+ // p1ResolvedTo2 gets everything from p1 and nothing copied from p2 because
+ // it already has a WindowText. That is two brushes, and to the same value
+ // as p1.
+ QCOMPARE(p1ResolvedTo2, p1);
+ QVERIFY(p1ResolvedTo2.isBrushSet(QPalette::Active, QPalette::WindowText));
+ QCOMPARE(p1.windowText(), p1ResolvedTo2.windowText());
+ QVERIFY(p1ResolvedTo2.isBrushSet(QPalette::Active, QPalette::Button));
+ QCOMPARE(p1.button(), p1ResolvedTo2.button());
+
+ QPalette p2ResolvedTo1 = p2.resolve(p1);
+ // p2ResolvedTo1 gets the WindowText set, and to the same value as the
+ // original p2, however, Button gets set from p1.
+ QVERIFY(p2ResolvedTo1.isBrushSet(QPalette::Active, QPalette::WindowText));
+ QCOMPARE(p2.windowText(), p2ResolvedTo1.windowText());
+ QVERIFY(p2ResolvedTo1.isBrushSet(QPalette::Active, QPalette::Button));
+ QCOMPARE(p1.button(), p2ResolvedTo1.button());
+
+ QVERIFY(p2ResolvedTo1 != p1);
+ QVERIFY(p2ResolvedTo1 != p2);
+}
+
void tst_QPalette::copySemantics()
{
QPalette src(Qt::red), dst;
@@ -110,14 +148,14 @@ void tst_QPalette::moveSemantics()
QCOMPARE(src, control);
QVERIFY(!dst.isCopyOf(src));
QVERIFY(!dst.isCopyOf(control));
- dst = qMove(src); // move assignment
+ dst = std::move(src); // move assignment
QVERIFY(!dst.isCopyOf(src)); // isCopyOf() works on moved-from palettes, too
QVERIFY(dst.isCopyOf(control));
QCOMPARE(dst, control);
src = control; // check moved-from 'src' can still be assigned to (doesn't crash)
QVERIFY(src.isCopyOf(dst));
QVERIFY(src.isCopyOf(control));
- QPalette dst2(qMove(src)); // move construction
+ QPalette dst2(std::move(src)); // move construction
QVERIFY(!src.isCopyOf(dst));
QVERIFY(!src.isCopyOf(dst2));
QVERIFY(!src.isCopyOf(control));
diff --git a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
index db5e83e2c7..13dc924f93 100644
--- a/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
+++ b/tests/auto/gui/kernel/qtouchevent/tst_qtouchevent.cpp
@@ -204,6 +204,7 @@ private slots:
void basicRawEventTranslationOfIds();
void multiPointRawEventTranslationOnTouchScreen();
void multiPointRawEventTranslationOnTouchPad();
+ void touchOnMultipleTouchscreens();
void deleteInEventHandler();
void deleteInRawEventTranslation();
void crashInQGraphicsSceneAfterNotHandlingTouchBegin();
@@ -213,11 +214,13 @@ private slots:
private:
QTouchDevice *touchScreenDevice;
+ QTouchDevice *secondaryTouchScreenDevice;
QTouchDevice *touchPadDevice;
};
tst_QTouchEvent::tst_QTouchEvent()
: touchScreenDevice(QTest::createTouchDevice())
+ , secondaryTouchScreenDevice(QTest::createTouchDevice())
, touchPadDevice(QTest::createTouchDevice(QTouchDevice::TouchPad))
{
}
@@ -225,6 +228,7 @@ tst_QTouchEvent::tst_QTouchEvent()
void tst_QTouchEvent::cleanup()
{
QVERIFY(QGuiApplication::topLevelWindows().isEmpty());
+ QWindowSystemInterfacePrivate::clearPointIdMap();
}
void tst_QTouchEvent::qPointerUniqueId()
@@ -951,6 +955,157 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchScreen()
}
}
+void tst_QTouchEvent::touchOnMultipleTouchscreens()
+{
+ tst_QTouchEventWidget touchWidget;
+ touchWidget.setWindowTitle(QTest::currentTestFunction());
+ touchWidget.setAttribute(Qt::WA_AcceptTouchEvents);
+ touchWidget.setGeometry(100, 100, 400, 300);
+ touchWidget.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&touchWidget));
+ QWindow *window = touchWidget.windowHandle();
+
+ QPointF pos = touchWidget.rect().center();
+ QPointF screenPos = touchWidget.mapToGlobal(pos.toPoint());
+ QPointF delta(10, 10);
+ QRectF screenGeometry = QApplication::desktop()->screenGeometry(&touchWidget);
+
+ QVector<QTouchEvent::TouchPoint> rawTouchPoints(3);
+ rawTouchPoints[0].setId(0);
+ rawTouchPoints[1].setId(10);
+ rawTouchPoints[2].setId(11);
+
+ // this should be translated to a TouchBegin
+ rawTouchPoints[0].setState(Qt::TouchPointPressed);
+ rawTouchPoints[0].setScreenPos(screenPos);
+ rawTouchPoints[0].setNormalizedPos(normalized(rawTouchPoints[0].pos(), screenGeometry));
+ rawTouchPoints[0].setRawScreenPositions({{12, 34}, {56, 78}});
+ ulong timestamp = 1234;
+ QList<QWindowSystemInterface::TouchPoint> nativeTouchPoints =
+ QWindowSystemInterfacePrivate::toNativeTouchPoints(QList<QTouchEvent::TouchPoint>() << rawTouchPoints[0], window);
+ QWindowSystemInterface::handleTouchEvent(window, timestamp, touchScreenDevice, nativeTouchPoints);
+ QCoreApplication::processEvents();
+ QVERIFY(touchWidget.seenTouchBegin);
+ QVERIFY(!touchWidget.seenTouchUpdate);
+ QVERIFY(!touchWidget.seenTouchEnd);
+ QCOMPARE(touchWidget.touchBeginPoints.count(), 1);
+ QCOMPARE(touchWidget.timestamp, timestamp);
+ QTouchEvent::TouchPoint touchBeginPoint = touchWidget.touchBeginPoints.first();
+ const int touchPointId = (QTouchDevicePrivate::get(touchScreenDevice)->id << 24) + 1;
+ const int secTouchPointId = (QTouchDevicePrivate::get(secondaryTouchScreenDevice)->id << 24) + 2;
+ QCOMPARE(touchBeginPoint.id(), touchPointId);
+ QCOMPARE(touchBeginPoint.state(), rawTouchPoints[0].state());
+ QCOMPARE(touchBeginPoint.pos(), pos);
+
+ // press a point on secondaryTouchScreenDevice
+ touchWidget.seenTouchBegin = false;
+ rawTouchPoints[1].setState(Qt::TouchPointPressed);
+ rawTouchPoints[1].setScreenPos(screenPos);
+ rawTouchPoints[1].setNormalizedPos(normalized(rawTouchPoints[1].pos(), screenGeometry));
+ rawTouchPoints[1].setRawScreenPositions({{90, 100}, {110, 120}});
+ nativeTouchPoints =
+ QWindowSystemInterfacePrivate::toNativeTouchPoints(QList<QTouchEvent::TouchPoint>() << rawTouchPoints[1], window);
+ QWindowSystemInterface::handleTouchEvent(window, ++timestamp, secondaryTouchScreenDevice, nativeTouchPoints);
+ QCoreApplication::processEvents();
+ QVERIFY(!touchWidget.seenTouchEnd);
+ QCOMPARE(touchWidget.touchBeginPoints.count(), 1);
+ QCOMPARE(touchWidget.timestamp, timestamp);
+ touchBeginPoint = touchWidget.touchBeginPoints[0];
+ QCOMPARE(touchBeginPoint.id(), (QTouchDevicePrivate::get(secondaryTouchScreenDevice)->id << 24) + 2);
+ QCOMPARE(touchBeginPoint.state(), rawTouchPoints[1].state());
+ QCOMPARE(touchBeginPoint.pos(), pos);
+
+ // press another point on secondaryTouchScreenDevice
+ touchWidget.seenTouchBegin = false;
+ rawTouchPoints[2].setState(Qt::TouchPointPressed);
+ rawTouchPoints[2].setScreenPos(screenPos);
+ rawTouchPoints[2].setNormalizedPos(normalized(rawTouchPoints[2].pos(), screenGeometry));
+ rawTouchPoints[2].setRawScreenPositions({{130, 140}, {150, 160}});
+ nativeTouchPoints =
+ QWindowSystemInterfacePrivate::toNativeTouchPoints(QList<QTouchEvent::TouchPoint>() << rawTouchPoints[2], window);
+ QWindowSystemInterface::handleTouchEvent(window, ++timestamp, secondaryTouchScreenDevice, nativeTouchPoints);
+ QCoreApplication::processEvents();
+ QVERIFY(!touchWidget.seenTouchEnd);
+ QCOMPARE(touchWidget.touchBeginPoints.count(), 1);
+ QCOMPARE(touchWidget.timestamp, timestamp);
+ touchBeginPoint = touchWidget.touchBeginPoints[0];
+ QCOMPARE(touchBeginPoint.id(), (QTouchDevicePrivate::get(secondaryTouchScreenDevice)->id << 24) + 3);
+ QCOMPARE(touchBeginPoint.state(), rawTouchPoints[2].state());
+ QCOMPARE(touchBeginPoint.pos(), pos);
+
+ // moving the first point should translate to TouchUpdate
+ rawTouchPoints[0].setState(Qt::TouchPointMoved);
+ rawTouchPoints[0].setScreenPos(screenPos + delta);
+ rawTouchPoints[0].setNormalizedPos(normalized(rawTouchPoints[0].pos(), screenGeometry));
+ nativeTouchPoints =
+ QWindowSystemInterfacePrivate::toNativeTouchPoints(QList<QTouchEvent::TouchPoint>() << rawTouchPoints[0], window);
+ QWindowSystemInterface::handleTouchEvent(window, ++timestamp, touchScreenDevice, nativeTouchPoints);
+ QCoreApplication::processEvents();
+ QVERIFY(touchWidget.seenTouchBegin);
+ QVERIFY(touchWidget.seenTouchUpdate);
+ QVERIFY(!touchWidget.seenTouchEnd);
+ QCOMPARE(touchWidget.touchUpdatePoints.count(), 1);
+ QTouchEvent::TouchPoint touchUpdatePoint = touchWidget.touchUpdatePoints.first();
+ QCOMPARE(touchUpdatePoint.id(), touchPointId);
+ QCOMPARE(touchUpdatePoint.state(), rawTouchPoints[0].state());
+ QCOMPARE(touchUpdatePoint.pos(), pos + delta);
+
+ // releasing the first point translates to TouchEnd
+ rawTouchPoints[0].setState(Qt::TouchPointReleased);
+ rawTouchPoints[0].setScreenPos(screenPos + delta + delta);
+ rawTouchPoints[0].setNormalizedPos(normalized(rawTouchPoints[0].pos(), screenGeometry));
+ nativeTouchPoints =
+ QWindowSystemInterfacePrivate::toNativeTouchPoints(QList<QTouchEvent::TouchPoint>() << rawTouchPoints[0], window);
+ QWindowSystemInterface::handleTouchEvent(window, ++timestamp, touchScreenDevice, nativeTouchPoints);
+ QCoreApplication::processEvents();
+ QVERIFY(touchWidget.seenTouchBegin);
+ QVERIFY(touchWidget.seenTouchUpdate);
+ QVERIFY(touchWidget.seenTouchEnd);
+ QCOMPARE(touchWidget.touchEndPoints.count(), 1);
+ QTouchEvent::TouchPoint touchEndPoint = touchWidget.touchEndPoints.first();
+ QCOMPARE(touchEndPoint.id(), touchPointId);
+ QCOMPARE(touchEndPoint.state(), rawTouchPoints[0].state());
+ QCOMPARE(touchEndPoint.pos(), pos + delta + delta);
+
+ // Widgets don't normally handle this case: if a TouchEnd was seen before, then
+ // WA_WState_AcceptedTouchBeginEvent will be false, and
+ // QApplicationPrivate::translateRawTouchEvent will ignore touch events that aren't TouchBegin.
+ // So we have to set it true. It _did_ in fact accept the touch begin from the secondary device,
+ // but it also got a TouchEnd from the primary device in the meantime.
+ touchWidget.setAttribute(Qt::WA_WState_AcceptedTouchBeginEvent, true);
+
+ // Releasing one point on the secondary touchscreen does not yet generate TouchEnd.
+ touchWidget.seenTouchEnd = false;
+ touchWidget.touchEndPoints.clear();
+ rawTouchPoints[1].setState(Qt::TouchPointReleased);
+ rawTouchPoints[2].setState(Qt::TouchPointStationary);
+ nativeTouchPoints =
+ QWindowSystemInterfacePrivate::toNativeTouchPoints(QList<QTouchEvent::TouchPoint>() << rawTouchPoints[1] << rawTouchPoints[2], window);
+ QWindowSystemInterface::handleTouchEvent(window, ++timestamp, secondaryTouchScreenDevice, nativeTouchPoints);
+ QCoreApplication::processEvents();
+ QVERIFY(touchWidget.seenTouchBegin);
+ QVERIFY(touchWidget.seenTouchUpdate);
+ QVERIFY(!touchWidget.seenTouchEnd);
+ QCOMPARE(touchWidget.touchUpdatePoints.count(), 2);
+ QCOMPARE(touchWidget.touchUpdatePoints[0].id(), secTouchPointId);
+ QCOMPARE(touchWidget.touchUpdatePoints[1].id(), secTouchPointId + 1);
+
+ // releasing the last point on the secondary touchscreen translates to TouchEnd
+ touchWidget.seenTouchEnd = false;
+ rawTouchPoints[2].setState(Qt::TouchPointReleased);
+ nativeTouchPoints =
+ QWindowSystemInterfacePrivate::toNativeTouchPoints(QList<QTouchEvent::TouchPoint>() << rawTouchPoints[2], window);
+ QWindowSystemInterface::handleTouchEvent(window, ++timestamp, secondaryTouchScreenDevice, nativeTouchPoints);
+ QCoreApplication::processEvents();
+ QVERIFY(touchWidget.seenTouchBegin);
+ QVERIFY(touchWidget.seenTouchUpdate);
+ QVERIFY(touchWidget.seenTouchEnd);
+ QCOMPARE(touchWidget.touchEndPoints.count(), 1);
+ touchEndPoint = touchWidget.touchEndPoints.first();
+ QCOMPARE(touchEndPoint.id(), secTouchPointId + 1);
+ QCOMPARE(touchEndPoint.state(), rawTouchPoints[2].state());
+}
+
void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad()
{
tst_QTouchEventWidget touchWidget;
diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST
index e9a0d44ba7..caf39742f6 100644
--- a/tests/auto/gui/kernel/qwindow/BLACKLIST
+++ b/tests/auto/gui/kernel/qwindow/BLACKLIST
@@ -26,7 +26,6 @@ osx
# QTBUG-69163
android
[visibility]
-osx-10.11 ci
osx-10.12 ci
[testInputEvents]
@@ -40,6 +39,7 @@ android
[exposeEventOnShrink_QTBUG54040]
# QTBUG-69155
android
+opensuse
[initialSize]
# QTBUG-69159
android
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
index 7c24bbaadd..9415908383 100644
--- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
+++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
@@ -29,6 +29,7 @@
#include <qrasterwindow.h>
#include <qpa/qwindowsysteminterface.h>
#include <qpa/qplatformintegration.h>
+#include <qpa/qplatformwindow.h>
#include <private/qguiapplication_p.h>
#include <private/qhighdpiscaling_p.h>
#include <QtGui/QPainter>
@@ -114,6 +115,7 @@ private slots:
void cleanup();
void testBlockingWindowShownAfterModalDialog();
void generatedMouseMove();
+ void keepPendingUpdateRequests();
private:
QPoint m_availableTopLeft;
@@ -2451,6 +2453,27 @@ void tst_QWindow::generatedMouseMove()
QVERIFY(w.mouseMovedCount == 5);
}
+void tst_QWindow::keepPendingUpdateRequests()
+{
+ QRect geometry(m_availableTopLeft + QPoint(80, 80), m_testWindowSize);
+
+ Window window;
+ window.setGeometry(geometry);
+ window.show();
+ QCoreApplication::processEvents();
+ QTRY_VERIFY(window.isExposed());
+
+ window.requestUpdate();
+ window.close();
+ window.setVisible(true);
+
+ QPlatformWindow *platformWindow = window.handle();
+ QVERIFY(platformWindow);
+
+ QVERIFY(platformWindow->hasPendingUpdateRequest());
+ QTRY_VERIFY(!platformWindow->hasPendingUpdateRequest());
+}
+
#include <tst_qwindow.moc>
QTEST_MAIN(tst_QWindow)
diff --git a/tests/auto/gui/painting/painting.pro b/tests/auto/gui/painting/painting.pro
index 831fffab30..26e84c1b15 100644
--- a/tests/auto/gui/painting/painting.pro
+++ b/tests/auto/gui/painting/painting.pro
@@ -3,6 +3,7 @@ SUBDIRS=\
qpainterpath \
qpainterpathstroker \
qcolor \
+ qcolorspace \
qbrush \
qregion \
qpagelayout \
diff --git a/tests/auto/gui/painting/qbrush/tst_qbrush.cpp b/tests/auto/gui/painting/qbrush/tst_qbrush.cpp
index cd3eaa1478..ce6ce15767 100644
--- a/tests/auto/gui/painting/qbrush/tst_qbrush.cpp
+++ b/tests/auto/gui/painting/qbrush/tst_qbrush.cpp
@@ -345,6 +345,8 @@ void tst_QBrush::gradientPresets()
QGradient invalidPreset(QGradient::Preset(-1));
QCOMPARE(invalidPreset.type(), QGradient::NoGradient);
+ QBrush brush(invalidPreset);
+ QCOMPARE(brush.style(), Qt::NoBrush);
}
void fill(QPaintDevice *pd) {
diff --git a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
index ece7a30830..13d0618bd9 100644
--- a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
+++ b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
@@ -33,7 +33,7 @@
#include <qcolor.h>
#include <qdebug.h>
-#include <private/qcolorprofile_p.h>
+#include <private/qcolortrclut_p.h>
#include <private/qdrawingprimitive_sse2_p.h>
#include <qrgba64.h>
@@ -318,6 +318,9 @@ void tst_QColor::namehex_data()
QTest::newRow("global color darkCyan") << "#008080" << QColor(Qt::darkCyan);
QTest::newRow("global color darkMagenta") << "#800080" << QColor(Qt::darkMagenta);
QTest::newRow("global color darkYellow") << "#808000" << QColor(Qt::darkYellow);
+ QTest::newRow("#RGB") << "#888" << QColor(0x88, 0x88, 0x88);
+ QTest::newRow("#RRRGGGBBB") << "#80F80F80F" << QColor(qRgba64(0x80f8, 0x80f8, 0x80f8, 0xffff));
+ QTest::newRow("#RRRRGGGGBBBB") << "#808180818081" << QColor(qRgba64(0x8081, 0x8081, 0x8081, 0xffff));
QTest::newRow("transparent red") << "#66ff0000" << QColor(255, 0, 0, 102);
QTest::newRow("invalid red") << "#gg0000" << QColor();
QTest::newRow("invalid transparent") << "#gg00ff00" << QColor();
@@ -1288,7 +1291,7 @@ void tst_QColor::toCmyk_data()
<< QColor::fromHslF(180./360., 1., 0.5, 1.0);
QTest::newRow("data1")
- << QColor::fromCmyk(255, 255, 255, 255)
+ << QColor::fromCmyk(0, 0, 0, 255)
<< QColor::fromRgb(0, 0, 0)
<< QColor::fromRgb(0, 0, 0).toHsv()
<< QColor::fromRgb(0, 0, 0).toHsl();
@@ -1629,14 +1632,13 @@ void tst_QColor::qcolorprofile_data()
QTest::newRow("gamma=1.7") << qreal(1.7) << 2;
QTest::newRow("gamma=2.0") << qreal(2.0) << 8;
QTest::newRow("gamma=2.31") << qreal(2.31) << 33;
- QTest::newRow("SRgb") << qreal(0.0) << 7;
}
void tst_QColor::qcolorprofile()
{
QFETCH(qreal, gammaC);
QFETCH(int, tolerance);
- QColorProfile *cp = (gammaC == 0) ? QColorProfile::fromSRgb(): QColorProfile::fromGamma(gammaC);
+ QColorTrcLut *cp = QColorTrcLut::fromGamma(gammaC);
// Test we are accurate for most values after converting through gamma-correction.
int error = 0;
diff --git a/tests/auto/gui/painting/qcolorspace/qcolorspace.pro b/tests/auto/gui/painting/qcolorspace/qcolorspace.pro
new file mode 100644
index 0000000000..14bd699bf7
--- /dev/null
+++ b/tests/auto/gui/painting/qcolorspace/qcolorspace.pro
@@ -0,0 +1,9 @@
+CONFIG += testcase
+QT += testlib gui-private core-private
+
+TARGET = tst_qcolorspace
+SOURCES += tst_qcolorspace.cpp
+
+RESOURCES += $$files(resources/*)
+
+TESTDATA += resources/*
diff --git a/tests/auto/gui/painting/qcolorspace/resources/ProPhoto.jpg b/tests/auto/gui/painting/qcolorspace/resources/ProPhoto.jpg
new file mode 100644
index 0000000000..481d35ca8e
--- /dev/null
+++ b/tests/auto/gui/painting/qcolorspace/resources/ProPhoto.jpg
Binary files differ
diff --git a/tests/auto/gui/painting/qcolorspace/resources/sRGB2014.icc b/tests/auto/gui/painting/qcolorspace/resources/sRGB2014.icc
new file mode 100644
index 0000000000..49afbfef10
--- /dev/null
+++ b/tests/auto/gui/painting/qcolorspace/resources/sRGB2014.icc
Binary files differ
diff --git a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
new file mode 100644
index 0000000000..9bd4b75443
--- /dev/null
+++ b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
@@ -0,0 +1,238 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+#include <qcolorspace.h>
+#include <qimage.h>
+#include <qimagereader.h>
+
+Q_DECLARE_METATYPE(QColorSpace::ColorSpaceId)
+Q_DECLARE_METATYPE(QColorSpace::Gamut)
+Q_DECLARE_METATYPE(QColorSpace::TransferFunction)
+
+class tst_QColorSpace : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QColorSpace();
+
+private slots:
+ void namedColorSpaces_data();
+ void namedColorSpaces();
+
+ void toIccProfile_data();
+ void toIccProfile();
+
+ void fromIccProfile();
+
+ void imageConversion_data();
+ void imageConversion();
+
+ void loadImage();
+};
+
+tst_QColorSpace::tst_QColorSpace()
+{ }
+
+
+void tst_QColorSpace::namedColorSpaces_data()
+{
+ QTest::addColumn<QColorSpace::ColorSpaceId>("colorSpaceId");
+ QTest::addColumn<QColorSpace::Gamut>("gamutId");
+ QTest::addColumn<QColorSpace::TransferFunction>("transferFunctionId");
+
+ QTest::newRow("sRGB") << QColorSpace::SRgb
+ << QColorSpace::Gamut::SRgb
+ << QColorSpace::TransferFunction::SRgb;
+ QTest::newRow("sRGB Linear") << QColorSpace::SRgbLinear
+ << QColorSpace::Gamut::SRgb
+ << QColorSpace::TransferFunction::Linear;
+ QTest::newRow("Adobe RGB") << QColorSpace::AdobeRgb
+ << QColorSpace::Gamut::AdobeRgb
+ << QColorSpace::TransferFunction::Gamma;
+ QTest::newRow("Display-P3") << QColorSpace::DisplayP3
+ << QColorSpace::Gamut::DciP3D65
+ << QColorSpace::TransferFunction::SRgb;
+ QTest::newRow("ProPhoto RGB") << QColorSpace::ProPhotoRgb
+ << QColorSpace::Gamut::ProPhotoRgb
+ << QColorSpace::TransferFunction::ProPhotoRgb;
+ QTest::newRow("BT.2020") << QColorSpace::Bt2020
+ << QColorSpace::Gamut::Bt2020
+ << QColorSpace::TransferFunction::Bt2020;
+}
+
+void tst_QColorSpace::namedColorSpaces()
+{
+ QFETCH(QColorSpace::ColorSpaceId, colorSpaceId);
+ QFETCH(QColorSpace::Gamut, gamutId);
+ QFETCH(QColorSpace::TransferFunction, transferFunctionId);
+
+ QColorSpace colorSpace = colorSpaceId;
+
+ QVERIFY(colorSpace.isValid());
+
+ QCOMPARE(colorSpace.colorSpaceId(), colorSpaceId);
+ QCOMPARE(colorSpace.gamut(), gamutId);
+ QCOMPARE(colorSpace.transferFunction(), transferFunctionId);
+}
+
+
+void tst_QColorSpace::toIccProfile_data()
+{
+ namedColorSpaces_data();
+}
+
+void tst_QColorSpace::toIccProfile()
+{
+ QFETCH(QColorSpace::ColorSpaceId, colorSpaceId);
+ QFETCH(QColorSpace::Gamut, gamutId);
+ QFETCH(QColorSpace::TransferFunction, transferFunctionId);
+
+ Q_UNUSED(gamutId);
+ Q_UNUSED(transferFunctionId);
+
+ QColorSpace colorSpace = colorSpaceId;
+ QByteArray iccProfile = colorSpace.iccProfile();
+ QVERIFY(!iccProfile.isEmpty());
+
+ QColorSpace colorSpace2 = QColorSpace::fromIccProfile(iccProfile);
+ QVERIFY(colorSpace2.isValid());
+
+ QCOMPARE(colorSpace2, colorSpace);
+
+ QByteArray iccProfile2 = colorSpace2.iccProfile();
+ QVERIFY(!iccProfile2.isEmpty());
+
+ QCOMPARE(iccProfile2, iccProfile);
+}
+
+void tst_QColorSpace::fromIccProfile()
+{
+ // Read the official sRGB ICCv2 profile:
+ QString prefix = QFINDTESTDATA("resources/");
+ QFile file(prefix + "sRGB2014.icc");
+ file.open(QIODevice::ReadOnly);
+ QByteArray iccProfile = file.readAll();
+ QColorSpace stdSRgb = QColorSpace::fromIccProfile(iccProfile);
+ QVERIFY(stdSRgb.isValid());
+
+ QCOMPARE(stdSRgb.gamut(), QColorSpace::Gamut::SRgb);
+ QCOMPARE(stdSRgb.transferFunction(), QColorSpace::TransferFunction::SRgb);
+ QCOMPARE(stdSRgb.colorSpaceId(), QColorSpace::SRgb);
+
+ QCOMPARE(stdSRgb, QColorSpace(QColorSpace::SRgb));
+}
+
+void tst_QColorSpace::imageConversion_data()
+{
+ QTest::addColumn<QColorSpace::ColorSpaceId>("fromColorSpace");
+ QTest::addColumn<QColorSpace::ColorSpaceId>("toColorSpace");
+ QTest::addColumn<int>("tolerance");
+
+ QTest::newRow("sRGB -> Display-P3") << QColorSpace::SRgb << QColorSpace::DisplayP3 << 0;
+ QTest::newRow("sRGB -> Adobe RGB") << QColorSpace::SRgb << QColorSpace::AdobeRgb << 2;
+ QTest::newRow("Display-P3 -> sRGB") << QColorSpace::DisplayP3 << QColorSpace::SRgb << 0;
+ QTest::newRow("Adobe RGB -> sRGB") << QColorSpace::AdobeRgb << QColorSpace::SRgb << 2;
+ QTest::newRow("Display-P3 -> Adobe RGB") << QColorSpace::DisplayP3 << QColorSpace::AdobeRgb << 2;
+ QTest::newRow("Display-P3 -> BT.2020") << QColorSpace::DisplayP3 << QColorSpace::Bt2020 << 4;
+ QTest::newRow("sRGB -> sRGB Linear") << QColorSpace::SRgb << QColorSpace::SRgbLinear << 0;
+}
+
+void tst_QColorSpace::imageConversion()
+{
+ QFETCH(QColorSpace::ColorSpaceId, fromColorSpace);
+ QFETCH(QColorSpace::ColorSpaceId, toColorSpace);
+ QFETCH(int, tolerance);
+
+ QImage testImage(256, 1, QImage::Format_RGB32);
+
+ for (int i = 0; i < 256; ++i)
+ testImage.setPixel(i, 0, qRgb(i, i, i));
+
+ testImage.setColorSpace(fromColorSpace);
+ QCOMPARE(testImage.colorSpace(), QColorSpace(fromColorSpace));
+
+ testImage.convertToColorSpace(toColorSpace);
+ QCOMPARE(testImage.colorSpace(), QColorSpace(toColorSpace));
+
+ int lastRed = 0;
+ int lastGreen = 0;
+ int lastBlue = 0;
+ for (int i = 0; i < 256; ++i) {
+ QRgb p = testImage.pixel(i, 0);
+ QVERIFY(qRed(p) >= lastRed);
+ QVERIFY(qGreen(p) >= lastGreen);
+ QVERIFY(qBlue(p) >= lastBlue);
+ lastRed = qRed(p);
+ lastGreen = qGreen(p);
+ lastBlue = qBlue(p);
+ }
+
+ lastRed = 0;
+ lastGreen = 0;
+ lastBlue = 0;
+ testImage.convertToColorSpace(fromColorSpace);
+ QCOMPARE(testImage.colorSpace(), QColorSpace(fromColorSpace));
+ for (int i = 0; i < 256; ++i) {
+ QRgb p = testImage.pixel(i, 0);
+ QVERIFY(qAbs(qRed(p) - qGreen(p)) <= tolerance);
+ QVERIFY(qAbs(qRed(p) - qBlue(p)) <= tolerance);
+ QVERIFY((lastRed - qRed(p)) <= (tolerance / 2));
+ QVERIFY((lastGreen - qGreen(p)) <= (tolerance / 2));
+ QVERIFY((lastBlue - qBlue(p)) <= (tolerance / 2));
+ lastRed = qRed(p);
+ lastGreen = qGreen(p);
+ lastBlue = qBlue(p);
+ }
+}
+
+
+void tst_QColorSpace::loadImage()
+{
+ QString prefix = QFINDTESTDATA("resources/");
+ QImageReader reader(prefix + "ProPhoto.jpg");
+ QImage image = reader.read();
+
+ QVERIFY(!image.isNull());
+ QVERIFY(image.colorSpace().isValid());
+ QCOMPARE(image.colorSpace().colorSpaceId(), QColorSpace::ProPhotoRgb);
+ QVERIFY(!image.colorSpace().iccProfile().isEmpty());
+
+ QColorSpace defaultProPhotoRgb = QColorSpace::ProPhotoRgb;
+ QVERIFY(!defaultProPhotoRgb.iccProfile().isEmpty());
+
+ // Test the iccProfile getter returns the ICC profile from the image
+ // which since we didn't write it, isn't identical to our defaults.
+ QVERIFY(defaultProPhotoRgb.iccProfile() != image.colorSpace().iccProfile());
+}
+
+QTEST_MAIN(tst_QColorSpace)
+#include "tst_qcolorspace.moc"
diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
index 9bf9e99bf9..cec164b8b2 100644
--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
@@ -185,10 +185,12 @@ private slots:
void gradientPixelFormat_data();
void gradientPixelFormat();
+#if QT_CONFIG(raster_64bit)
void linearGradientRgb30_data();
void linearGradientRgb30();
void radialGradientRgb30_data();
void radialGradientRgb30();
+#endif
void fpe_pixmapTransform();
void fpe_zeroLengthLines();
@@ -299,6 +301,8 @@ private slots:
void fillPolygon();
+ void drawImageAtPointF();
+
private:
void fillData();
void setPenColor(QPainter& p);
@@ -3944,6 +3948,7 @@ void tst_QPainter::gradientInterpolation()
}
}
+#if QT_CONFIG(raster_64bit)
void tst_QPainter::linearGradientRgb30_data()
{
QTest::addColumn<QColor>("stop0");
@@ -4002,6 +4007,7 @@ void tst_QPainter::radialGradientRgb30()
QVERIFY(qGray(p1.rgb()) >= qGray(p2.rgb()));
}
}
+#endif
void tst_QPainter::drawPolygon()
{
@@ -4882,14 +4888,18 @@ void tst_QPainter::blendARGBonRGB_data()
<< QPainter::CompositionMode_SourceOver << qRgba(255, 0, 0, 85) << 85;
QTest::newRow("ARGB_PM over RGB30") << QImage::Format_RGB30 << QImage::Format_ARGB32_Premultiplied
<< QPainter::CompositionMode_SourceOver << qRgba(85, 0, 0, 85) << 85;
+#if QT_CONFIG(raster_64bit)
QTest::newRow("ARGB source RGB30") << QImage::Format_RGB30 << QImage::Format_ARGB32
<< QPainter::CompositionMode_Source << qRgba(255, 0, 0, 85) << 85;
QTest::newRow("ARGB source RGB30") << QImage::Format_RGB30 << QImage::Format_ARGB32
<< QPainter::CompositionMode_Source << qRgba(255, 0, 0, 120) << 85;
+#endif
QTest::newRow("ARGB_PM source RGB30") << QImage::Format_RGB30 << QImage::Format_ARGB32_Premultiplied
<< QPainter::CompositionMode_Source << qRgba(85, 0, 0, 85) << 85;
+#if QT_CONFIG(raster_64bit)
QTest::newRow("ARGB_PM source RGB30") << QImage::Format_RGB30 << QImage::Format_ARGB32_Premultiplied
<< QPainter::CompositionMode_Source << qRgba(180, 0, 0, 180) << 170;
+#endif
QTest::newRow("ARGB source-in RGB30") << QImage::Format_RGB30 << QImage::Format_ARGB32
<< QPainter::CompositionMode_SourceIn << qRgba(255, 0, 0, 85) << 85;
QTest::newRow("ARGB_PM source-in RGB30") << QImage::Format_RGB30 << QImage::Format_ARGB32_Premultiplied
@@ -5292,6 +5302,20 @@ void tst_QPainter::fillPolygon()
}
}
+void tst_QPainter::drawImageAtPointF()
+{
+ // Just test we do not crash
+ QImage image1(10, 10, QImage::Format_RGB32);
+ QImage image2(200, 200, QImage::Format_RGB32);
+
+ QPainter paint(&image2);
+ paint.setClipRect(97, 46, 14, 14);
+ paint.setCompositionMode(QPainter::CompositionMode_Source);
+ paint.drawImage(QPointF(96, std::numeric_limits<int>::max()), image1);
+ paint.drawImage(QPointF(std::numeric_limits<int>::min(), 48), image1);
+ paint.end();
+}
+
QTEST_MAIN(tst_QPainter)
#include "tst_qpainter.moc"
diff --git a/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp b/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp
index 16215714f3..69c961c1a1 100644
--- a/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp
+++ b/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp
@@ -43,6 +43,8 @@ public slots:
void cleanupTestCase();
private slots:
void getSetCheck();
+ void clear();
+ void reserveAndCapacity();
void swap();
void contains_QPointF_data();
@@ -148,6 +150,47 @@ void tst_QPainterPath::swap()
QCOMPARE(p2.boundingRect().toRect(), QRect( 0, 0,10,10));
}
+void tst_QPainterPath::clear()
+{
+ QPainterPath p1;
+ QPainterPath p2;
+ p1.clear();
+ QCOMPARE(p1, p2);
+
+ p1.addRect(0, 0, 10, 10);
+ p1.clear();
+ QCOMPARE(p1, p2);
+
+ QCOMPARE(p1.fillRule(), Qt::OddEvenFill);
+ p1.setFillRule(Qt::WindingFill);
+ p1.clear();
+ QCOMPARE(p1.fillRule(), Qt::WindingFill);
+}
+
+void tst_QPainterPath::reserveAndCapacity()
+{
+ QPainterPath p;
+ QVERIFY(p.capacity() == 0);
+
+ p.addRect(0, 0, 10, 10);
+ QVERIFY(p.capacity() > 0);
+
+ p.clear();
+ QVERIFY(p.capacity() > 0);
+
+ p = QPainterPath{};
+ QVERIFY(p.capacity() == 0);
+
+ p.moveTo(100, 100);
+ QVERIFY(p.capacity() > 1);
+
+ p.reserve(1000);
+ QVERIFY(p.capacity() >= 1000);
+
+ p.reserve(0);
+ QVERIFY(p.capacity() >= 1000);
+}
+
Q_DECLARE_METATYPE(QPainterPath)
void tst_QPainterPath::currentPosition()
diff --git a/tests/auto/gui/painting/qpen/tst_qpen.cpp b/tests/auto/gui/painting/qpen/tst_qpen.cpp
index ef65d653ce..295ae27d17 100644
--- a/tests/auto/gui/painting/qpen/tst_qpen.cpp
+++ b/tests/auto/gui/painting/qpen/tst_qpen.cpp
@@ -95,7 +95,7 @@ void tst_QPen::move()
QPen p1(Qt::black);
// check that moving does the right thing:
- QPen p2 = qMove(p1); // could be move or copy construction, so don't check p1's state
+ QPen p2 = std::move(p1); // could be move or copy construction, so don't check p1's state
QCOMPARE(p2.color(), QColor(Qt::black));
// this, executed ehre, would crash:
@@ -110,7 +110,7 @@ void tst_QPen::move()
QCOMPARE(p1.color(), QColor(Qt::yellow));
// check that moved-from QPens p2, p3 can still be safely destroyed:
- QPen p5 = qMove(p2);
+ QPen p5 = std::move(p2);
// intentionally no more statements beyond this point
}
@@ -120,7 +120,7 @@ void tst_QPen::move_assign()
QPen p1(Qt::black), p2(Qt::white);
// check that moving does the right thing:
- p2 = qMove(p1); // could be move or copy assignment, so don't check p1's state
+ p2 = std::move(p1); // could be move or copy assignment, so don't check p1's state
QCOMPARE(p2.color(), QColor(Qt::black));
// check that move-assigned-from QPen p1 can still be used, albeit
@@ -137,7 +137,7 @@ void tst_QPen::move_assign()
// check that moved-from QPens p2, p3 can still be safely destroyed:
QPen p5;
- p5 = qMove(p2);
+ p5 = std::move(p2);
// intentionally no more statements beyond this point
}
diff --git a/tests/auto/gui/painting/qregion/tst_qregion.cpp b/tests/auto/gui/painting/qregion/tst_qregion.cpp
index 5256fbd1dc..24c4583819 100644
--- a/tests/auto/gui/painting/qregion/tst_qregion.cpp
+++ b/tests/auto/gui/painting/qregion/tst_qregion.cpp
@@ -84,6 +84,8 @@ private slots:
#endif
void regionFromPath();
+ void scaleRegions_data();
+ void scaleRegions();
#ifdef QT_BUILD_INTERNAL
void regionToPath_data();
@@ -973,6 +975,59 @@ void tst_QRegion::regionFromPath()
}
}
+void tst_QRegion::scaleRegions_data()
+{
+ QTest::addColumn<qreal>("scale");
+ QTest::addColumn<QVector<QRect>>("inputRects");
+ QTest::addColumn<QVector<QRect>>("expectedRects");
+
+ QTest::newRow("1.0 single") << 1.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20) }
+ << QVector<QRect>{ QRect(10, 10, 20, 20) };
+ QTest::newRow("1.0 multi") << 1.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20), QRect(40, 10, 20, 20) }
+ << QVector<QRect>{ QRect(10, 10, 20, 20), QRect(40, 10, 20, 20) };
+ QTest::newRow("2.0 single") << 2.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20) }
+ << QVector<QRect>{ QRect(20, 20, 40, 40) };
+ QTest::newRow("2.0 multi") << 2.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20), QRect(40, 10, 20, 20) }
+ << QVector<QRect>{ QRect(20, 20, 40, 40), QRect(80, 20, 40, 40) };
+ QTest::newRow("-1.0 single") << -1.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20) }
+ << QVector<QRect>{ QRect(-30, -30, 20, 20) };
+ QTest::newRow("-1.0 multi") << -1.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20), QRect(40, 10, 20, 20) }
+ << QVector<QRect>{ QRect(-60, -30, 20, 20), QRect(-30, -30, 20, 20) };
+ QTest::newRow("-2.0 single") << -2.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20) }
+ << QVector<QRect>{ QRect(-60, -60, 40, 40) };
+ QTest::newRow("-2.0 multi") << -2.0
+ << QVector<QRect>{ QRect(10, 10, 20, 20), QRect(40, 10, 20, 20) }
+ << QVector<QRect>{ QRect(-120, -60, 40, 40), QRect(-60, -60, 40, 40) };
+}
+
+void tst_QRegion::scaleRegions()
+{
+ QFETCH(qreal, scale);
+ QFETCH(QVector<QRect>, inputRects);
+ QFETCH(QVector<QRect>, expectedRects);
+
+ QRegion region;
+ region.setRects(inputRects.constData(), inputRects.size());
+
+ QRegion expected(expectedRects.first());
+ expected.setRects(expectedRects.constData(), expectedRects.size());
+
+ QTransform t;
+ t.scale(scale, scale);
+
+ auto result = t.map(region);
+
+ QCOMPARE(result.rectCount(), expectedRects.size());
+ QCOMPARE(result, expected);
+}
+
Q_DECLARE_METATYPE(QPainterPath)
#ifdef QT_BUILD_INTERNAL
diff --git a/tests/auto/gui/qopengl/qopengl.pro b/tests/auto/gui/qopengl/qopengl.pro
index d744d37280..722c99ee0b 100644
--- a/tests/auto/gui/qopengl/qopengl.pro
+++ b/tests/auto/gui/qopengl/qopengl.pro
@@ -8,4 +8,4 @@ QT += gui-private core-private testlib
SOURCES += tst_qopengl.cpp
-linux:qtConfig(xcb):qtConfig(xcb-glx):qtConfig(xcb-xlib):!qtConfig(egl): DEFINES += USE_GLX
+linux:qtConfig(xcb):qtConfig(xcb-glx-plugin): DEFINES += USE_GLX
diff --git a/tests/auto/gui/qopengl/tst_qopengl.cpp b/tests/auto/gui/qopengl/tst_qopengl.cpp
index f1360b9efe..ede1e58a53 100644
--- a/tests/auto/gui/qopengl/tst_qopengl.cpp
+++ b/tests/auto/gui/qopengl/tst_qopengl.cpp
@@ -642,6 +642,8 @@ static bool supportsInternalFboFormat(QOpenGLContext *ctx, int glFormat)
return false;
}
}
+#else
+ Q_UNUSED(glFormat);
#endif
return true;
}
diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
index df9e8dab71..7dbeb13aa7 100644
--- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
+++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
@@ -1524,6 +1524,12 @@ void tst_QCssParser::gradient_data()
"spread: repeat, stop:0.2 rgb(1, 2, 3), stop:0.5 rgba(1, 2, 3, 4))" << "conical" << QPointF(4, 2) << QPointF()
<< 2 << qreal(0.2) << QColor(1, 2, 3) << qreal(0.5) << QColor(1, 2, 3, 4);
+ // spaces before first function parameter lead to parser errors
+ QTest::newRow("QTBUG-61795") <<
+ "selection-background-color: qconicalgradient( cx: 4, cy : 2, angle: 23, "
+ "spread: repeat, stop:0.2 rgb( 1, 2, 3), stop:0.5 rgba( 1, 2, 3, 4))" << "conical" << QPointF(4, 2) << QPointF()
+ << 2 << qreal(0.2) << QColor(1, 2, 3) << qreal(0.5) << QColor(1, 2, 3, 4);
+
/* won't pass: stop values are expected to be sorted
QTest::newRow("unsorted-stop") <<
"selection-background: lineargradient(x1:0, y1:0, x2:0, y2:1, "
diff --git a/tests/auto/gui/text/qfont/qfont.pro b/tests/auto/gui/text/qfont/qfont.pro
index 048d952faf..96cd4cfdab 100644
--- a/tests/auto/gui/text/qfont/qfont.pro
+++ b/tests/auto/gui/text/qfont/qfont.pro
@@ -4,3 +4,4 @@ QT += testlib
QT += core-private gui-private
qtHaveModule(widgets): QT += widgets
SOURCES += tst_qfont.cpp
+RESOURCES += testfont.qrc
diff --git a/tests/auto/gui/text/qfont/testfont.qrc b/tests/auto/gui/text/qfont/testfont.qrc
new file mode 100644
index 0000000000..cf51e4a2b4
--- /dev/null
+++ b/tests/auto/gui/text/qfont/testfont.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/">
+ <file>weirdfont.otf</file>
+ </qresource>
+</RCC>
diff --git a/tests/auto/gui/text/qfont/tst_qfont.cpp b/tests/auto/gui/text/qfont/tst_qfont.cpp
index 8090f38a2c..9acf877790 100644
--- a/tests/auto/gui/text/qfont/tst_qfont.cpp
+++ b/tests/auto/gui/text/qfont/tst_qfont.cpp
@@ -66,6 +66,12 @@ private slots:
void fromStringWithoutStyleName();
void sharing();
+ void familyNameWithCommaQuote_data();
+ void familyNameWithCommaQuote();
+ void setFamilies_data();
+ void setFamilies();
+ void setFamiliesAndFamily_data();
+ void setFamiliesAndFamily();
};
// Testing get/set functions
@@ -116,6 +122,14 @@ void tst_QFont::exactMatch()
QVERIFY(!QFont("sans-serif").exactMatch());
QVERIFY(!QFont("serif").exactMatch());
QVERIFY(!QFont("monospace").exactMatch());
+
+ font.setFamilies(QStringList() << "BogusFont");
+ QVERIFY(!font.exactMatch());
+ QVERIFY(!QFont("sans").exactMatch());
+ QVERIFY(!QFont("sans-serif").exactMatch());
+ QVERIFY(!QFont("serif").exactMatch());
+ QVERIFY(!QFont("monospace").exactMatch());
+
}
void tst_QFont::italicOblique()
@@ -277,6 +291,12 @@ void tst_QFont::resolve()
QCOMPARE(f4.pointSize(), 45);
f4 = f4.resolve(f3);
QCOMPARE(f4.pointSize(), 55);
+
+ QFont font5, font6;
+ const QStringList fontFamilies = { QStringLiteral("Arial") };
+ font5.setFamilies(fontFamilies);
+ font6 = font6.resolve(font5);
+ QCOMPARE(font6.families(), fontFamilies);
}
#ifndef QT_NO_WIDGETS
@@ -624,5 +644,108 @@ void tst_QFont::sharing()
QVERIFY(QFontPrivate::get(f2)->engineData != QFontPrivate::get(f)->engineData);
}
+void tst_QFont::familyNameWithCommaQuote_data()
+{
+ QTest::addColumn<QString>("familyName");
+ QTest::addColumn<QString>("chosenFamilyName");
+
+ const QString standardFont(QFont().defaultFamily());
+ if (standardFont.isEmpty())
+ QSKIP("No default font available on the system");
+ const QString weirdFont(QLatin1String("'My, weird'' font name',"));
+ const QString commaSeparated(standardFont + QLatin1String(",Times New Roman"));
+ const QString commaSeparatedWeird(weirdFont + QLatin1String(",") + standardFont);
+ const QString commaSeparatedBogus(QLatin1String("BogusFont,") + standardFont);
+
+ QTest::newRow("standard") << standardFont << standardFont;
+ QTest::newRow("weird") << weirdFont << weirdFont;
+ QTest::newRow("commaSeparated") << commaSeparated << standardFont;
+ QTest::newRow("commaSeparatedWeird") << commaSeparatedWeird << weirdFont;
+ QTest::newRow("commaSeparatedBogus") << commaSeparatedBogus << standardFont;
+}
+
+void tst_QFont::familyNameWithCommaQuote()
+{
+ QFETCH(QString, familyName);
+ QFETCH(QString, chosenFamilyName);
+
+ const int weirdFontId = QFontDatabase::addApplicationFont(":/weirdfont.otf");
+
+ QVERIFY(weirdFontId != -1);
+ QFont f(familyName);
+ QCOMPARE(f.family(), familyName);
+ QCOMPARE(QFontInfo(f).family(), chosenFamilyName);
+
+ QFontDatabase::removeApplicationFont(weirdFontId);
+}
+
+void tst_QFont::setFamilies_data()
+{
+ QTest::addColumn<QStringList>("families");
+ QTest::addColumn<QString>("chosenFamilyName");
+
+ const QString weirdFont(QLatin1String("'My, weird'' font name',"));
+ const QString standardFont(QFont().defaultFamily());
+ if (standardFont.isEmpty())
+ QSKIP("No default font available on the system");
+
+ QTest::newRow("standard") << (QStringList() << standardFont) << standardFont;
+ QTest::newRow("weird") << (QStringList() << weirdFont) << weirdFont;
+ QTest::newRow("standard-weird") << (QStringList() << standardFont << weirdFont) << standardFont;
+ QTest::newRow("weird-standard") << (QStringList() << weirdFont << standardFont) << weirdFont;
+ QTest::newRow("nonexist-weird") << (QStringList() << "NonExistentFont" << weirdFont) << weirdFont;
+}
+
+void tst_QFont::setFamilies()
+{
+ QFETCH(QStringList, families);
+ QFETCH(QString, chosenFamilyName);
+
+ const int weirdFontId = QFontDatabase::addApplicationFont(":/weirdfont.otf");
+
+ QVERIFY(weirdFontId != -1);
+ QFont f;
+ f.setFamilies(families);
+ QCOMPARE(QFontInfo(f).family(), chosenFamilyName);
+
+ QFontDatabase::removeApplicationFont(weirdFontId);
+}
+
+void tst_QFont::setFamiliesAndFamily_data()
+{
+ QTest::addColumn<QStringList>("families");
+ QTest::addColumn<QString>("family");
+ QTest::addColumn<QString>("chosenFamilyName");
+
+ const QString weirdFont(QLatin1String("'My, weird'' font name',"));
+ const QString defaultFont(QFont().defaultFamily());
+ if (defaultFont.isEmpty())
+ QSKIP("No default font available on the system");
+
+ const QString timesFont(QLatin1String("Times"));
+ const QString nonExistFont(QLatin1String("NonExistentFont"));
+
+ QTest::newRow("firstInFamilies") << (QStringList() << defaultFont << timesFont) << weirdFont << defaultFont;
+ QTest::newRow("secondInFamilies") << (QStringList() << nonExistFont << weirdFont) << defaultFont << weirdFont;
+ QTest::newRow("family") << (QStringList() << nonExistFont) << defaultFont << defaultFont;
+}
+
+void tst_QFont::setFamiliesAndFamily()
+{
+ QFETCH(QStringList, families);
+ QFETCH(QString, family);
+ QFETCH(QString, chosenFamilyName);
+
+ const int weirdFontId = QFontDatabase::addApplicationFont(":/weirdfont.otf");
+
+ QVERIFY(weirdFontId != -1);
+ QFont f;
+ f.setFamilies(families);
+ f.setFamily(family);
+ QCOMPARE(QFontInfo(f).family(), chosenFamilyName);
+
+ QFontDatabase::removeApplicationFont(weirdFontId);
+}
+
QTEST_MAIN(tst_QFont)
#include "tst_qfont.moc"
diff --git a/tests/auto/gui/text/qfont/weirdfont.otf b/tests/auto/gui/text/qfont/weirdfont.otf
new file mode 100644
index 0000000000..b91c559f5b
--- /dev/null
+++ b/tests/auto/gui/text/qfont/weirdfont.otf
Binary files differ
diff --git a/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp b/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp
index fbca313ea3..785cc3fef2 100644
--- a/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp
+++ b/tests/auto/gui/text/qfontcache/tst_qfontcache.cpp
@@ -45,6 +45,8 @@ public:
private slots:
void engineData_data();
void engineData();
+ void engineDataFamilies_data();
+ void engineDataFamilies();
void clear();
};
@@ -109,6 +111,49 @@ void tst_QFontCache::engineData()
QCOMPARE(engineData, QFontPrivate::get(f)->engineData);
}
+void tst_QFontCache::engineDataFamilies_data()
+{
+ QTest::addColumn<QStringList>("families");
+
+ const QStringList multiple = { QLatin1String("invalid"), QLatin1String("Times New Roman") };
+ const QStringList multipleQuotes = { QLatin1String("'invalid'"), QLatin1String("Times New Roman") };
+ const QStringList multiple2 = { QLatin1String("invalid"), QLatin1String("Times New Roman"),
+ QLatin1String("foobar"), QLatin1String("'baz'") };
+
+ QTest::newRow("unquoted-family-name") << QStringList(QLatin1String("Times New Roman"));
+ QTest::newRow("quoted-family-name") << QStringList(QLatin1String("Times New Roman"));
+ QTest::newRow("invalid") << QStringList(QLatin1String("invalid"));
+ QTest::newRow("multiple") << multiple;
+ QTest::newRow("multiple spaces quotes") << multipleQuotes;
+ QTest::newRow("multiple2") << multiple2;
+}
+
+void tst_QFontCache::engineDataFamilies()
+{
+ QFETCH(QStringList, families);
+
+ QFont f;
+ f.setFamily(QString()); // Unset the family as taken from the QGuiApplication default
+ f.setFamilies(families);
+ f.exactMatch(); // loads engine
+ QFontPrivate *d = QFontPrivate::get(f);
+
+ QFontDef req = d->request;
+ // copy-pasted from QFontDatabase::load(), to engineer the cache key
+ if (req.pixelSize == -1) {
+ req.pixelSize = std::floor(((req.pointSize * d->dpi) / 72) * 100 + 0.5) / 100;
+ req.pixelSize = qRound(req.pixelSize);
+ }
+ if (req.pointSize < 0)
+ req.pointSize = req.pixelSize*72.0/d->dpi;
+
+ req.families = families;
+
+ QFontEngineData *engineData = QFontCache::instance()->findEngineData(req);
+
+ QCOMPARE(engineData, QFontPrivate::get(f)->engineData);
+}
+
void tst_QFontCache::clear()
{
#ifdef QT_BUILD_INTERNAL
diff --git a/tests/auto/gui/text/qfontdatabase/testdata.qrc b/tests/auto/gui/text/qfontdatabase/testdata.qrc
index 81a0b5b0bf..224e845601 100644
--- a/tests/auto/gui/text/qfontdatabase/testdata.qrc
+++ b/tests/auto/gui/text/qfontdatabase/testdata.qrc
@@ -3,5 +3,6 @@
<file>LED_REAL.TTF</file>
<file alias="testfont.ttf">../../../shared/resources/testfont.ttf</file>
<file alias="testfont_condensed.ttf">../../../shared/resources/testfont_condensed.ttf</file>
+ <file alias="testfont_italic.ttf">../../../shared/resources/testfont_italic.ttf</file>
</qresource>
</RCC>
diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
index da2f100c0b..68664cdd2f 100644
--- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
+++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
@@ -61,6 +61,8 @@ private slots:
void addAppFont_data();
void addAppFont();
+ void addTwoAppFontsFromFamily();
+
void aliases();
void fallbackFonts();
@@ -75,6 +77,7 @@ private:
QString m_ledFont;
QString m_testFont;
QString m_testFontCondensed;
+ QString m_testFontItalic;
};
tst_QFontDatabase::tst_QFontDatabase()
@@ -86,9 +89,11 @@ void tst_QFontDatabase::initTestCase()
m_ledFont = QFINDTESTDATA("LED_REAL.TTF");
m_testFont = QFINDTESTDATA("testfont.ttf");
m_testFontCondensed = QFINDTESTDATA("testfont_condensed.ttf");
+ m_testFontItalic = QFINDTESTDATA("testfont_italic.ttf");
QVERIFY(!m_ledFont.isEmpty());
QVERIFY(!m_testFont.isEmpty());
QVERIFY(!m_testFontCondensed.isEmpty());
+ QVERIFY(!m_testFontItalic.isEmpty());
}
void tst_QFontDatabase::styles_data()
@@ -259,6 +264,30 @@ void tst_QFontDatabase::addAppFont()
QCOMPARE(db.families(), oldFamilies);
}
+void tst_QFontDatabase::addTwoAppFontsFromFamily()
+{
+ int regularId = QFontDatabase::addApplicationFont(m_testFont);
+ if (regularId == -1)
+ QSKIP("Skip the test since app fonts are not supported on this system");
+
+ int italicId = QFontDatabase::addApplicationFont(m_testFontItalic);
+ QVERIFY(italicId != -1);
+
+ QVERIFY(!QFontDatabase::applicationFontFamilies(regularId).isEmpty());
+ QVERIFY(!QFontDatabase::applicationFontFamilies(italicId).isEmpty());
+
+ QString regularFontName = QFontDatabase::applicationFontFamilies(regularId).first();
+ QString italicFontName = QFontDatabase::applicationFontFamilies(italicId).first();
+ QCOMPARE(regularFontName, italicFontName);
+
+ QFont italicFont = QFontDatabase().font(italicFontName,
+ QString::fromLatin1("Italic"), 14);
+ QVERIFY(italicFont.italic());
+
+ QFontDatabase::removeApplicationFont(regularId);
+ QFontDatabase::removeApplicationFont(italicId);
+}
+
void tst_QFontDatabase::aliases()
{
QFontDatabase db;
diff --git a/tests/auto/gui/text/qfontmetrics/testfont.qrc b/tests/auto/gui/text/qfontmetrics/testfont.qrc
index bc0c0b0959..30b4a3f82e 100644
--- a/tests/auto/gui/text/qfontmetrics/testfont.qrc
+++ b/tests/auto/gui/text/qfontmetrics/testfont.qrc
@@ -1,5 +1,6 @@
<RCC>
<qresource prefix="/fonts">
<file>ucs4font.ttf</file>
+ <file alias="testfont.ttf">../../../shared/resources/testfont.ttf</file>
</qresource>
</RCC>
diff --git a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp
index 9e705b4a00..a0e8525268 100644
--- a/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp
+++ b/tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp
@@ -58,6 +58,7 @@ private slots:
void lineWidth();
void mnemonicTextWidth();
void leadingBelowLine();
+ void elidedMetrics();
};
void tst_QFontMetrics::same()
@@ -331,5 +332,31 @@ void tst_QFontMetrics::leadingBelowLine()
QCOMPARE(line.base(), line.ascent);
}
+void tst_QFontMetrics::elidedMetrics()
+{
+ QString testFont = QFINDTESTDATA("fonts/testfont.ttf");
+ QVERIFY(!testFont.isEmpty());
+
+ int id = QFontDatabase::addApplicationFont(testFont);
+ QVERIFY(id >= 0);
+
+ QFont font(QFontDatabase::applicationFontFamilies(id).at(0));
+ font.setPixelSize(12.0);
+
+ QFontMetricsF metrics(font);
+ QString s = QStringLiteral("VeryLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongText");
+
+ QRectF boundingRect = metrics.boundingRect(s);
+
+ QString elided = metrics.elidedText(s, Qt::ElideRight, boundingRect.width() / 2.0);
+
+ QRectF elidedBoundingRect = metrics.boundingRect(elided);
+
+ QCOMPARE(boundingRect.height(), elidedBoundingRect.height());
+ QCOMPARE(boundingRect.y(), elidedBoundingRect.y());
+
+ QFontDatabase::removeApplicationFont(id);
+}
+
QTEST_MAIN(tst_QFontMetrics)
#include "tst_qfontmetrics.moc"
diff --git a/tests/auto/gui/text/qglyphrun/BLACKLIST b/tests/auto/gui/text/qglyphrun/BLACKLIST
index 57f32c683d..d8dbdabb4b 100644
--- a/tests/auto/gui/text/qglyphrun/BLACKLIST
+++ b/tests/auto/gui/text/qglyphrun/BLACKLIST
@@ -1,3 +1,4 @@
[mixedScripts]
ubuntu-18.04
b2qt
+windows
diff --git a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
index 0a2e024701..55fff34a8e 100644
--- a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
+++ b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
@@ -74,6 +74,7 @@ private slots:
void emptyBlocks();
void setCharFormat();
void highlightOnInit();
+ void highlightOnInitAndAppend();
void stopHighlightingWhenStateDoesNotChange();
void unindent();
void highlightToEndOfDocument();
@@ -81,6 +82,7 @@ private slots:
void preservePreeditArea();
void task108530();
void avoidUnnecessaryRehighlight();
+ void avoidUnnecessaryDelayedRehighlight();
void noContentsChangedDuringHighlight();
void rehighlight();
void rehighlightBlock();
@@ -265,6 +267,19 @@ void tst_QSyntaxHighlighter::highlightOnInit()
QTRY_VERIFY(hl->highlighted);
}
+void tst_QSyntaxHighlighter::highlightOnInitAndAppend()
+{
+ cursor.insertText("Hello");
+ cursor.insertBlock();
+ cursor.insertText("World");
+
+ TestHighlighter *hl = new TestHighlighter(doc);
+ cursor.insertBlock();
+ cursor.insertText("More text");
+ QTRY_VERIFY(hl->highlighted);
+ QVERIFY(hl->highlightedText.endsWith(doc->toPlainText().remove(QLatin1Char('\n'))));
+}
+
class StateTestHighlighter : public QSyntaxHighlighter
{
public:
@@ -330,6 +345,7 @@ void tst_QSyntaxHighlighter::unindent()
QCOMPARE(doc->toPlainText(), plainText);
TestHighlighter *hl = new TestHighlighter(doc);
+ QTRY_VERIFY(hl->highlighted);
hl->callCount = 0;
cursor.movePosition(QTextCursor::Start);
@@ -460,7 +476,26 @@ void tst_QSyntaxHighlighter::avoidUnnecessaryRehighlight()
QVERIFY(hl->highlighted);
hl->highlighted = false;
- QTRY_VERIFY(!hl->highlighted);
+ QCoreApplication::processEvents();
+ QVERIFY(!hl->highlighted);
+}
+
+void tst_QSyntaxHighlighter::avoidUnnecessaryDelayedRehighlight()
+{
+ // Having text in the document before creating the highlighter starts the delayed rehighlight
+ cursor.insertText("Hello World");
+
+ TestHighlighter *hl = new TestHighlighter(doc);
+ QVERIFY(!hl->highlighted);
+
+ hl->rehighlight();
+ QVERIFY(hl->highlighted);
+
+ hl->highlighted = false;
+ // Process events, including delayed rehighlight emission
+ QCoreApplication::processEvents();
+ // Should be cancelled and no extra rehighlight should be done
+ QVERIFY(!hl->highlighted);
}
void tst_QSyntaxHighlighter::noContentsChangedDuringHighlight()
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 3f602f5aae..97546c34fd 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -1128,7 +1128,7 @@ void tst_QTextDocument::toHtml_data()
QTextCharFormat fmt;
fmt.setAnchor(true);
- fmt.setAnchorName("blub");
+ fmt.setAnchorNames({"blub"});
cursor.insertText("Blah", fmt);
QTest::newRow("named anchor") << QTextDocumentFragment(&doc)
diff --git a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
index 3e354b7523..fe0b6dae49 100644
--- a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
+++ b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
@@ -159,6 +159,7 @@ private slots:
void nonZeroMarginOnImport();
void html_charFormatPropertiesUnset();
void html_headings();
+ void html_quotedFontFamily_data();
void html_quotedFontFamily();
void html_spanBackgroundColor();
void defaultFont();
@@ -195,6 +196,8 @@ private slots:
void css_linkPseudo();
void css_pageBreaks();
void css_cellPaddings();
+ void css_whiteSpace_data();
+ void css_whiteSpace();
void universalSelectors_data();
void universalSelectors();
void screenMedia();
@@ -1770,6 +1773,26 @@ void tst_QTextDocumentFragment::css_cellPaddings()
QCOMPARE(cell.format().toTableCellFormat().bottomPadding(), qreal(15));
}
+void tst_QTextDocumentFragment::css_whiteSpace_data()
+{
+ QTest::addColumn<QString>("htmlText");
+ QTest::addColumn<bool>("nowrap");
+
+ QTest::newRow("default") << QString("<p>Normal Text</p>") << false;
+ QTest::newRow("white-space:nowrap") << QString("<p style=white-space:nowrap>Normal Text</p>") << true;
+ QTest::newRow("white-space:pre") << QString("<p style=white-space:pre>Normal Text</p>") << true;
+}
+
+void tst_QTextDocumentFragment::css_whiteSpace()
+{
+ QFETCH(QString, htmlText);
+ QFETCH(bool, nowrap);
+
+ doc->setHtml(htmlText);
+ QCOMPARE(doc->blockCount(), 1);
+ QCOMPARE(doc->begin().blockFormat().nonBreakableLines(), nowrap);
+}
+
void tst_QTextDocumentFragment::html_blockLevelDiv()
{
const char html[] = "<div align=right><b>Hello World";
@@ -2184,23 +2207,45 @@ void tst_QTextDocumentFragment::html_headings()
QCOMPARE(doc->blockCount(), 2);
}
-void tst_QTextDocumentFragment::html_quotedFontFamily()
+void tst_QTextDocumentFragment::html_quotedFontFamily_data()
{
- setHtml("<div style=\"font-family: 'Foo Bar';\">Test</div>");
- QCOMPARE(doc->begin().begin().fragment().charFormat().fontFamily(), QString("Foo Bar"));
-
- setHtml("<div style='font-family: \"Foo Bar\";'>Test</div>");
- QCOMPARE(doc->begin().begin().fragment().charFormat().fontFamily(), QString("Foo Bar"));
-
- setHtml("<div style='font-family: \"Foo Bar\";'>Test</div>");
- QCOMPARE(doc->begin().begin().fragment().charFormat().fontFamily(), QString("Foo Bar"));
-
- setHtml("<div style='font-family: Foo\n Bar;'>Test</div>");
- QCOMPARE(doc->begin().begin().fragment().charFormat().fontFamily(), QString("Foo Bar"));
+ QTest::addColumn<QString>("html");
+ QTest::addColumn<QString>("fontFamily");
+ QTest::addColumn<QStringList>("fontFamilies");
+
+ const QString fooFamily = QLatin1String("Foo Bar");
+ const QString weirdFamily = QLatin1String("'Weird, & font '' name',");
+
+ QTest::newRow("data1") << QString("<div style=\"font-family: 'Foo Bar';\">Test</div>")
+ << fooFamily << QStringList(fooFamily);
+ QTest::newRow("data2") << QString("<div style='font-family: \"Foo Bar\";'>Test</div>")
+ << QString("Foo Bar") << QStringList("Foo Bar");
+ QTest::newRow("data3") << QString("<div style='font-family: Foo\n Bar;'>Test</div>")
+ << fooFamily << QStringList(fooFamily);
+ QTest::newRow("data4") << QString("<div style='font-family: Foo\n Bar, serif, \"bar foo\";'>Test"
+ "</div>")
+ << fooFamily << (QStringList() << "Foo Bar" << "serif" << "bar foo");
+ QTest::newRow("data5") << QString("<div style='font-family: \"\\'Weird, & font \\'\\' name\\',"
+ "\";'>Test</div>")
+ << weirdFamily << QStringList(weirdFamily);
+ QTest::newRow("data6") << QString("<div style='font-family: \"\\'Weird, & font \\'\\' name\\',"
+ "\";'>Test</div>")
+ << weirdFamily << QStringList(weirdFamily);
+ QTest::newRow("data7") << QString("<div style='font-family: \"\\'Weird, & font \\'\\' name\\',\", "
+ "serif, \"bar foo\";'>Test</div>")
+ << weirdFamily
+ << (QStringList() << weirdFamily << "serif" << "bar foo");
+}
- setHtml("<div style='font-family: Foo\n Bar, serif, \"bar foo\";'>Test</div>");
- QCOMPARE(doc->begin().begin().fragment().charFormat().fontFamily(), QString("Foo Bar,serif,bar foo"));
+void tst_QTextDocumentFragment::html_quotedFontFamily()
+{
+ QFETCH(QString, html);
+ QFETCH(QString, fontFamily);
+ QFETCH(QStringList, fontFamilies);
+ setHtml(html);
+ QCOMPARE(doc->begin().begin().fragment().charFormat().fontFamily(), fontFamily);
+ QCOMPARE(doc->begin().begin().fragment().charFormat().font().families(), fontFamilies);
}
void tst_QTextDocumentFragment::defaultFont()
diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
index 9c477589f9..9610e5b830 100644
--- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
@@ -138,6 +138,7 @@ private slots:
void noModificationOfInputString();
void superscriptCrash_qtbug53911();
void showLineAndParagraphSeparatorsCrash();
+ void koreanWordWrap();
private:
QFont testFont;
@@ -2309,5 +2310,30 @@ void tst_QTextLayout::nbspWithFormat()
QCOMPARE(layout.lineAt(1).textLength(), s2.length() + 1 + s3.length());
}
+void tst_QTextLayout::koreanWordWrap()
+{
+ QString s = QString::fromUtf8("안녕하세요 여러분!");
+ QTextLayout layout;
+ QTextOption option = layout.textOption();
+ option.setWrapMode(QTextOption::WordWrap);
+ option.setFlags(QTextOption::Flag(QTextOption::IncludeTrailingSpaces));
+ layout.setTextOption(option);
+ layout.setText(s);
+
+ QFontMetrics metrics(layout.font());
+
+ layout.beginLayout();
+ forever {
+ QTextLine line = layout.createLine();
+ if (!line.isValid())
+ break;
+ line.setLineWidth(metrics.width(s) * 0.8);
+ }
+ layout.endLayout();
+ QCOMPARE(layout.lineCount(), 2);
+ QCOMPARE(layout.lineAt(0).textLength(), 6);
+ QCOMPARE(layout.lineAt(1).textLength(), 4);
+}
+
QTEST_MAIN(tst_QTextLayout)
#include "tst_qtextlayout.moc"
diff --git a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
index 29eef506bf..22f00c677d 100644
--- a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
+++ b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
@@ -431,6 +431,12 @@ void tst_QTextTable::insertRows()
table->insertRows(5, 2);
QCOMPARE(table->rows(), 7);
+ table = cursor.insertTable(5,5);
+ table->mergeCells(0,0,3,3);
+ table->insertRows(2,1);
+
+ QCOMPARE(table->rows(), 6);
+
}
void tst_QTextTable::deleteInTable()
diff --git a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc
index ab882b5db2..8aab86e1ff 100644
--- a/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc
+++ b/tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc
@@ -3,5 +3,7 @@
<file>texturefiles/car.ktx</file>
<file>texturefiles/pattern.pkm</file>
<file>texturefiles/car_mips.ktx</file>
+ <file>texturefiles/newlogo_srgb.astc</file>
+ <file>texturefiles/newlogo.astc</file>
</qresource>
</RCC>
diff --git a/tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo.astc b/tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo.astc
new file mode 100644
index 0000000000..39bf3f1734
--- /dev/null
+++ b/tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo.astc
Binary files differ
diff --git a/tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo_srgb.astc b/tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo_srgb.astc
new file mode 100644
index 0000000000..38e876829b
--- /dev/null
+++ b/tests/auto/gui/util/qtexturefilereader/texturefiles/newlogo_srgb.astc
Binary files differ
diff --git a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp
index 9ff4f0ccf2..9b78d18954 100644
--- a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp
+++ b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp
@@ -49,33 +49,55 @@ void tst_qtexturefilereader::checkHandlers_data()
QTest::addColumn<QList<int>>("dataOffsets");
QTest::addColumn<QList<int>>("dataLengths");
- QTest::addRow("pattern.pkm") << QStringLiteral(":/texturefiles/pattern.pkm")
- << QSize(64, 64)
- << quint32(0x0)
- << quint32(0x8d64)
- << quint32(0x0)
- << 1
- << (QList<int>() << 16)
- << (QList<int>() << 2048);
+ QTest::addRow("pattern.pkm")
+ << QStringLiteral(":/texturefiles/pattern.pkm")
+ << QSize(64, 64)
+ << quint32(0x0)
+ << quint32(0x8d64)
+ << quint32(0x0)
+ << 1
+ << (QList<int>() << 16)
+ << (QList<int>() << 2048);
- QTest::addRow("car.ktx") << QStringLiteral(":/texturefiles/car.ktx")
- << QSize(146, 80)
- << quint32(0x0)
- << quint32(0x9278)
- << quint32(0x1908)
- << 1
- << (QList<int>() << 68)
- << (QList<int>() << 11840);
+ QTest::addRow("car.ktx")
+ << QStringLiteral(":/texturefiles/car.ktx")
+ << QSize(146, 80)
+ << quint32(0x0)
+ << quint32(0x9278)
+ << quint32(0x1908)
+ << 1
+ << (QList<int>() << 68)
+ << (QList<int>() << 11840);
- QTest::addRow("car_mips.ktx") << QStringLiteral(":/texturefiles/car_mips.ktx")
- << QSize(146, 80)
- << quint32(0x0)
- << quint32(0x9274)
- << quint32(0x1907)
- << 8
- << (QList<int>() << 68 << 5992 << 7516 << 7880 << 8004 << 8056 << 8068 << 8080)
- << (QList<int>() << 5920 << 1520 << 360 << 120 << 48 << 8 << 8 << 8);
+ QTest::addRow("car_mips.ktx")
+ << QStringLiteral(":/texturefiles/car_mips.ktx")
+ << QSize(146, 80)
+ << quint32(0x0)
+ << quint32(0x9274)
+ << quint32(0x1907)
+ << 8
+ << (QList<int>() << 68 << 5992 << 7516 << 7880 << 8004 << 8056 << 8068 << 8080)
+ << (QList<int>() << 5920 << 1520 << 360 << 120 << 48 << 8 << 8 << 8);
+ QTest::addRow("newlogo.astc")
+ << QStringLiteral(":/texturefiles/newlogo.astc")
+ << QSize(111, 78)
+ << quint32(0x0)
+ << quint32(0x93b9)
+ << quint32(0x0)
+ << 1
+ << (QList<int>() << 16)
+ << (QList<int>() << 2496);
+
+ QTest::addRow("newlogo_srgb.astc")
+ << QStringLiteral(":/texturefiles/newlogo_srgb.astc")
+ << QSize(111, 78)
+ << quint32(0x0)
+ << quint32(0x93d9)
+ << quint32(0x0)
+ << 1
+ << (QList<int>() << 16)
+ << (QList<int>() << 2496);
}
void tst_qtexturefilereader::checkHandlers()
diff --git a/tests/auto/network-settings.h b/tests/auto/network-settings.h
index 4225ff11c7..bf632c9846 100644
--- a/tests/auto/network-settings.h
+++ b/tests/auto/network-settings.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -72,15 +72,20 @@ public:
}
#ifdef QT_NETWORK_LIB
- static QHostAddress serverIP()
+ static QHostAddress getServerIpImpl(const QString &serverName)
{
- const QHostInfo info = QHostInfo::fromName(serverName());
+ const QHostInfo info = QHostInfo::fromName(serverName);
if (info.error()) {
QTest::qFail(qPrintable(info.errorString()), __FILE__, __LINE__);
return QHostAddress();
}
return info.addresses().constFirst();
}
+
+ static QHostAddress serverIP()
+ {
+ return getServerIpImpl(serverName());
+ }
#endif
static bool compareReplyIMAP(QByteArray const& actual)
@@ -143,7 +148,7 @@ public:
return true;
}
- static bool verifyConnection(QString serverName, quint16 port, quint32 retry = 10)
+ static bool verifyConnection(QString serverName, quint16 port, quint32 retry = 60)
{
QTcpSocket socket;
for (quint32 i = 1; i < retry; i++) {
@@ -214,4 +219,67 @@ public:
return serverName();
#endif
}
+ static QString imapServerName()
+ {
+#ifdef QT_TEST_SERVER_NAME
+ return QString("cyrus.") % serverDomainName();
+#else
+ return serverName();
+#endif
+ }
+
+ static QString echoServerName()
+ {
+#ifdef QT_TEST_SERVER_NAME
+ return QString("echo.") % serverDomainName();
+#else
+ return serverName();
+#endif
+ }
+
+ static QString firewallServerName()
+ {
+#ifdef QT_TEST_SERVER_NAME
+ return QString("iptables.") % serverDomainName();
+#else
+ return serverName();
+#endif
+ }
+
+#ifdef QT_NETWORK_LIB
+ static QHostAddress imapServerIp()
+ {
+ return getServerIpImpl(imapServerName());
+ }
+
+ static QHostAddress httpServerIp()
+ {
+ return getServerIpImpl(httpServerName());
+ }
+
+ static QHostAddress httpProxyServerIp()
+ {
+ return getServerIpImpl(httpProxyServerName());
+ }
+
+ static QHostAddress socksProxyServerIp()
+ {
+ return getServerIpImpl(socksProxyServerName());
+ }
+
+ static QHostAddress ftpProxyServerIp()
+ {
+ return getServerIpImpl(ftpProxyServerName());
+ }
+
+ static QHostAddress ftpServerIp()
+ {
+ return getServerIpImpl(ftpServerName());
+ }
+
+ static QHostAddress firewallServerIp()
+ {
+ return getServerIpImpl(firewallServerName());
+ }
+#endif
};
diff --git a/tests/auto/network/access/hpack/tst_hpack.cpp b/tests/auto/network/access/hpack/tst_hpack.cpp
index 810745a065..d5e359db57 100644
--- a/tests/auto/network/access/hpack/tst_hpack.cpp
+++ b/tests/auto/network/access/hpack/tst_hpack.cpp
@@ -57,7 +57,6 @@ private Q_SLOTS:
void lookupTableConstructor();
- void lookupTableStatic_data();
void lookupTableStatic();
void lookupTableDynamic();
@@ -126,7 +125,7 @@ void tst_Hpack::bitstreamConstruction()
// 'Read' some data back:
for (int i = 0; i < size; ++i) {
uchar bitPattern = 0;
- const auto bitsRead = in.peekBits(i * 8, 8, &bitPattern);
+ const auto bitsRead = in.peekBits(quint64(i * 8), 8, &bitPattern);
QVERIFY(bitsRead == 8);
QVERIFY(bitPattern == bytes[i]);
}
@@ -282,7 +281,7 @@ void tst_Hpack::bitstreamCompression()
const auto start = QRandomGenerator::global()->bounded(uint(bytes.length()) / 2);
auto end = start * 2;
if (!end)
- end = bytes.length() / 2;
+ end = unsigned(bytes.length() / 2);
strings.push_back(bytes.substr(start, end - start));
const auto &s = strings.back();
totalStringBytes += s.size();
@@ -384,43 +383,21 @@ void tst_Hpack::lookupTableConstructor()
}
}
-void tst_Hpack::lookupTableStatic_data()
-{
- QTest::addColumn<QByteArray>("expectedName");
- QTest::addColumn<QByteArray>("expectedValue");
-
- // Some predefined fields to find
- // (they are always defined/required by HPACK).
- QTest::newRow(":authority|") << QByteArray(":authority") << QByteArray("");
- QTest::newRow(":method|GET") << QByteArray(":method") << QByteArray("GET");
- QTest::newRow(":method|POST") << QByteArray(":method") << QByteArray("POST");
- QTest::newRow(":path|/") << QByteArray(":path") << QByteArray("/");
- QTest::newRow(":path|/index.html") << QByteArray(":path") << QByteArray("/index.html");
- QTest::newRow(":scheme|http") << QByteArray(":scheme") << QByteArray("http");
- QTest::newRow(":scheme|https") << QByteArray(":scheme") << QByteArray("https");
- QTest::newRow(":status|200") << QByteArray(":status") << QByteArray("200");
- QTest::newRow(":status|204") << QByteArray(":status") << QByteArray("204");
- QTest::newRow(":status|206") << QByteArray(":status") << QByteArray("206");
- QTest::newRow(":status|304") << QByteArray(":status") << QByteArray("304");
- QTest::newRow(":status|400") << QByteArray(":status") << QByteArray("400");
- QTest::newRow(":status|404") << QByteArray(":status") << QByteArray("404");
- QTest::newRow(":status|500") << QByteArray(":status") << QByteArray("500");
-}
-
void tst_Hpack::lookupTableStatic()
{
const FieldLookupTable table(0, false /*all static, no need in 'search index'*/);
-
- QFETCH(QByteArray, expectedName);
- QFETCH(QByteArray, expectedValue);
-
- const quint32 index = table.indexOf(expectedName, expectedValue);
- QVERIFY(index != 0);
-
+ const auto &staticTable = FieldLookupTable::staticPart();
QByteArray name, value;
- QVERIFY(table.field(index, &name, &value));
- QCOMPARE(name, expectedName);
- QCOMPARE(value, expectedValue);
+ quint32 currentIndex = 1; // HPACK is indexing starting from 1.
+ for (const HeaderField &field : staticTable) {
+ const quint32 index = table.indexOf(field.name, field.value);
+ QVERIFY(index != 0);
+ QCOMPARE(index, currentIndex);
+ QVERIFY(table.field(index, &name, &value));
+ QCOMPARE(name, field.name);
+ QCOMPARE(value, field.value);
+ ++currentIndex;
+ }
}
void tst_Hpack::lookupTableDynamic()
diff --git a/tests/auto/network/access/http2/http2.pro b/tests/auto/network/access/http2/http2.pro
index 62b685e556..646ea117f7 100644
--- a/tests/auto/network/access/http2/http2.pro
+++ b/tests/auto/network/access/http2/http2.pro
@@ -2,7 +2,8 @@ QT = core core-private network network-private testlib
CONFIG += testcase parallel_test c++11
TARGET = tst_http2
-HEADERS += http2srv.h
+INCLUDEPATH += ../../../../shared/
+HEADERS += http2srv.h ../../../../shared/emulationdetector.h
SOURCES += tst_http2.cpp http2srv.cpp
DEFINES += SRCDIR=\\\"$$PWD/\\\"
diff --git a/tests/auto/network/access/http2/http2srv.cpp b/tests/auto/network/access/http2/http2srv.cpp
index 1f9ffb8985..5a99d4e50c 100644
--- a/tests/auto/network/access/http2/http2srv.cpp
+++ b/tests/auto/network/access/http2/http2srv.cpp
@@ -76,11 +76,15 @@ void fill_push_header(const HttpHeader &originalRequest, HttpHeader &promisedReq
}
-Http2Server::Http2Server(bool h2c, const Http2::RawSettings &ss, const Http2::RawSettings &cs)
- : serverSettings(ss),
- expectedClientSettings(cs),
- clearTextHTTP2(h2c)
+Http2Server::Http2Server(H2Type type, const Http2::RawSettings &ss, const Http2::RawSettings &cs)
+ : connectionType(type),
+ serverSettings(ss),
+ expectedClientSettings(cs)
{
+#if !QT_CONFIG(ssl)
+ Q_ASSERT(type != H2Type::h2Alpn && type != H2Type::h2Direct);
+#endif
+
responseBody = "<html>\n"
"<head>\n"
"<title>Sample \"Hello, World\" Application</title>\n"
@@ -129,15 +133,15 @@ void Http2Server::redirectOpenStream(quint16 port)
targetPort = port;
}
+bool Http2Server::isClearText() const
+{
+ return connectionType == H2Type::h2c || connectionType == H2Type::h2cDirect;
+}
+
void Http2Server::startServer()
{
-#ifdef QT_NO_SSL
- // Let the test fail with timeout.
- if (!clearTextHTTP2)
- return;
-#endif
if (listen()) {
- if (clearTextHTTP2)
+ if (isClearText())
authority = QStringLiteral("127.0.0.1:%1").arg(serverPort()).toLatin1();
emit serverStarted(serverPort());
}
@@ -146,7 +150,7 @@ void Http2Server::startServer()
bool Http2Server::sendProtocolSwitchReply()
{
Q_ASSERT(socket);
- Q_ASSERT(clearTextHTTP2 && upgradeProtocol);
+ Q_ASSERT(connectionType == H2Type::h2c);
// The first and the last HTTP/1.1 response we send:
const char response[] = "HTTP/1.1 101 Switching Protocols\r\n"
"Connection: Upgrade\r\n"
@@ -262,25 +266,28 @@ void Http2Server::sendWINDOW_UPDATE(quint32 streamID, quint32 delta)
void Http2Server::incomingConnection(qintptr socketDescriptor)
{
- if (clearTextHTTP2) {
+ if (isClearText()) {
socket.reset(new QTcpSocket);
const bool set = socket->setSocketDescriptor(socketDescriptor);
Q_ASSERT(set);
// Stop listening:
close();
- upgradeProtocol = true;
+ upgradeProtocol = connectionType == H2Type::h2c;
QMetaObject::invokeMethod(this, "connectionEstablished",
Qt::QueuedConnection);
} else {
-#ifndef QT_NO_SSL
+#if QT_CONFIG(ssl)
socket.reset(new QSslSocket);
QSslSocket *sslSocket = static_cast<QSslSocket *>(socket.data());
- // Add HTTP2 as supported protocol:
- auto conf = QSslConfiguration::defaultConfiguration();
- auto protos = conf.allowedNextProtocols();
- protos.prepend(QSslConfiguration::ALPNProtocolHTTP2);
- conf.setAllowedNextProtocols(protos);
- sslSocket->setSslConfiguration(conf);
+
+ if (connectionType == H2Type::h2Alpn) {
+ // Add HTTP2 as supported protocol:
+ auto conf = QSslConfiguration::defaultConfiguration();
+ auto protos = conf.allowedNextProtocols();
+ protos.prepend(QSslConfiguration::ALPNProtocolHTTP2);
+ conf.setAllowedNextProtocols(protos);
+ sslSocket->setSslConfiguration(conf);
+ }
// SSL-related setup ...
sslSocket->setPeerVerifyMode(QSslSocket::VerifyNone);
sslSocket->setProtocol(QSsl::TlsV1_2OrLater);
@@ -299,7 +306,7 @@ void Http2Server::incomingConnection(qintptr socketDescriptor)
connect(sslSocket, SIGNAL(encrypted()), this, SLOT(connectionEstablished()));
sslSocket->startServerEncryption();
#else
- Q_UNREACHABLE();
+ Q_ASSERT(0);
#endif
}
}
@@ -377,7 +384,7 @@ void Http2Server::connectionEstablished()
{
using namespace Http2;
- if (testingGOAWAY && !clearTextHTTP2)
+ if (testingGOAWAY && !isClearText())
return triggerGOAWAYEmulation();
// For clearTextHTTP2 we first have to respond with 'protocol switch'
@@ -392,7 +399,7 @@ void Http2Server::connectionEstablished()
waitingClientSettings = false;
settingsSent = false;
- if (clearTextHTTP2) {
+ if (connectionType == H2Type::h2c) {
requestLine.clear();
// Now we have to handle HTTP/1.1 request. We use Get/Post in our test,
// so set requestType to something unsupported:
@@ -431,6 +438,13 @@ void Http2Server::readReady()
if (connectionError)
return;
+ if (redirectSent) {
+ // We are a "single shot" server, working in 'h2' mode,
+ // responding with a redirect code. Don't bother to handle
+ // anything else now.
+ return;
+ }
+
if (upgradeProtocol) {
handleProtocolUpgrade();
} else if (waitingClientPreface) {
@@ -800,11 +814,18 @@ void Http2Server::sendResponse(quint32 streamID, bool emptyBody)
HttpHeader header;
if (redirectWhileReading) {
+ if (redirectSent) {
+ // This is a "single-shot" server responding with a redirect code.
+ return;
+ }
+
+ redirectSent = true;
+
qDebug("server received HEADERS frame (followed by DATA frames), redirecting ...");
Q_ASSERT(targetPort);
header.push_back({":status", "308"});
const QString url("%1://localhost:%2/");
- header.push_back({"location", url.arg(clearTextHTTP2 ? QStringLiteral("http") : QStringLiteral("https"),
+ header.push_back({"location", url.arg(isClearText() ? QStringLiteral("http") : QStringLiteral("https"),
QString::number(targetPort)).toLatin1()});
} else {
diff --git a/tests/auto/network/access/http2/http2srv.h b/tests/auto/network/access/http2/http2srv.h
index 87a17ced8b..4ef4b25101 100644
--- a/tests/auto/network/access/http2/http2srv.h
+++ b/tests/auto/network/access/http2/http2srv.h
@@ -62,21 +62,32 @@ public:
Q_DECLARE_PRIVATE(Http11Reply)
};
+enum class H2Type {
+ h2Alpn, // Secure connection, ALPN to negotiate h2.
+ h2c, // Clear text with protocol upgrade.
+ h2Direct, // Secure connection, ALPN not supported.
+ h2cDirect, // Clear text direct
+};
+
class Http2Server : public QTcpServer
{
Q_OBJECT
public:
- Http2Server(bool clearText, const Http2::RawSettings &serverSettings,
+
+ Http2Server(H2Type type, const Http2::RawSettings &serverSettings,
const Http2::RawSettings &clientSettings);
~Http2Server();
+
// To be called before server started:
void enablePushPromise(bool enabled, const QByteArray &path = QByteArray());
void setResponseBody(const QByteArray &body);
void emulateGOAWAY(int timeout);
void redirectOpenStream(quint16 targetPort);
+ bool isClearText() const;
+
// Invokables, since we can call them from the main thread,
// but server (can) work on its own thread.
Q_INVOKABLE void startServer();
@@ -129,6 +140,7 @@ private:
QScopedPointer<QAbstractSocket> socket;
+ H2Type connectionType = H2Type::h2Alpn;
// Connection preface:
bool waitingClientPreface = false;
bool waitingClientSettings = false;
@@ -170,7 +182,6 @@ private:
quint32 streamRecvWindowSize = Http2::defaultSessionWindowSize;
QByteArray responseBody;
- bool clearTextHTTP2 = false;
bool pushPromiseEnabled = false;
quint32 lastPromisedStream = 0;
QByteArray pushPath;
@@ -193,6 +204,7 @@ private:
// Redirect, with status code 308, as soon as we've seen headers, while client
// may still be sending DATA frames. See tst_Http2::earlyResponse().
bool redirectWhileReading = false;
+ bool redirectSent = false;
quint16 targetPort = 0;
QAtomicInt interrupted;
protected slots:
diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp
index 49daedf32c..53d0e7a694 100644
--- a/tests/auto/network/access/http2/tst_http2.cpp
+++ b/tests/auto/network/access/http2/tst_http2.cpp
@@ -48,7 +48,10 @@
#include <cstdlib>
#include <string>
-#if !defined(QT_NO_OPENSSL) && OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_TLSEXT)
+#include "emulationdetector.h"
+
+#if (!defined(QT_NO_OPENSSL) && OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_TLSEXT)) \
+ || QT_CONFIG(schannel)
// HTTP/2 over TLS requires ALPN/NPN to negotiate the protocol version.
const bool clearTextHTTP2 = false;
#else
@@ -57,6 +60,9 @@ const bool clearTextHTTP2 = false;
const bool clearTextHTTP2 = true;
#endif
+Q_DECLARE_METATYPE(H2Type)
+Q_DECLARE_METATYPE(QNetworkRequest::Attribute)
+
QT_BEGIN_NAMESPACE
class tst_Http2 : public QObject
@@ -67,6 +73,7 @@ public:
~tst_Http2();
private slots:
// Tests:
+ void singleRequest_data();
void singleRequest();
void multipleRequests();
void flowControlClientSide();
@@ -98,13 +105,13 @@ private:
// small payload.
void runEventLoop(int ms = 5000);
void stopEventLoop();
- Http2Server *newServer(const Http2::RawSettings &serverSettings,
+ Http2Server *newServer(const Http2::RawSettings &serverSettings, H2Type connectionType,
const Http2::ProtocolParameters &clientSettings = {});
// Send a get or post request, depending on a payload (empty or not).
void sendRequest(int streamNumber,
QNetworkRequest::Priority priority = QNetworkRequest::NormalPriority,
const QByteArray &payload = QByteArray());
- QUrl requestUrl() const;
+ QUrl requestUrl(H2Type connnectionType) const;
quint16 serverPort = 0;
QThread *workerThread = nullptr;
@@ -141,6 +148,11 @@ struct ServerDeleter
using ServerPtr = QScopedPointer<Http2Server, ServerDeleter>;
+H2Type defaultConnectionType()
+{
+ return clearTextHTTP2 ? H2Type::h2c : H2Type::h2Alpn;
+}
+
} // unnamed namespace
tst_Http2::tst_Http2()
@@ -162,25 +174,59 @@ tst_Http2::~tst_Http2()
}
}
+void tst_Http2::singleRequest_data()
+{
+ QTest::addColumn<QNetworkRequest::Attribute>("h2Attribute");
+ QTest::addColumn<H2Type>("connectionType");
+
+ // 'Clear text' that should always work, either via the protocol upgrade
+ // or as direct.
+ QTest::addRow("h2c-upgrade") << QNetworkRequest::HTTP2AllowedAttribute << H2Type::h2c;
+ QTest::addRow("h2c-direct") << QNetworkRequest::Http2DirectAttribute << H2Type::h2cDirect;
+
+ if (!clearTextHTTP2) {
+ // Qt with TLS where TLS-backend supports ALPN.
+ QTest::addRow("h2-ALPN") << QNetworkRequest::HTTP2AllowedAttribute << H2Type::h2Alpn;
+ }
+
+#if QT_CONFIG(ssl)
+ QTest::addRow("h2-direct") << QNetworkRequest::Http2DirectAttribute << H2Type::h2Direct;
+#endif
+}
+
void tst_Http2::singleRequest()
{
clearHTTP2State();
+#if QT_CONFIG(securetransport)
+ // Normally on macOS we use plain text only for SecureTransport
+ // does not support ALPN on the server side. With 'direct encrytped'
+ // we have to use TLS sockets (== private key) and thus suppress a
+ // keychain UI asking for permission to use a private key.
+ // Our CI has this, but somebody testing locally - will have a problem.
+ qputenv("QT_SSL_USE_TEMPORARY_KEYCHAIN", QByteArray("1"));
+ auto envRollback = qScopeGuard([](){
+ qunsetenv("QT_SSL_USE_TEMPORARY_KEYCHAIN");
+ });
+#endif
+
serverPort = 0;
nRequests = 1;
- ServerPtr srv(newServer(defaultServerSettings));
+ QFETCH(const H2Type, connectionType);
+ ServerPtr srv(newServer(defaultServerSettings, connectionType));
QMetaObject::invokeMethod(srv.data(), "startServer", Qt::QueuedConnection);
runEventLoop();
QVERIFY(serverPort != 0);
- auto url = requestUrl();
+ auto url = requestUrl(connectionType);
url.setPath("/index.html");
QNetworkRequest request(url);
- request.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, QVariant(true));
+ QFETCH(const QNetworkRequest::Attribute, h2Attribute);
+ request.setAttribute(h2Attribute, QVariant(true));
auto reply = manager.get(request);
connect(reply, &QNetworkReply::finished, this, &tst_Http2::replyFinished);
@@ -205,7 +251,7 @@ void tst_Http2::multipleRequests()
serverPort = 0;
nRequests = 10;
- ServerPtr srv(newServer(defaultServerSettings));
+ ServerPtr srv(newServer(defaultServerSettings, defaultConnectionType()));
QMetaObject::invokeMethod(srv.data(), "startServer", Qt::QueuedConnection);
@@ -256,7 +302,7 @@ void tst_Http2::flowControlClientSide()
manager.setProperty(Http2::http2ParametersPropertyName, QVariant::fromValue(params));
const Http2::RawSettings serverSettings = {{Settings::MAX_CONCURRENT_STREAMS_ID, quint32(3)}};
- ServerPtr srv(newServer(serverSettings, params));
+ ServerPtr srv(newServer(serverSettings, defaultConnectionType(), params));
const QByteArray respond(int(Http2::defaultSessionWindowSize * 10), 'x');
@@ -288,6 +334,9 @@ void tst_Http2::flowControlServerSide()
// to let all replies finish without any error.
using namespace Http2;
+ if (EmulationDetector::isRunningArmOnX86())
+ QSKIP("Test is too slow to run on emulator");
+
clearHTTP2State();
serverPort = 0;
@@ -295,7 +344,7 @@ void tst_Http2::flowControlServerSide()
const Http2::RawSettings serverSettings = {{Settings::MAX_CONCURRENT_STREAMS_ID, 7}};
- ServerPtr srv(newServer(serverSettings));
+ ServerPtr srv(newServer(serverSettings, defaultConnectionType()));
const QByteArray payload(int(Http2::defaultSessionWindowSize * 500), 'x');
@@ -330,7 +379,7 @@ void tst_Http2::pushPromise()
params.settingsFrameData[Settings::ENABLE_PUSH_ID] = 1;
manager.setProperty(Http2::http2ParametersPropertyName, QVariant::fromValue(params));
- ServerPtr srv(newServer(defaultServerSettings, params));
+ ServerPtr srv(newServer(defaultServerSettings, defaultConnectionType(), params));
srv->enablePushPromise(true, QByteArray("/script.js"));
QMetaObject::invokeMethod(srv.data(), "startServer", Qt::QueuedConnection);
@@ -338,7 +387,7 @@ void tst_Http2::pushPromise()
QVERIFY(serverPort != 0);
- auto url = requestUrl();
+ auto url = requestUrl(defaultConnectionType());
url.setPath("/index.html");
QNetworkRequest request(url);
@@ -404,14 +453,14 @@ void tst_Http2::goaway()
serverPort = 0;
nRequests = 3;
- ServerPtr srv(newServer(defaultServerSettings));
+ ServerPtr srv(newServer(defaultServerSettings, defaultConnectionType()));
srv->emulateGOAWAY(responseTimeoutMS);
QMetaObject::invokeMethod(srv.data(), "startServer", Qt::QueuedConnection);
runEventLoop();
QVERIFY(serverPort != 0);
- auto url = requestUrl();
+ auto url = requestUrl(defaultConnectionType());
// We have to store these replies, so that we can check errors later.
std::vector<QNetworkReply *> replies(nRequests);
for (int i = 0; i < nRequests; ++i) {
@@ -451,7 +500,7 @@ void tst_Http2::earlyResponse()
serverPort = 0;
nRequests = 1;
- ServerPtr targetServer(newServer(defaultServerSettings));
+ ServerPtr targetServer(newServer(defaultServerSettings, defaultConnectionType()));
QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection);
runEventLoop();
@@ -461,14 +510,14 @@ void tst_Http2::earlyResponse()
const quint16 targetPort = serverPort;
serverPort = 0;
- ServerPtr redirector(newServer(defaultServerSettings));
+ ServerPtr redirector(newServer(defaultServerSettings, defaultConnectionType()));
redirector->redirectOpenStream(targetPort);
QMetaObject::invokeMethod(redirector.data(), "startServer", Qt::QueuedConnection);
runEventLoop();
QVERIFY(serverPort);
- sendRequest(1, QNetworkRequest::NormalPriority, {10000000, Qt::Uninitialized});
+ sendRequest(1, QNetworkRequest::NormalPriority, {1000000, Qt::Uninitialized});
runEventLoop();
@@ -501,11 +550,11 @@ void tst_Http2::stopEventLoop()
eventLoop.exitLoop();
}
-Http2Server *tst_Http2::newServer(const Http2::RawSettings &serverSettings,
+Http2Server *tst_Http2::newServer(const Http2::RawSettings &serverSettings, H2Type connectionType,
const Http2::ProtocolParameters &clientSettings)
{
using namespace Http2;
- auto srv = new Http2Server(clearTextHTTP2, serverSettings,
+ auto srv = new Http2Server(connectionType, serverSettings,
clientSettings.settingsFrameData);
using Srv = Http2Server;
@@ -530,7 +579,7 @@ void tst_Http2::sendRequest(int streamNumber,
QNetworkRequest::Priority priority,
const QByteArray &payload)
{
- auto url = requestUrl();
+ auto url = requestUrl(defaultConnectionType());
url.setPath(QString("/stream%1.html").arg(streamNumber));
QNetworkRequest request(url);
@@ -549,10 +598,24 @@ void tst_Http2::sendRequest(int streamNumber,
connect(reply, &QNetworkReply::finished, this, &tst_Http2::replyFinished);
}
-QUrl tst_Http2::requestUrl() const
+QUrl tst_Http2::requestUrl(H2Type connectionType) const
{
+#if !QT_CONFIG(ssl)
+ Q_ASSERT(connectionType != H2Type::h2Alpn && connectionType != H2Type::h2Direct);
+#endif
static auto url = QUrl(QLatin1String(clearTextHTTP2 ? "http://127.0.0.1" : "https://127.0.0.1"));
url.setPort(serverPort);
+ // Clear text may mean no-TLS-at-all or crappy-TLS-without-ALPN.
+ switch (connectionType) {
+ case H2Type::h2Alpn:
+ case H2Type::h2Direct:
+ url.setScheme(QStringLiteral("https"));
+ break;
+ case H2Type::h2c:
+ case H2Type::h2cDirect:
+ url.setScheme(QStringLiteral("http"));
+ break;
+ }
return url;
}
diff --git a/tests/auto/network/access/qabstractnetworkcache/qabstractnetworkcache.pro b/tests/auto/network/access/qabstractnetworkcache/qabstractnetworkcache.pro
index 1874f001ab..bdd9d4eb7e 100644
--- a/tests/auto/network/access/qabstractnetworkcache/qabstractnetworkcache.pro
+++ b/tests/auto/network/access/qabstractnetworkcache/qabstractnetworkcache.pro
@@ -5,3 +5,5 @@ SOURCES += tst_qabstractnetworkcache.cpp
TESTDATA += tests/*
+QT_TEST_SERVER_LIST = apache2
+include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
diff --git a/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp b/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp
index 0da42b8b87..182e3e9547 100644
--- a/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp
+++ b/tests/auto/network/access/qabstractnetworkcache/tst_qabstractnetworkcache.cpp
@@ -39,7 +39,7 @@
#include <algorithm>
-#define TESTFILE QLatin1String("http://") + QtNetworkSettings::serverName() + QLatin1String("/qtest/cgi-bin/")
+#define TESTFILE QLatin1String("http://") + QtNetworkSettings::httpServerName() + QLatin1String("/qtest/cgi-bin/")
class tst_QAbstractNetworkCache : public QObject
{
@@ -127,8 +127,13 @@ Q_DECLARE_METATYPE(QNetworkRequest::CacheLoadControl)
void tst_QAbstractNetworkCache::initTestCase()
{
+#if defined(QT_TEST_SERVER)
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpServerName(), 80));
+#else
if (!QtNetworkSettings::verifyTestNetworkSettings())
QSKIP("No network test server available");
+#endif
+
#ifndef QT_NO_BEARERMANAGEMENT
netConfMan = new QNetworkConfigurationManager(this);
networkConfiguration = netConfMan->defaultConfiguration();
@@ -251,9 +256,14 @@ void tst_QAbstractNetworkCache::cacheControl_data()
QTest::newRow("200-1") << QNetworkRequest::PreferNetwork << "httpcachetest_cachecontrol-expire.cgi" << false;
QTest::newRow("200-2") << QNetworkRequest::AlwaysNetwork << "httpcachetest_cachecontrol.cgi?no-cache" << AlwaysFalse;
- QTest::newRow("200-3") << QNetworkRequest::PreferNetwork << "httpcachetest_cachecontrol.cgi?no-cache" << false;
+ QTest::newRow("200-3") << QNetworkRequest::PreferNetwork << "httpcachetest_cachecontrol.cgi?no-cache" << true;
QTest::newRow("200-4") << QNetworkRequest::AlwaysCache << "httpcachetest_cachecontrol.cgi?no-cache" << false;
- QTest::newRow("200-5") << QNetworkRequest::PreferCache << "httpcachetest_cachecontrol.cgi?no-cache" << false;
+ QTest::newRow("200-5") << QNetworkRequest::PreferCache << "httpcachetest_cachecontrol.cgi?no-cache" << true;
+
+ QTest::newRow("200-6") << QNetworkRequest::AlwaysNetwork << "httpcachetest_cachecontrol.cgi?no-store" << AlwaysFalse;
+ QTest::newRow("200-7") << QNetworkRequest::PreferNetwork << "httpcachetest_cachecontrol.cgi?no-store" << false;
+ QTest::newRow("200-8") << QNetworkRequest::AlwaysCache << "httpcachetest_cachecontrol.cgi?no-store" << false;
+ QTest::newRow("200-9") << QNetworkRequest::PreferCache << "httpcachetest_cachecontrol.cgi?no-store" << false;
QTest::newRow("304-0") << QNetworkRequest::PreferNetwork << "httpcachetest_cachecontrol.cgi?max-age=1000" << true;
diff --git a/tests/auto/network/access/qhttpnetworkconnection/qhttpnetworkconnection.pro b/tests/auto/network/access/qhttpnetworkconnection/qhttpnetworkconnection.pro
index d32b651b86..69a4a50144 100644
--- a/tests/auto/network/access/qhttpnetworkconnection/qhttpnetworkconnection.pro
+++ b/tests/auto/network/access/qhttpnetworkconnection/qhttpnetworkconnection.pro
@@ -4,3 +4,7 @@ SOURCES += tst_qhttpnetworkconnection.cpp
requires(qtConfig(private_tests))
QT = core-private network-private testlib
+
+QT_TEST_SERVER_LIST = apache2
+include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+
diff --git a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
index 84766f5484..0a9320118d 100644
--- a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
+++ b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp
@@ -50,6 +50,7 @@ private:
bool finishedCalled;
bool finishedWithErrorCalled;
QNetworkReply::NetworkError netErrorCode;
+ QString (*httpServerName)() = QtNetworkSettings::httpServerName;
private Q_SLOTS:
void initTestCase();
@@ -101,7 +102,11 @@ private Q_SLOTS:
void tst_QHttpNetworkConnection::initTestCase()
{
+#if defined(QT_TEST_SERVER)
+ QVERIFY(QtNetworkSettings::verifyConnection(httpServerName(), 80));
+#else
QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+#endif
}
void tst_QHttpNetworkConnection::options_data()
@@ -126,10 +131,9 @@ void tst_QHttpNetworkConnection::head_data()
QTest::addColumn<QString>("statusString");
QTest::addColumn<int>("contentLength");
- QTest::newRow("success-internal") << "http://" << QtNetworkSettings::serverName() << "/qtest/rfc3252.txt" << ushort(80) << false << 200 << "OK" << 25962;
-
- QTest::newRow("failure-path") << "http://" << QtNetworkSettings::serverName() << "/t" << ushort(80) << false << 404 << "Not Found" << -1;
- QTest::newRow("failure-protocol") << "" << QtNetworkSettings::serverName() << "/qtest/rfc3252.txt" << ushort(80) << false << 400 << "Bad Request" << -1;
+ QTest::newRow("success-internal") << "http://" << httpServerName() << "/qtest/rfc3252.txt" << ushort(80) << false << 200 << "OK" << 25962;
+ QTest::newRow("failure-path") << "http://" << httpServerName() << "/t" << ushort(80) << false << 404 << "Not Found" << -1;
+ QTest::newRow("failure-protocol") << "" << httpServerName() << "/qtest/rfc3252.txt" << ushort(80) << false << 400 << "Bad Request" << -1;
}
void tst_QHttpNetworkConnection::head()
@@ -175,10 +179,10 @@ void tst_QHttpNetworkConnection::get_data()
QTest::addColumn<int>("contentLength");
QTest::addColumn<int>("downloadSize");
- QTest::newRow("success-internal") << "http://" << QtNetworkSettings::serverName() << "/qtest/rfc3252.txt" << ushort(80) << false << 200 << "OK" << 25962 << 25962;
+ QTest::newRow("success-internal") << "http://" << httpServerName() << "/qtest/rfc3252.txt" << ushort(80) << false << 200 << "OK" << 25962 << 25962;
- QTest::newRow("failure-path") << "http://" << QtNetworkSettings::serverName() << "/t" << ushort(80) << false << 404 << "Not Found" << -1 << -1;
- QTest::newRow("failure-protocol") << "" << QtNetworkSettings::serverName() << "/qtest/rfc3252.txt" << ushort(80) << false << 400 << "Bad Request" << -1 << -1;
+ QTest::newRow("failure-path") << "http://" << httpServerName() << "/t" << ushort(80) << false << 404 << "Not Found" << -1 << -1;
+ QTest::newRow("failure-protocol") << "" << httpServerName() << "/qtest/rfc3252.txt" << ushort(80) << false << 400 << "Bad Request" << -1 << -1;
}
void tst_QHttpNetworkConnection::get()
@@ -244,8 +248,8 @@ void tst_QHttpNetworkConnection::put_data()
QTest::addColumn<QString>("data");
QTest::addColumn<bool>("succeed");
- QTest::newRow("success-internal") << "http://" << QtNetworkSettings::serverName() << "/dav/file1.txt" << ushort(80) << false << "Hello World\nEnd of file\n"<<true;
- QTest::newRow("fail-internal") << "http://" << QtNetworkSettings::serverName() << "/dav2/file1.txt" << ushort(80) << false << "Hello World\nEnd of file\n"<<false;
+ QTest::newRow("success-internal") << "http://" << httpServerName() << "/dav/file1.txt" << ushort(80) << false << "Hello World\nEnd of file\n"<<true;
+ QTest::newRow("fail-internal") << "http://" << httpServerName() << "/dav2/file1.txt" << ushort(80) << false << "Hello World\nEnd of file\n"<<false;
QTest::newRow("fail-host") << "http://" << "invalid.test.qt-project.org" << "/dav2/file1.txt" << ushort(80) << false << "Hello World\nEnd of file\n"<<false;
}
@@ -324,8 +328,8 @@ void tst_QHttpNetworkConnection::post_data()
QTest::addColumn<int>("contentLength");
QTest::addColumn<int>("downloadSize");
- QTest::newRow("success-internal") << "http://" << QtNetworkSettings::serverName() << "/qtest/cgi-bin/echo.cgi" << ushort(80) << false << "7 bytes" << 200 << "OK" << 7 << 7;
- QTest::newRow("failure-internal") << "http://" << QtNetworkSettings::serverName() << "/t" << ushort(80) << false << "Hello World" << 404 << "Not Found" << -1 << -1;
+ QTest::newRow("success-internal") << "http://" << httpServerName() << "/qtest/cgi-bin/echo.cgi" << ushort(80) << false << "7 bytes" << 200 << "OK" << 7 << 7;
+ QTest::newRow("failure-internal") << "http://" << httpServerName() << "/t" << ushort(80) << false << "Hello World" << 404 << "Not Found" << -1 << -1;
}
void tst_QHttpNetworkConnection::post()
@@ -449,11 +453,11 @@ void tst_QHttpNetworkConnection::get401_data()
QTest::addColumn<QString>("password");
QTest::addColumn<int>("statusCode");
- QTest::newRow("no-credentials") << "http://" << QtNetworkSettings::serverName() << "/qtest/rfcs-auth/index.html" << ushort(80) << false << false << "" << ""<<401;
- QTest::newRow("invalid-credentials") << "http://" << QtNetworkSettings::serverName() << "/qtest/rfcs-auth/index.html" << ushort(80) << false << true << "test" << "test"<<401;
- QTest::newRow("valid-credentials") << "http://" << QtNetworkSettings::serverName() << "/qtest/rfcs-auth/index.html" << ushort(80) << false << true << "httptest" << "httptest"<<200;
- QTest::newRow("digest-authentication-invalid") << "http://" << QtNetworkSettings::serverName() << "/qtest/auth-digest/index.html" << ushort(80) << false << true << "wrong" << "wrong"<<401;
- QTest::newRow("digest-authentication-valid") << "http://" << QtNetworkSettings::serverName() << "/qtest/auth-digest/index.html" << ushort(80) << false << true << "httptest" << "httptest"<<200;
+ QTest::newRow("no-credentials") << "http://" << httpServerName() << "/qtest/rfcs-auth/index.html" << ushort(80) << false << false << "" << ""<<401;
+ QTest::newRow("invalid-credentials") << "http://" << httpServerName() << "/qtest/rfcs-auth/index.html" << ushort(80) << false << true << "test" << "test"<<401;
+ QTest::newRow("valid-credentials") << "http://" << httpServerName() << "/qtest/rfcs-auth/index.html" << ushort(80) << false << true << "httptest" << "httptest"<<200;
+ QTest::newRow("digest-authentication-invalid") << "http://" << httpServerName() << "/qtest/auth-digest/index.html" << ushort(80) << false << true << "wrong" << "wrong"<<401;
+ QTest::newRow("digest-authentication-valid") << "http://" << httpServerName() << "/qtest/auth-digest/index.html" << ushort(80) << false << true << "httptest" << "httptest"<<200;
}
void tst_QHttpNetworkConnection::get401()
@@ -508,9 +512,9 @@ void tst_QHttpNetworkConnection::compression_data()
QTest::addColumn<bool>("autoCompress");
QTest::addColumn<QString>("contentCoding");
- QTest::newRow("success-autogzip-temp") << "http://" << QtNetworkSettings::serverName() << "/qtest/rfcs/rfc2616.html" << ushort(80) << false << 200 << "OK" << -1 << 418321 << true << "";
- QTest::newRow("success-nogzip-temp") << "http://" << QtNetworkSettings::serverName() << "/qtest/rfcs/rfc2616.html" << ushort(80) << false << 200 << "OK" << 418321 << 418321 << false << "identity";
- QTest::newRow("success-manualgzip-temp") << "http://" << QtNetworkSettings::serverName() << "/qtest/deflate/rfc2616.html" << ushort(80) << false << 200 << "OK" << 119124 << 119124 << false << "gzip";
+ QTest::newRow("success-autogzip-temp") << "http://" << httpServerName() << "/qtest/rfcs/rfc2616.html" << ushort(80) << false << 200 << "OK" << -1 << 418321 << true << "";
+ QTest::newRow("success-nogzip-temp") << "http://" << httpServerName() << "/qtest/rfcs/rfc2616.html" << ushort(80) << false << 200 << "OK" << 418321 << 418321 << false << "identity";
+ QTest::newRow("success-manualgzip-temp") << "http://" << httpServerName() << "/qtest/deflate/rfc2616.html" << ushort(80) << false << 200 << "OK" << 119124 << 119124 << false << "gzip";
}
@@ -586,9 +590,9 @@ void tst_QHttpNetworkConnection::ignoresslerror_data()
// fluke's certificate is signed by a non-standard authority.
// Since we don't introduce that CA into the SSL verification chain,
// connecting should fail.
- QTest::newRow("success-init") << "https://" << QtNetworkSettings::serverName() << "/" << ushort(443) << true << true << false << 200;
- QTest::newRow("success-fromSignal") << "https://" << QtNetworkSettings::serverName() << "/" << ushort(443) << true << false << true << 200;
- QTest::newRow("failure") << "https://" << QtNetworkSettings::serverName() << "/" << ushort(443) << true << false << false << 100;
+ QTest::newRow("success-init") << "https://" << httpServerName() << "/" << ushort(443) << true << true << false << 200;
+ QTest::newRow("success-fromSignal") << "https://" << httpServerName() << "/" << ushort(443) << true << false << true << 200;
+ QTest::newRow("failure") << "https://" << httpServerName() << "/" << ushort(443) << true << false << false << 100;
}
void tst_QHttpNetworkConnection::ignoresslerror()
@@ -635,7 +639,7 @@ void tst_QHttpNetworkConnection::nossl_data()
QTest::addColumn<bool>("encrypt");
QTest::addColumn<QNetworkReply::NetworkError>("networkError");
- QTest::newRow("protocol-error") << "https://" << QtNetworkSettings::serverName() << "/" << ushort(443) << true <<QNetworkReply::ProtocolUnknownError;
+ QTest::newRow("protocol-error") << "https://" << httpServerName() << "/" << ushort(443) << true <<QNetworkReply::ProtocolUnknownError;
}
void tst_QHttpNetworkConnection::nossl()
@@ -696,7 +700,7 @@ void tst_QHttpNetworkConnection::getMultiple()
QFETCH(bool, pipeliningAllowed);
QFETCH(int, requestCount);
- QHttpNetworkConnection connection(connectionCount, QtNetworkSettings::serverName());
+ QHttpNetworkConnection connection(connectionCount, httpServerName());
QList<QHttpNetworkRequest*> requests;
QList<QHttpNetworkReply*> replies;
@@ -705,7 +709,7 @@ void tst_QHttpNetworkConnection::getMultiple()
// depending on what you use the results will vary.
// for the "real" results, use a URL that has "internet latency" for you. Then (6 connections, pipelining) will win.
// for LAN latency, you will possibly get that (1 connection, no pipelining) is the fastest
- QHttpNetworkRequest *request = new QHttpNetworkRequest("http://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt");
+ QHttpNetworkRequest *request = new QHttpNetworkRequest("http://" + httpServerName() + "/qtest/rfc3252.txt");
if (pipeliningAllowed)
request->setPipeliningAllowed(true);
requests.append(request);
@@ -723,7 +727,7 @@ void tst_QHttpNetworkConnection::getMultipleWithPipeliningAndMultiplePriorities(
quint16 requestCount = 100;
// use 2 connections.
- QHttpNetworkConnection connection(2, QtNetworkSettings::serverName());
+ QHttpNetworkConnection connection(2, httpServerName());
QList<QHttpNetworkRequest*> requests;
QList<QHttpNetworkReply*> replies;
@@ -731,9 +735,9 @@ void tst_QHttpNetworkConnection::getMultipleWithPipeliningAndMultiplePriorities(
for (int i = 0; i < requestCount; i++) {
QHttpNetworkRequest *request = 0;
if (i % 3)
- request = new QHttpNetworkRequest("http://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt", QHttpNetworkRequest::Get);
+ request = new QHttpNetworkRequest("http://" + httpServerName() + "/qtest/rfc3252.txt", QHttpNetworkRequest::Get);
else
- request = new QHttpNetworkRequest("http://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt", QHttpNetworkRequest::Head);
+ request = new QHttpNetworkRequest("http://" + httpServerName() + "/qtest/rfc3252.txt", QHttpNetworkRequest::Head);
if (i % 2 || i % 3)
request->setPipeliningAllowed(true);
@@ -800,9 +804,9 @@ void tst_QHttpNetworkConnection::getMultipleWithPriorities()
{
quint16 requestCount = 100;
// use 2 connections.
- QHttpNetworkConnection connection(2, QtNetworkSettings::serverName());
+ QHttpNetworkConnection connection(2, httpServerName());
GetMultipleWithPrioritiesReceiver receiver(requestCount);
- QUrl url("http://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt");
+ QUrl url("http://" + httpServerName() + "/qtest/rfc3252.txt");
QList<QHttpNetworkRequest*> requests;
QList<QHttpNetworkReply*> replies;
@@ -854,10 +858,10 @@ void tst_QHttpNetworkConnection::getEmptyWithPipelining()
{
quint16 requestCount = 50;
// use 2 connections.
- QHttpNetworkConnection connection(2, QtNetworkSettings::serverName());
+ QHttpNetworkConnection connection(2, httpServerName());
GetEmptyWithPipeliningReceiver receiver(requestCount);
- QUrl url("http://" + QtNetworkSettings::serverName() + "/cgi-bin/echo.cgi"); // a get on this = getting an empty file
+ QUrl url("http://" + httpServerName() + "/cgi-bin/echo.cgi"); // a get on this = getting an empty file
QList<QHttpNetworkRequest*> requests;
QList<QHttpNetworkReply*> replies;
@@ -901,8 +905,8 @@ void tst_QHttpNetworkConnection::getAndEverythingShouldBePipelined()
{
quint16 requestCount = 100;
// use 1 connection.
- QHttpNetworkConnection connection(1, QtNetworkSettings::serverName());
- QUrl url("http://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt");
+ QHttpNetworkConnection connection(1, httpServerName());
+ QUrl url("http://" + httpServerName() + "/qtest/rfc3252.txt");
QList<QHttpNetworkRequest*> requests;
QList<QHttpNetworkReply*> replies;
@@ -937,8 +941,8 @@ void tst_QHttpNetworkConnection::getAndThenDeleteObject_data()
void tst_QHttpNetworkConnection::getAndThenDeleteObject()
{
// yes, this will leak if the testcase fails. I don't care. It must not fail then :P
- QHttpNetworkConnection *connection = new QHttpNetworkConnection(QtNetworkSettings::serverName());
- QHttpNetworkRequest request("http://" + QtNetworkSettings::serverName() + "/qtest/bigfile");
+ QHttpNetworkConnection *connection = new QHttpNetworkConnection(httpServerName());
+ QHttpNetworkRequest request("http://" + httpServerName() + "/qtest/bigfile");
QHttpNetworkReply *reply = connection->sendRequest(request);
reply->setDownstreamLimited(true);
diff --git a/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp b/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
index 6c3443a735..45abb6aa05 100644
--- a/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
+++ b/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
@@ -60,12 +60,15 @@ private slots:
class MyCookieJar: public QNetworkCookieJar
{
public:
+ ~MyCookieJar() override;
inline QList<QNetworkCookie> allCookies() const
{ return QNetworkCookieJar::allCookies(); }
inline void setAllCookies(const QList<QNetworkCookie> &cookieList)
{ QNetworkCookieJar::setAllCookies(cookieList); }
};
+MyCookieJar::~MyCookieJar() = default;
+
void tst_QNetworkCookieJar::getterSetter()
{
MyCookieJar jar;
diff --git a/tests/auto/network/access/qnetworkreply/BLACKLIST b/tests/auto/network/access/qnetworkreply/BLACKLIST
index fab8224431..4d29a830e9 100644
--- a/tests/auto/network/access/qnetworkreply/BLACKLIST
+++ b/tests/auto/network/access/qnetworkreply/BLACKLIST
@@ -8,6 +8,9 @@ windows
*
[getErrors:ftp-host]
linux
+# QTBUG-71953
+[getFromHttp:success-external]
+*
[getFromHttpIntoBuffer]
windows
[getFromHttpIntoBuffer2]
diff --git a/tests/auto/network/access/qnetworkreply/certs/qt-test-server-host-network-cacert.pem b/tests/auto/network/access/qnetworkreply/certs/qt-test-server-host-network-cacert.pem
new file mode 100644
index 0000000000..5bdce3a3f9
--- /dev/null
+++ b/tests/auto/network/access/qnetworkreply/certs/qt-test-server-host-network-cacert.pem
@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIIClzCCAgACCQDeuuUc2HkfKDANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEChMC
+UXQxGTAXBgNVBAsTEENvcmUgQW5kIE5ldHdvcmsxGzAZBgkqhkiG9w0BCQEWDG5v
+Ym9keS5xdC5pbzENMAsGA1UEBxMET3NsbzENMAsGA1UECBMET3NsbzELMAkGA1UE
+BhMCTk8xHTAbBgNVBAMTFHF0LXRlc3Qtc2VydmVyLmxvY2FsMB4XDTE5MDEyNTE1
+NDE0N1oXDTQ5MDExNzE1NDE0N1owgY8xCzAJBgNVBAoTAlF0MRkwFwYDVQQLExBD
+b3JlIEFuZCBOZXR3b3JrMRswGQYJKoZIhvcNAQkBFgxub2JvZHkucXQuaW8xDTAL
+BgNVBAcTBE9zbG8xDTALBgNVBAgTBE9zbG8xCzAJBgNVBAYTAk5PMR0wGwYDVQQD
+ExRxdC10ZXN0LXNlcnZlci5sb2NhbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
+gYEAzarbb9Y0yafxwL7kQRgZ4gLJIuan1boDLp4oevRfGndfd6kRO49+8C7Gnus6
+2RLXwQxR6CRSPyPDQgwRxvIcoUL+tMJpg633cLEYFcwgKGIw8CwV5jMZr8PrHMCR
+9xFolFD4STcIMtc+dd+jvGkAFd7Nhw9cAmuCyAF9avAd3HMCAwEAATANBgkqhkiG
+9w0BAQQFAAOBgQB1dxK3Ia4sCpvSikKLaf1ZXu+9GKaNWKJe9bWex9/RmNOla9N2
+FIh6/CfaPFDy/OXCkyEiGg78iyg/DgqVoa9JJGV3diI6berisHMPJpv1syyz9YEU
+G3RQUClPcPV6EcedyqCdpbnIFtiSZbtJ0ZBGef4KzBN3rTmPucKb+bhMPg==
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/access/qnetworkreply/echo/echo.pro b/tests/auto/network/access/qnetworkreply/echo/echo.pro
index 1f05fd9a54..3e304f4105 100644
--- a/tests/auto/network/access/qnetworkreply/echo/echo.pro
+++ b/tests/auto/network/access/qnetworkreply/echo/echo.pro
@@ -1,4 +1,4 @@
SOURCES += main.cpp
QT = core
-CONFIG -= app_bundle debug_and_release_target
-CONFIG += console
+CONFIG -= debug_and_release_target
+CONFIG += cmdline
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 30b41da515..eb956bec30 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -123,7 +123,7 @@ class tst_QNetworkReply: public QObject
if (!seedCreated) {
seedCreated = true; // not thread-safe, but who cares
}
- return QString::number(QTime(0, 0, 0).msecsTo(QTime::currentTime()))
+ return QString::number(QTime::currentTime().msecsSinceStartOfDay())
+ QLatin1Char('-') + QString::number(QCoreApplication::applicationPid())
+ QLatin1Char('-') + QString::number(QRandomGenerator::global()->generate());
}
@@ -550,8 +550,15 @@ static void setupSslServer(QSslSocket* serverSocket)
}
#ifdef QT_TEST_SERVER
+#ifdef QT_TEST_SERVER_NAME
+// In this case, each server is assigned a unique hostname. Use the wildcard SSL
+// certificate (*.test-net.qt.local).
const QString tst_QNetworkReply::certsFilePath = "/certs/qt-test-net-cacert.pem";
#else
+// Otherwise, select the single-name SSL certificate (qt-test-server.local) instead.
+const QString tst_QNetworkReply::certsFilePath = "/certs/qt-test-server-host-network-cacert.pem";
+#endif // QT_TEST_SERVER_NAME
+#else
const QString tst_QNetworkReply::certsFilePath = "/certs/qt-test-server-cacert.pem";
#endif
@@ -1809,6 +1816,11 @@ void tst_QNetworkReply::getFromFileSpecial_data()
void tst_QNetworkReply::getFromFileSpecial()
{
+#if defined(QT_TEST_SERVER) && defined(Q_OS_WIN)
+ if (qstrcmp(QTest::currentDataTag(), "smb-path") == 0)
+ QSKIP("Docker-based test server doesn't support smb protocol yet");
+#endif
+
QFETCH(QString, fileName);
QFETCH(QString, url);
@@ -3202,6 +3214,11 @@ void tst_QNetworkReply::ioGetFromFileSpecial_data()
void tst_QNetworkReply::ioGetFromFileSpecial()
{
+#if defined(QT_TEST_SERVER) && defined(Q_OS_WIN)
+ if (qstrcmp(QTest::currentDataTag(), "smb-path") == 0)
+ QSKIP("Docker-based test server doesn't support smb protocol yet");
+#endif
+
QFETCH(QString, fileName);
QFETCH(QString, url);
@@ -3959,7 +3976,7 @@ void tst_QNetworkReply::ioGetFromHttpWithCache_data()
"HTTP/1.0 200\r\n"
"Connection: keep-alive\r\n"
"Content-Type: text/plain\r\n"
- "Cache-control: no-cache\r\n"
+ "Cache-control: no-store\r\n"
"Content-length: 8\r\n"
"\r\n"
"Reloaded";
@@ -3985,6 +4002,33 @@ void tst_QNetworkReply::ioGetFromHttpWithCache_data()
content.second = "Not-reloaded";
content.first.setLastModified(past);
+ // "no-cache"
+ rawHeaders.clear();
+ rawHeaders << QNetworkCacheMetaData::RawHeader("Date", QLocale::c().toString(past, dateFormat).toLatin1())
+ << QNetworkCacheMetaData::RawHeader("Cache-control", "no-cache");
+ content.first.setRawHeaders(rawHeaders);
+ content.first.setLastModified(past);
+ content.first.setExpirationDate(future);
+
+ // "no-cache" does not mean "no cache", just that we must consult remote first
+ QTest::newRow("no-cache,200,always-network")
+ << reply200 << "Reloaded" << content << int(QNetworkRequest::AlwaysNetwork) << QStringList() << false << true;
+ QTest::newRow("no-cache,200,prefer-network")
+ << reply200 << "Reloaded" << content << int(QNetworkRequest::PreferNetwork) << QStringList() << false << true;
+ QTest::newRow("no-cache,200,prefer-cache")
+ << reply200 << "Reloaded" << content << int(QNetworkRequest::PreferCache) << QStringList() << false << true;
+ // We're not allowed by the spec to deliver cached data without checking if it is still
+ // up-to-date.
+ QTest::newRow("no-cache,200,always-cache")
+ << reply200 << QString() << content << int(QNetworkRequest::AlwaysCache) << QStringList() << false << false;
+
+ QTest::newRow("no-cache,304,prefer-network")
+ << reply304 << "Not-reloaded" << content << int(QNetworkRequest::PreferNetwork) << QStringList() << true << true;
+ QTest::newRow("no-cache,304,prefer-cache")
+ << reply304 << "Not-reloaded" << content << int(QNetworkRequest::PreferCache) << QStringList() << true << true;
+ QTest::newRow("no-cache,304,always-cache")
+ << reply304 << QString() << content << int(QNetworkRequest::AlwaysCache) << QStringList() << false << false;
+
//
// Set to expired
//
diff --git a/tests/auto/network/bearer/qnetworksession/lackey/lackey.pro b/tests/auto/network/bearer/qnetworksession/lackey/lackey.pro
index 1605b31d94..dd83d905e6 100644
--- a/tests/auto/network/bearer/qnetworksession/lackey/lackey.pro
+++ b/tests/auto/network/bearer/qnetworksession/lackey/lackey.pro
@@ -5,5 +5,4 @@ QT = core network
DESTDIR = ./
-win32:CONFIG += console
-mac:CONFIG -= app_bundle
+CONFIG += cmdline
diff --git a/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp b/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp
index 55053842dc..8cef351554 100644
--- a/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp
+++ b/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp
@@ -93,7 +93,7 @@ void tst_QAuthenticator::basicAuth()
QCOMPARE(priv->phase, QAuthenticatorPrivate::Start);
- QCOMPARE(priv->calculateResponse("GET", "/").constData(), QByteArray("Basic " + expectedReply).constData());
+ QCOMPARE(priv->calculateResponse("GET", "/", "").constData(), QByteArray("Basic " + expectedReply).constData());
}
void tst_QAuthenticator::ntlmAuth_data()
@@ -133,9 +133,9 @@ void tst_QAuthenticator::ntlmAuth()
headers << qMakePair<QByteArray, QByteArray>("WWW-Authenticate", "NTLM");
priv->parseHttpResponse(headers, /*isProxy = */ false);
if (sso)
- QVERIFY(priv->calculateResponse("GET", "/").startsWith("NTLM "));
+ QVERIFY(priv->calculateResponse("GET", "/", "").startsWith("NTLM "));
else
- QCOMPARE(priv->calculateResponse("GET", "/").constData(), "NTLM TlRMTVNTUAABAAAABYIIAAAAAAAAAAAAAAAAAAAAAAA=");
+ QCOMPARE(priv->calculateResponse("GET", "/", "").constData(), "NTLM TlRMTVNTUAABAAAABYIIAAAAAAAAAAAAAAAAAAAAAAA=");
// NTLM phase 2: challenge
headers.clear();
@@ -146,7 +146,7 @@ void tst_QAuthenticator::ntlmAuth()
QEXPECT_FAIL("with-realm-sso", "NTLM authentication code doesn't extract the realm", Continue);
QCOMPARE(auth.realm(), realm);
- QVERIFY(priv->calculateResponse("GET", "/").startsWith("NTLM "));
+ QVERIFY(priv->calculateResponse("GET", "/", "").startsWith("NTLM "));
}
void tst_QAuthenticator::equalityOperators()
diff --git a/tests/auto/network/kernel/qhostinfo/tst_qhostinfo.cpp b/tests/auto/network/kernel/qhostinfo/tst_qhostinfo.cpp
index 82825f608c..da6e02210b 100644
--- a/tests/auto/network/kernel/qhostinfo/tst_qhostinfo.cpp
+++ b/tests/auto/network/kernel/qhostinfo/tst_qhostinfo.cpp
@@ -179,7 +179,6 @@ void tst_QHostInfo::staticInformation()
void tst_QHostInfo::initTestCase()
{
- QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
#ifndef QT_NO_BEARERMANAGEMENT
//start the default network
netConfMan = new QNetworkConfigurationManager(this);
@@ -240,8 +239,6 @@ void tst_QHostInfo::lookupIPv4_data()
QTest::addColumn<QString>("addresses");
QTest::addColumn<int>("err");
- // Test server lookup
- QTest::newRow("lookup_01") << QtNetworkSettings::serverName() << QtNetworkSettings::serverIP().toString() << int(QHostInfo::NoError);
QTest::newRow("empty") << "" << "" << int(QHostInfo::HostNotFound);
QTest::newRow("single_ip4") << "a-single" TEST_DOMAIN << "192.0.2.1" << int(QHostInfo::NoError);
@@ -396,6 +393,68 @@ void tst_QHostInfo::lookupConnectToLambda()
QCOMPARE(tmp.join(' '), expected.join(' '));
}
+static QStringList reverseLookupHelper(const QString &ip)
+{
+ QStringList results;
+
+ const QString pythonCode =
+ "import socket;"
+ "import sys;"
+ "print (socket.getnameinfo((sys.argv[1], 0), 0)[0]);";
+
+ QList<QByteArray> lines;
+ QProcess python;
+ python.setProcessChannelMode(QProcess::ForwardedErrorChannel);
+ python.start("python", QStringList() << QString("-c") << pythonCode << ip);
+ if (python.waitForFinished()) {
+ if (python.exitStatus() == QProcess::NormalExit && python.exitCode() == 0)
+ lines = python.readAllStandardOutput().split('\n');
+ for (QByteArray line : lines) {
+ if (!line.isEmpty())
+ results << line.trimmed();
+ }
+ if (!results.isEmpty())
+ return results;
+ }
+
+ qDebug() << "Python failed, falling back to nslookup";
+ QProcess lookup;
+ lookup.setProcessChannelMode(QProcess::ForwardedErrorChannel);
+ lookup.start("nslookup", QStringList(ip));
+ if (!lookup.waitForFinished()) {
+ results << "nslookup failure";
+ qDebug() << "nslookup failure";
+ return results;
+ }
+ lines = lookup.readAllStandardOutput().split('\n');
+
+ QByteArray name;
+
+ const QByteArray nameMarkerNix("name =");
+ const QByteArray nameMarkerWin("Name:");
+ const QByteArray addressMarkerWin("Address:");
+
+ for (QByteArray line : lines) {
+ int index = -1;
+ if ((index = line.indexOf(nameMarkerNix)) != -1) { // Linux and macOS
+ name = line.mid(index + nameMarkerNix.length()).chopped(1).trimmed();
+ results << name;
+ } else if (line.startsWith(nameMarkerWin)) { // Windows formatting
+ name = line.mid(line.lastIndexOf(" ")).trimmed();
+ } else if (line.startsWith(addressMarkerWin)) {
+ QByteArray address = line.mid(addressMarkerWin.length()).trimmed();
+ if (address == ip) {
+ results << name;
+ }
+ }
+ }
+
+ if (results.isEmpty()) {
+ qDebug() << "Failure to parse nslookup output: " << lines;
+ }
+ return results;
+}
+
void tst_QHostInfo::reverseLookup_data()
{
QTest::addColumn<QString>("address");
@@ -403,8 +462,8 @@ void tst_QHostInfo::reverseLookup_data()
QTest::addColumn<int>("err");
QTest::addColumn<bool>("ipv6");
- QTest::newRow("google-public-dns-a.google.com") << QString("8.8.8.8") << QStringList(QString("google-public-dns-a.google.com")) << 0 << false;
- QTest::newRow("gitorious.org") << QString("87.238.52.168") << QStringList(QString("gitorious.org")) << 0 << false;
+ QTest::newRow("dns.google") << QString("8.8.8.8") << reverseLookupHelper("8.8.8.8") << 0 << false;
+ QTest::newRow("one.one.one.one") << QString("1.1.1.1") << reverseLookupHelper("1.1.1.1") << 0 << false;
QTest::newRow("bogus-name") << QString("1::2::3::4") << QStringList() << 1 << true;
}
@@ -422,6 +481,8 @@ void tst_QHostInfo::reverseLookup()
QHostInfo info = QHostInfo::fromName(address);
if (err == 0) {
+ if (!hostNames.contains(info.hostName()))
+ qDebug() << "Failure: expecting" << hostNames << ",got " << info.hostName();
QVERIFY(hostNames.contains(info.hostName()));
QCOMPARE(info.addresses().first(), QHostAddress(address));
} else {
diff --git a/tests/auto/network/kernel/qnetworkdatagram/tst_qnetworkdatagram.cpp b/tests/auto/network/kernel/qnetworkdatagram/tst_qnetworkdatagram.cpp
index 5eedd1043b..cd6019090f 100644
--- a/tests/auto/network/kernel/qnetworkdatagram/tst_qnetworkdatagram.cpp
+++ b/tests/auto/network/kernel/qnetworkdatagram/tst_qnetworkdatagram.cpp
@@ -131,7 +131,7 @@ void tst_QNetworkDatagram::makeReply()
QNetworkDatagram copy = dgram;
copy.setData(copy.data());
{
- QNetworkDatagram reply = qMove(copy).makeReply("World");
+ QNetworkDatagram reply = std::move(copy).makeReply("World");
QCOMPARE(reply.data(), QByteArray("World"));
QCOMPARE(reply.senderAddress(), QHostAddress(localAddress));
QCOMPARE(reply.senderPort(), localAddress.isEmpty() ? -1 : dgram.destinationPort());
diff --git a/tests/auto/network/socket/qhttpsocketengine/qhttpsocketengine.pro b/tests/auto/network/socket/qhttpsocketengine/qhttpsocketengine.pro
index 56a4fb8aee..492bb6aa8d 100644
--- a/tests/auto/network/socket/qhttpsocketengine/qhttpsocketengine.pro
+++ b/tests/auto/network/socket/qhttpsocketengine/qhttpsocketengine.pro
@@ -10,3 +10,8 @@ MOC_DIR=tmp
requires(qtConfig(private_tests))
QT = core-private network-private testlib
+# TODO: For now linux-only, because cyrus is linux-only atm ...
+linux {
+ QT_TEST_SERVER_LIST = squid danted cyrus apache2
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp b/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp
index 68f3ea059b..cdc6fef663 100644
--- a/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp
+++ b/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp
@@ -122,7 +122,14 @@ public slots:
void tst_QHttpSocketEngine::initTestCase()
{
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpServerName(), 80));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 143));
+#else
QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+#endif
}
void tst_QHttpSocketEngine::init()
@@ -171,7 +178,7 @@ void tst_QHttpSocketEngine::errorTest_data()
QTest::newRow("proxy-host-not-found") << "this-host-does-not-exist." << 1080 << QString()
<< QString()
<< int(QAbstractSocket::ProxyNotFoundError);
- QTest::newRow("proxy-connection-refused") << QtNetworkSettings::serverName() << 2 << QString()
+ QTest::newRow("proxy-connection-refused") << QtNetworkSettings::socksProxyServerName() << 2 << QString()
<< QString()
<< int(QAbstractSocket::ProxyConnectionRefusedError);
@@ -278,13 +285,12 @@ void tst_QHttpSocketEngine::simpleConnectToIMAP()
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
- socketDevice.setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::serverName(), 3128));
-
- QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143));
+ socketDevice.setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::httpProxyServerName(), 3128));
+ QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143));
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
QVERIFY(socketDevice.waitForWrite());
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectedState);
- QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::serverIP());
+ QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::imapServerIp());
QVERIFY(!socketDevice.localAddress().isNull());
QVERIFY(socketDevice.localPort() > 0);
@@ -292,10 +298,10 @@ void tst_QHttpSocketEngine::simpleConnectToIMAP()
QVERIFY(socketDevice.waitForRead());
// Read the greeting
- qint64 available = socketDevice.bytesAvailable();
+ qint64 available = int(socketDevice.bytesAvailable());
QVERIFY(available > 0);
QByteArray array;
- array.resize(available);
+ array.resize(int(available));
QVERIFY(socketDevice.read(array.data(), array.size()) == available);
// Check that the greeting is what we expect it to be
@@ -310,9 +316,9 @@ void tst_QHttpSocketEngine::simpleConnectToIMAP()
// Wait for the response
QVERIFY(socketDevice.waitForRead());
- available = socketDevice.bytesAvailable();
+ available = int(socketDevice.bytesAvailable());
QVERIFY(available > 0);
- array.resize(available);
+ array.resize(int(available));
QVERIFY(socketDevice.read(array.data(), array.size()) == available);
// Check that the greeting is what we expect it to be
@@ -321,7 +327,7 @@ void tst_QHttpSocketEngine::simpleConnectToIMAP()
// Wait for the response
QVERIFY(socketDevice.waitForRead());
char c;
- QCOMPARE(socketDevice.read(&c, sizeof(c)), (qint64) -1);
+ QCOMPARE(socketDevice.read(&c, sizeof(c)), qint64(-1));
QCOMPARE(socketDevice.error(), QAbstractSocket::RemoteHostClosedError);
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
}
@@ -335,10 +341,10 @@ void tst_QHttpSocketEngine::simpleErrorsAndStates()
// Initialize device
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
- socketDevice.setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::serverName(), 3128));
+ socketDevice.setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::httpProxyServerName(), 3128));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
- QVERIFY(!socketDevice.connectToHost(QHostAddress(QtNetworkSettings::serverName()), 8088));
+ QVERIFY(!socketDevice.connectToHost(QHostAddress(QtNetworkSettings::socksProxyServerName()), 8088));
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
if (socketDevice.waitForWrite(30000)) {
QVERIFY(socketDevice.state() == QAbstractSocket::ConnectedState ||
@@ -422,7 +428,7 @@ void tst_QHttpSocketEngine::tcpSocketBlockingTest()
QTcpSocket socket;
// Connect
- socket.connectToHost(QtNetworkSettings::serverName(), 143);
+ socket.connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket.waitForConnected());
QCOMPARE(socket.state(), QTcpSocket::ConnectedState);
@@ -479,7 +485,7 @@ void tst_QHttpSocketEngine::tcpSocketNonBlockingTest()
tcpSocketNonBlocking_socket = &socket;
// Connect
- socket.connectToHost(QtNetworkSettings::serverName(), 143);
+ socket.connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket.state() == QTcpSocket::HostLookupState ||
socket.state() == QTcpSocket::ConnectingState);
@@ -607,13 +613,13 @@ void tst_QHttpSocketEngine::downloadBigFile()
connect(tmpSocket, SIGNAL(connected()), SLOT(exitLoopSlot()));
connect(tmpSocket, SIGNAL(readyRead()), SLOT(downloadBigFileSlot()));
- tmpSocket->connectToHost(QtNetworkSettings::serverName(), 80);
+ tmpSocket->connectToHost(QtNetworkSettings::httpServerName(), 80);
QTestEventLoop::instance().enterLoop(30);
if (QTestEventLoop::instance().timeout())
QFAIL("Network operation timed out");
- QByteArray hostName = QtNetworkSettings::serverName().toLatin1();
+ QByteArray hostName = QtNetworkSettings::httpServerName().toLatin1();
QCOMPARE(tmpSocket->state(), QAbstractSocket::ConnectedState);
QVERIFY(tmpSocket->write("GET /qtest/mediumfile HTTP/1.0\r\n") > 0);
QVERIFY(tmpSocket->write("Host: ") > 0);
@@ -664,13 +670,13 @@ void tst_QHttpSocketEngine::passwordAuth()
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
- socketDevice.setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::serverName(), 3128, "qsockstest", "password"));
+ socketDevice.setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::httpProxyServerName(), 3128, "qsockstest", "password"));
- QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143));
+ QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143));
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
QVERIFY(socketDevice.waitForWrite());
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectedState);
- QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::serverIP());
+ QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::imapServerIp());
// Wait for the greeting
QVERIFY(socketDevice.waitForRead());
diff --git a/tests/auto/network/socket/qlocalsocket/socketprocess/socketprocess.pro b/tests/auto/network/socket/qlocalsocket/socketprocess/socketprocess.pro
index 643c4c5733..e11ed5644b 100644
--- a/tests/auto/network/socket/qlocalsocket/socketprocess/socketprocess.pro
+++ b/tests/auto/network/socket/qlocalsocket/socketprocess/socketprocess.pro
@@ -3,7 +3,6 @@ QT = core network testlib
DESTDIR = ./
TARGET = socketprocess
-win32:CONFIG += console
-mac:CONFIG -= app_bundle
+CONFIG += cmdline
SOURCES += main.cpp
diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
index 779d55a77a..45ab275510 100644
--- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
@@ -962,9 +962,6 @@ void tst_QLocalSocket::processConnection()
#if !QT_CONFIG(process)
QSKIP("No qprocess support", SkipAll);
#else
-#ifdef Q_OS_MAC
- QSKIP("The processConnection test is unstable on Mac. See QTBUG-39986.");
-#endif
#ifdef Q_OS_WIN
const QString exeSuffix = QStringLiteral(".exe");
diff --git a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
index 60526827bf..8af3cea8dc 100644
--- a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
+++ b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
@@ -2,6 +2,9 @@
*
[passwordAuth]
*
+# QTBUG-74162
+[passwordAuth2]
+*
[serverTest]
windows
[downloadBigFile]
diff --git a/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro b/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro
index 71ceafa133..ca9e44873c 100644
--- a/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro
+++ b/tests/auto/network/socket/qsocks5socketengine/qsocks5socketengine.pro
@@ -11,3 +11,9 @@ MOC_DIR=tmp
QT = core-private network-private testlib
requires(qtConfig(private_tests))
+
+# Only on Linux until cyrus has been added to docker-compose-for-{windows,macOS}.yml and tested
+linux {
+ QT_TEST_SERVER_LIST = danted apache2 cyrus
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp
index 1212ea20e5..464054f8a6 100644
--- a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp
+++ b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp
@@ -137,7 +137,13 @@ private slots:
void tst_QSocks5SocketEngine::initTestCase()
{
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpServerName(), 80));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 143));
+#else
QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+#endif
}
//---------------------------------------------------------------------------
@@ -293,13 +299,13 @@ void tst_QSocks5SocketEngine::simpleConnectToIMAP()
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
- socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080));
+ socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080));
- QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143));
+ QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143));
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
QVERIFY(socketDevice.waitForWrite());
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectedState);
- QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::serverIP());
+ QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::imapServerIp());
// Wait for the greeting
QVERIFY(socketDevice.waitForRead());
@@ -347,10 +353,10 @@ void tst_QSocks5SocketEngine::simpleErrorsAndStates()
// Initialize device
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
- socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080));
+ socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
- QVERIFY(!socketDevice.connectToHost(QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first(), 8088));
+ QVERIFY(!socketDevice.connectToHost(QHostInfo::fromName(QtNetworkSettings::socksProxyServerName()).addresses().first(), 8088));
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
if (socketDevice.waitForWrite(15000)) {
QVERIFY(socketDevice.state() == QAbstractSocket::UnconnectedState ||
@@ -433,7 +439,7 @@ void tst_QSocks5SocketEngine::serverTest()
// Initialize a Tcp socket
QVERIFY(server.initialize(QAbstractSocket::TcpSocket));
- QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080);
+ QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
server.setProxy(proxy);
@@ -510,7 +516,7 @@ void tst_QSocks5SocketEngine::udpTest()
QVERIFY(udpSocket.initialize(QAbstractSocket::UdpSocket));
QVERIFY(udpSocket.isValid());
- QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080);
+ QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
udpSocket.setProxy(proxy);
@@ -564,7 +570,7 @@ void tst_QSocks5SocketEngine::tcpSocketBlockingTest()
QTcpSocket socket;
// Connect
- socket.connectToHost(QtNetworkSettings::serverName(), 143);
+ socket.connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket.waitForConnected());
QCOMPARE(socket.state(), QTcpSocket::ConnectedState);
@@ -635,7 +641,7 @@ void tst_QSocks5SocketEngine::tcpSocketNonBlockingTest()
});
// Connect
- socket.connectToHost(QtNetworkSettings::serverName(), 143);
+ socket.connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket.state() == QTcpSocket::HostLookupState ||
socket.state() == QTcpSocket::ConnectingState);
@@ -754,13 +760,13 @@ void tst_QSocks5SocketEngine::downloadBigFile()
<< " (" << stopWatch.elapsed() << "ms)";
});
- socket.connectToHost(QtNetworkSettings::serverName(), 80);
+ socket.connectToHost(QtNetworkSettings::httpServerName(), 80);
QTestEventLoop::instance().enterLoop(30);
if (QTestEventLoop::instance().timeout())
QFAIL("Network operation timed out");
- QByteArray hostName = QtNetworkSettings::serverName().toLatin1();
+ QByteArray hostName = QtNetworkSettings::httpServerName().toLatin1();
QCOMPARE(socket.state(), QAbstractSocket::ConnectedState);
QVERIFY(socket.write("GET /qtest/mediumfile HTTP/1.0\r\n") > 0);
QVERIFY(socket.write("HOST: ") > 0);
@@ -791,13 +797,13 @@ void tst_QSocks5SocketEngine::passwordAuth()
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
- socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080, "qsockstest", "password"));
+ socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080, "qsockstest", "password"));
// Connect to imap.trolltech.com's IP
- QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143));
+ QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143));
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
QVERIFY(socketDevice.waitForWrite());
- if (!socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143)) {
+ if (!socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143)) {
qDebug("%d, %s", socketDevice.error(), socketDevice.errorString().toLatin1().constData());
}
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectedState);
@@ -857,19 +863,19 @@ void tst_QSocks5SocketEngine::passwordAuth2()
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
- socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1081));
+ socketDevice.setProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1081));
socketDevice.setReceiver(this);
- QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143));
+ QVERIFY(!socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143));
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
while (socketDevice.state() == QAbstractSocket::ConnectingState) {
QVERIFY(socketDevice.waitForWrite());
- socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143);
+ socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143);
}
if (socketDevice.state() != QAbstractSocket::ConnectedState)
qDebug("%d, %s", socketDevice.error(), socketDevice.errorString().toLatin1().constData());
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectedState);
- QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::serverIP());
+ QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::imapServerIp());
// Wait for the greeting
QVERIFY(socketDevice.waitForRead());
diff --git a/tests/auto/network/socket/qtcpserver/test/test.pro b/tests/auto/network/socket/qtcpserver/test/test.pro
index 4491523383..ac4ed9a989 100644
--- a/tests/auto/network/socket/qtcpserver/test/test.pro
+++ b/tests/auto/network/socket/qtcpserver/test/test.pro
@@ -16,3 +16,9 @@ win32 {
QT = core network testlib
MOC_DIR=tmp
+
+# Only on Linux until cyrus has been added to docker-compose-for-{windows,macOS}.yml and tested
+linux {
+ QT_TEST_SERVER_LIST = danted cyrus squid ftp-proxy
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
index 161d94d642..22ac9aa076 100644
--- a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
@@ -160,8 +160,15 @@ void tst_QTcpServer::initTestCase_data()
void tst_QTcpServer::initTestCase()
{
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::ftpProxyServerName(), 2121));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 143));
+#else
if (!QtNetworkSettings::verifyTestNetworkSettings())
QSKIP("No network test server available");
+#endif
#ifndef QT_NO_BEARERMANAGEMENT
QNetworkConfigurationManager man;
networkSession = new QNetworkSession(man.defaultConfiguration(), this);
@@ -177,7 +184,7 @@ void tst_QTcpServer::init()
#ifndef QT_NO_NETWORKPROXY
QFETCH_GLOBAL(int, proxyType);
if (proxyType == QNetworkProxy::Socks5Proxy) {
- QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080));
+ QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080));
}
#else // !QT_NO_NETWORKPROXY
QSKIP("No proxy support");
@@ -513,7 +520,7 @@ void tst_QTcpServer::waitForConnectionTest()
}
QTcpSocket findLocalIpSocket;
- findLocalIpSocket.connectToHost(QtNetworkSettings::serverName(), 143);
+ findLocalIpSocket.connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(findLocalIpSocket.waitForConnected(5000));
QTcpServer server;
@@ -668,16 +675,18 @@ void tst_QTcpServer::invalidProxy_data()
QTest::addColumn<int>("port");
QTest::addColumn<int>("expectedError");
- QString fluke = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString();
- QTest::newRow("ftp-proxy") << int(QNetworkProxy::FtpCachingProxy) << fluke << 143
+ const QString imapIp = QtNetworkSettings::imapServerIp().toString();
+ const QString httpProxyIp = QtNetworkSettings::httpProxyServerIp().toString();
+ const QString socksIp = QtNetworkSettings::socksProxyServerIp().toString();
+ QTest::newRow("ftp-proxy") << int(QNetworkProxy::FtpCachingProxy) << imapIp << 143
<< int(QAbstractSocket::UnsupportedSocketOperationError);
- QTest::newRow("http-proxy") << int(QNetworkProxy::HttpProxy) << fluke << 3128
+ QTest::newRow("http-proxy") << int(QNetworkProxy::HttpProxy) << httpProxyIp << 3128
<< int(QAbstractSocket::UnsupportedSocketOperationError);
QTest::newRow("no-such-host") << int(QNetworkProxy::Socks5Proxy)
<< "invalid.test.qt-project.org" << 1080
<< int(QAbstractSocket::ProxyNotFoundError);
- QTest::newRow("socks5-on-http") << int(QNetworkProxy::Socks5Proxy) << fluke << 3128
+ QTest::newRow("socks5-on-http") << int(QNetworkProxy::Socks5Proxy) << httpProxyIp << 3128
<< int(QAbstractSocket::SocketTimeoutError);
}
@@ -740,48 +749,48 @@ void tst_QTcpServer::proxyFactory_data()
// tests that do get to listen
- proxyList << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080);
+ proxyList << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
QTest::newRow("socks5")
<< proxyList << proxyList.at(0)
<< false << int(QAbstractSocket::UnknownSocketError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128)
- << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080);
+ proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128)
+ << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
QTest::newRow("cachinghttp+socks5")
<< proxyList << proxyList.at(1)
<< false << int(QAbstractSocket::UnknownSocketError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121)
- << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128)
- << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080);
+ proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121)
+ << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128)
+ << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
QTest::newRow("ftp+cachinghttp+socks5")
<< proxyList << proxyList.at(2)
<< false << int(QAbstractSocket::UnknownSocketError);
// tests that fail to listen
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::serverName(), 3128);
+ proxyList << QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::httpProxyServerName(), 3128);
QTest::newRow("http")
<< proxyList << proxyList.at(0)
<< true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128);
+ proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128);
QTest::newRow("cachinghttp")
<< proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121);
+ proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121);
QTest::newRow("ftp")
<< proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121)
- << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128);
+ proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121)
+ << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128);
QTest::newRow("ftp+cachinghttp")
<< proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError);
diff --git a/tests/auto/network/socket/qtcpsocket/stressTest/stressTest.pro b/tests/auto/network/socket/qtcpsocket/stressTest/stressTest.pro
index 2eb00593e0..6afc008e7d 100644
--- a/tests/auto/network/socket/qtcpsocket/stressTest/stressTest.pro
+++ b/tests/auto/network/socket/qtcpsocket/stressTest/stressTest.pro
@@ -2,8 +2,7 @@ HEADERS += Test.h
SOURCES += main.cpp Test.cpp
QT = core network testlib
-CONFIG -= app_bundle
-CONFIG += console
+CONFIG += cmdline
DESTDIR = ./
MOC_DIR = .moc/
TMP_DIR = .tmp/
diff --git a/tests/auto/network/socket/qtcpsocket/test/test.pro b/tests/auto/network/socket/qtcpsocket/test/test.pro
index 337e75b372..29d9414b03 100644
--- a/tests/auto/network/socket/qtcpsocket/test/test.pro
+++ b/tests/auto/network/socket/qtcpsocket/test/test.pro
@@ -15,3 +15,9 @@ win32 {
} else {
DESTDIR = ../
}
+
+# Only on Linux until cyrus has been added to docker-compose-for-{windows,macOS}.yml and tested
+linux {
+ QT_TEST_SERVER_LIST = danted squid apache2 ftp-proxy vsftpd iptables cyrus
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
index 263a475435..abe9845213 100644
--- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
@@ -317,7 +317,7 @@ tst_QTcpSocket::tst_QTcpSocket()
connect(earlyConstructedSockets->endPoints[1], SIGNAL(bytesWritten(qint64)), this, SLOT(earlySocketBytesSent(qint64)));
earlyConstructedSockets->endPoints[1]->write("hello work");
- firstFailInfo.setAddresses(QList<QHostAddress>() << QHostAddress("224.0.0.0") << QtNetworkSettings::serverIP());
+ firstFailInfo.setAddresses(QList<QHostAddress>() << QHostAddress("224.0.0.0") << QtNetworkSettings::httpServerIp());
}
void tst_QTcpSocket::initTestCase_data()
@@ -326,7 +326,6 @@ void tst_QTcpSocket::initTestCase_data()
QTest::addColumn<int>("proxyType");
QTest::addColumn<bool>("ssl");
- qDebug() << QtNetworkSettings::serverName();
QTest::newRow("WithoutProxy") << false << 0 << false;
//QTest::newRow("WithSocks5Proxy") << true << int(Socks5Proxy) << false; ### temporarily disabled, QTBUG-38385
//QTest::newRow("WithSocks5ProxyAuth") << true << int(Socks5Proxy | AuthBasic) << false; ### temporarily disabled, QTBUG-38385
@@ -352,7 +351,17 @@ void tst_QTcpSocket::initTestCase_data()
void tst_QTcpSocket::initTestCase()
{
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpServerName(), 80));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 143));
+ //QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::firewallServerName(), 1357));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::ftpServerName(), 21));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::ftpProxyServerName(), 2121));
+#else
QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+#endif
}
void tst_QTcpSocket::init()
@@ -361,30 +370,33 @@ void tst_QTcpSocket::init()
if (setProxy) {
#ifndef QT_NO_NETWORKPROXY
QFETCH_GLOBAL(int, proxyType);
- QList<QHostAddress> addresses = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses();
- QVERIFY2(addresses.count() > 0, "failed to get ip address for test server");
- QString fluke = addresses.first().toString();
+ QList<QHostAddress> socks5Addresses = QHostInfo::fromName(QtNetworkSettings::socksProxyServerName()).addresses();
+ QList<QHostAddress> httpProxyAddresses = QHostInfo::fromName(QtNetworkSettings::httpProxyServerName()).addresses();
+ QVERIFY2(socks5Addresses.count() > 0, "failed to get ip address for SOCKS5 proxy server");
+ QVERIFY2(httpProxyAddresses.count() > 0, "failed to get ip address for HTTP proxy server");
+ QString socks5Address = socks5Addresses.first().toString();
+ QString httpProxyAddress = httpProxyAddresses.first().toString();
QNetworkProxy proxy;
switch (proxyType) {
case Socks5Proxy:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, fluke, 1080);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socks5Address, 1080);
break;
case Socks5Proxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, fluke, 1081);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socks5Address, 1081);
break;
case HttpProxy | NoAuth:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, fluke, 3128);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, httpProxyAddress, 3128);
break;
case HttpProxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, fluke, 3129);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, httpProxyAddress, 3129);
break;
case HttpProxy | AuthNtlm:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, fluke, 3130);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, httpProxyAddress, 3130);
break;
}
QNetworkProxy::setApplicationProxy(proxy);
@@ -644,8 +656,8 @@ void tst_QTcpSocket::bind()
void tst_QTcpSocket::bindThenResolveHost_data()
{
QTest::addColumn<QString>("hostName");
- QTest::newRow("ip-literal") << QtNetworkSettings::serverIP().toString();
- QTest::newRow("name") << QtNetworkSettings::serverName();
+ QTest::newRow("ip-literal") << QtNetworkSettings::httpServerIp().toString();
+ QTest::newRow("name") << QtNetworkSettings::httpServerName();
QTest::newRow("first-fail") << firstFailName;
}
@@ -715,7 +727,7 @@ void tst_QTcpSocket::setSocketDescriptor()
#ifdef Q_OS_WIN
// need the dummy to ensure winsock is started
QTcpSocket *dummy = newSocket();
- dummy->connectToHost(QtNetworkSettings::serverName(), 143);
+ dummy->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(dummy->waitForConnected());
SOCKET sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
@@ -737,7 +749,7 @@ void tst_QTcpSocket::setSocketDescriptor()
QCOMPARE(socket->socketDescriptor(), (qintptr)sock);
qt_qhostinfo_clear_cache(); //avoid the HostLookupState being skipped due to address being in cache from previous test.
- socket->connectToHost(QtNetworkSettings::serverName(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 80);
QCOMPARE(socket->state(), QTcpSocket::HostLookupState);
QCOMPARE(socket->socketDescriptor(), (qintptr)sock);
QVERIFY(socket->waitForConnected(10000));
@@ -758,7 +770,7 @@ void tst_QTcpSocket::socketDescriptor()
QTcpSocket *socket = newSocket();
QCOMPARE(socket->socketDescriptor(), (qintptr)-1);
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->state() == QAbstractSocket::HostLookupState ||
socket->state() == QAbstractSocket::ConnectingState);
QVERIFY(socket->waitForConnected(10000));
@@ -775,7 +787,7 @@ void tst_QTcpSocket::blockingIMAP()
QTcpSocket *socket = newSocket();
// Connect
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(10000));
QCOMPARE(socket->state(), QTcpSocket::ConnectedState);
QVERIFY(socket->isValid());
@@ -852,6 +864,14 @@ void tst_QTcpSocket::hostNotFound()
socket->connectToHost("nosuchserver.qt-project.org", 80);
QVERIFY(!socket->waitForConnected());
QCOMPARE(socket->state(), QTcpSocket::UnconnectedState);
+#ifdef QT_TEST_SERVER
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy) {
+ QEXPECT_FAIL("", "QTBUG-73953: The version of Squid in the docker container behaves "
+ "differently to the one in the network testing server, returning 503 "
+ "when we expect 404", Continue);
+ }
+#endif
QCOMPARE(int(socket->error()), int(QTcpSocket::HostNotFoundError));
delete socket;
@@ -861,8 +881,8 @@ void tst_QTcpSocket::hostNotFound()
void tst_QTcpSocket::timeoutConnect_data()
{
QTest::addColumn<QString>("address");
- QTest::newRow("host") << QtNetworkSettings::serverName();
- QTest::newRow("ip") << QtNetworkSettings::serverIP().toString();
+ QTest::newRow("host") << QtNetworkSettings::firewallServerName();
+ QTest::newRow("ip") << QtNetworkSettings::firewallServerIp().toString();
}
void tst_QTcpSocket::timeoutConnect()
@@ -910,7 +930,7 @@ void tst_QTcpSocket::nonBlockingIMAP()
nonBlockingIMAP_socket = socket;
// Connect
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->state() == QTcpSocket::HostLookupState ||
socket->state() == QTcpSocket::ConnectingState);
@@ -1036,7 +1056,7 @@ void tst_QTcpSocket::delayedClose()
connect(socket, SIGNAL(connected()), SLOT(nonBlockingIMAP_connected()));
connect(socket, SIGNAL(disconnected()), SLOT(exitLoopSlot()));
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
enterLoop(30);
if (timeout())
@@ -1082,7 +1102,7 @@ QByteArray tst_QTcpSocket::expectedReplyIMAP()
void tst_QTcpSocket::fetchExpectedReplyIMAP()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY2(socket->waitForConnected(10000), qPrintable(socket->errorString()));
QVERIFY2(socket->state() == QTcpSocket::ConnectedState, qPrintable(socket->errorString()));
@@ -1101,7 +1121,7 @@ void tst_QTcpSocket::fetchExpectedReplyIMAP()
void tst_QTcpSocket::partialRead()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(10000));
QCOMPARE(socket->state(), QTcpSocket::ConnectedState);
char buf[512];
@@ -1125,7 +1145,7 @@ void tst_QTcpSocket::partialRead()
void tst_QTcpSocket::unget()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(10000));
QCOMPARE(socket->state(), QTcpSocket::ConnectedState);
char buf[512];
@@ -1162,7 +1182,7 @@ void tst_QTcpSocket::readRegularFile_readyRead()
void tst_QTcpSocket::readAllAfterClose()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
connect(socket, SIGNAL(readyRead()), SLOT(readRegularFile_readyRead()));
enterLoop(10);
if (timeout())
@@ -1202,7 +1222,7 @@ void tst_QTcpSocket::openCloseOpenClose()
QCOMPARE(socket->state(), QTcpSocket::UnconnectedState);
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(10000));
socket->close();
}
@@ -1225,7 +1245,7 @@ void tst_QTcpSocket::connectDisconnectConnectDisconnect()
QCOMPARE(int(socket->peerPort()), 0);
QCOMPARE(socket->peerAddress(), QHostAddress());
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForReadyRead(10000));
QCOMPARE(QString::fromLatin1(socket->read(4)), QString("* OK"));
@@ -1429,7 +1449,7 @@ void tst_QTcpSocket::disconnectWhileLookingUp()
// just connect and disconnect, then make sure nothing weird happened
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 21);
+ socket->connectToHost(QtNetworkSettings::ftpServerName(), 21);
// check that connect is in progress
QVERIFY(socket->state() != QAbstractSocket::UnconnectedState);
@@ -1477,7 +1497,7 @@ void tst_QTcpSocket::downloadBigFile()
connect(tmpSocket, SIGNAL(readyRead()), SLOT(downloadBigFileSlot()));
connect(tmpSocket, SIGNAL(disconnected()), SLOT(exitLoopSlot()));
- tmpSocket->connectToHost(QtNetworkSettings::serverName(), 80);
+ tmpSocket->connectToHost(QtNetworkSettings::httpServerName(), 80);
enterLoop(30);
if (timeout()) {
@@ -1486,7 +1506,7 @@ void tst_QTcpSocket::downloadBigFile()
QFAIL("Network operation timed out");
}
- QByteArray hostName = QtNetworkSettings::serverName().toLatin1();
+ QByteArray hostName = QtNetworkSettings::httpServerName().toLatin1();
QCOMPARE(tmpSocket->state(), QAbstractSocket::ConnectedState);
QVERIFY(tmpSocket->write("GET /qtest/mediumfile HTTP/1.0\r\n") > 0);
QVERIFY(tmpSocket->write("HOST: ") > 0);
@@ -1552,7 +1572,7 @@ void tst_QTcpSocket::downloadBigFileSlot()
void tst_QTcpSocket::readLine()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(5000));
while (!socket->canReadLine())
@@ -1601,7 +1621,7 @@ void tst_QTcpSocket::readLine()
void tst_QTcpSocket::readLineString()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForReadyRead(10000));
QByteArray arr = socket->readLine();
@@ -1614,7 +1634,7 @@ void tst_QTcpSocket::readLineString()
void tst_QTcpSocket::readChunks()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(10000));
QVERIFY(socket->waitForReadyRead(5000));
@@ -1634,7 +1654,7 @@ void tst_QTcpSocket::readChunks()
void tst_QTcpSocket::waitForBytesWritten()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 80);
QVERIFY(socket->waitForConnected(10000));
socket->write("GET / HTTP/1.0\r\n\r\n");
@@ -1652,7 +1672,7 @@ void tst_QTcpSocket::waitForBytesWrittenMinusOne()
QSKIP("QTBUG-24451 - indefinite wait may hang");
#endif
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 80);
QVERIFY(socket->waitForConnected(10000));
socket->write("GET / HTTP/1.0\r\n\r\n");
@@ -1667,7 +1687,7 @@ void tst_QTcpSocket::waitForBytesWrittenMinusOne()
void tst_QTcpSocket::waitForReadyRead()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 80);
socket->write("GET / HTTP/1.0\r\n\r\n");
QVERIFY(socket->waitForReadyRead(5000));
delete socket;
@@ -1680,7 +1700,7 @@ void tst_QTcpSocket::waitForReadyReadMinusOne()
QSKIP("QTBUG-24451 - indefinite wait may hang");
#endif
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 80);
socket->write("GET / HTTP/1.0\r\n\r\n");
QVERIFY(socket->waitForReadyRead(-1));
delete socket;
@@ -1693,7 +1713,7 @@ void tst_QTcpSocket::flush()
socket->flush();
connect(socket, SIGNAL(connected()), SLOT(exitLoopSlot()));
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
enterLoop(60);
QVERIFY(socket->isOpen());
@@ -1710,7 +1730,7 @@ void tst_QTcpSocket::flush()
void tst_QTcpSocket::synchronousApi()
{
QTcpSocket *ftpSocket = newSocket();
- ftpSocket->connectToHost(QtNetworkSettings::serverName(), 21);
+ ftpSocket->connectToHost(QtNetworkSettings::ftpServerName(), 21);
ftpSocket->write("QUIT\r\n");
QVERIFY(ftpSocket->waitForDisconnected(10000));
QVERIFY(ftpSocket->bytesAvailable() > 0);
@@ -1757,10 +1777,10 @@ void tst_QTcpSocket::recursiveReadyRead()
QSignalSpy spy(testSocket, SIGNAL(readyRead()));
- testSocket->connectToHost(QtNetworkSettings::serverName(), 143);
+ testSocket->connectToHost(QtNetworkSettings::imapServerName(), 143);
enterLoop(30);
QVERIFY2(!timeout(),
- "Timed out when connecting to QtNetworkSettings::serverName().");
+ "Timed out when connecting to QtNetworkSettings::imapServerName().");
enterLoop(30);
QVERIFY2(!timeout(),
@@ -1794,7 +1814,7 @@ void tst_QTcpSocket::recursiveReadyReadSlot()
void tst_QTcpSocket::atEnd()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 21);
+ socket->connectToHost(QtNetworkSettings::ftpServerName(), 21);
QVERIFY(socket->waitForReadyRead(15000));
QTextStream stream(socket);
@@ -1802,9 +1822,15 @@ void tst_QTcpSocket::atEnd()
QString greeting = stream.readLine();
QVERIFY(stream.atEnd());
+#ifdef QT_TEST_SERVER
+ // Test server must use some vsFTPd 3.x.x version
+ QVERIFY2(greeting.length() == sizeof("220 (vsFTPd 3.x.x)")-1, qPrintable(greeting));
+ QVERIFY2(greeting.startsWith("220 (vsFTPd 3."), qPrintable(greeting));
+#else
// Test server must use some vsFTPd 2.x.x version
QVERIFY2(greeting.length() == sizeof("220 (vsFTPd 2.x.x)")-1, qPrintable(greeting));
QVERIFY2(greeting.startsWith("220 (vsFTPd 2."), qPrintable(greeting));
+#endif
QVERIFY2(greeting.endsWith(QLatin1Char(')')), qPrintable(greeting));
delete socket;
@@ -1835,7 +1861,7 @@ protected:
connect(socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), Qt::DirectConnection);
- socket->connectToHost(QtNetworkSettings::serverName(), 21);
+ socket->connectToHost(QtNetworkSettings::ftpServerName(), 21);
socket->write("QUIT\r\n");
exec();
@@ -1909,7 +1935,7 @@ void tst_QTcpSocket::waitForReadyReadInASlot()
tmpSocket = socket;
connect(socket, SIGNAL(connected()), this, SLOT(waitForReadyReadInASlotSlot()));
- socket->connectToHost(QtNetworkSettings::serverName(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 80);
socket->write("GET / HTTP/1.0\r\n\r\n");
enterLoop(30);
@@ -2073,7 +2099,7 @@ void tst_QTcpSocket::waitForConnectedInHostLookupSlot()
timer.start(15000);
connect(tmpSocket, SIGNAL(hostFound()), this, SLOT(hostLookupSlot()));
- tmpSocket->connectToHost(QtNetworkSettings::serverName(), 143);
+ tmpSocket->connectToHost(QtNetworkSettings::imapServerName(), 143);
// only execute the loop if not already connected
if (tmpSocket->state() != QAbstractSocket::ConnectedState)
@@ -2128,7 +2154,7 @@ public slots:
inline void doIt()
{
attemptedToConnect = true;
- sock->connectToHost(QtNetworkSettings::serverName(), 80);
+ sock->connectToHost(QtNetworkSettings::httpServerName(), 80);
#if defined(Q_OS_MAC)
pthread_yield_np();
@@ -2179,7 +2205,7 @@ void tst_QTcpSocket::readyReadSignalsAfterWaitForReadyRead()
QSignalSpy readyReadSpy(socket, SIGNAL(readyRead()));
// Connect
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
// Wait for the read
QVERIFY(socket->waitForReadyRead(10000));
@@ -2315,7 +2341,7 @@ void tst_QTcpSocket::localAddressEmptyOnBSD()
void tst_QTcpSocket::zeroAndMinusOneReturns()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 80);
socket->write("GET / HTTP/1.0\r\nConnection: keep-alive\r\n\r\n");
QVERIFY(socket->waitForReadyRead(15000));
@@ -2376,7 +2402,7 @@ void tst_QTcpSocket::connectionRefused()
connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
&QTestEventLoop::instance(), SLOT(exitLoop()));
- socket->connectToHost(QtNetworkSettings::serverName(), 144);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 144);
enterLoop(10);
disconnect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
@@ -2429,7 +2455,17 @@ void tst_QTcpSocket::suddenRemoteDisconnect()
QString::fromLatin1("Could not start %1: %2").arg(processExe, serverProcess.errorString())));
while (!serverProcess.canReadLine())
QVERIFY(serverProcess.waitForReadyRead(10000));
- QCOMPARE(serverProcess.readLine().data(), QByteArray(server.toLatin1() + "\n").data());
+
+ QByteArray line = serverProcess.readLine();
+
+ // Ignore following print, happens on Qemu:
+ if (line == "getsockopt level=41 optname=26 not yet supported\n") {
+ while (!serverProcess.canReadLine())
+ QVERIFY(serverProcess.waitForReadyRead(10000));
+ line = serverProcess.readLine();
+ }
+
+ QCOMPARE(line.data(), QByteArray(server.toLatin1() + "\n").data());
// Start client
QProcess clientProcess;
@@ -2513,7 +2549,7 @@ void tst_QTcpSocket::moveToThread0()
{
// Case 1: Moved after connecting, before waiting for connection.
QTcpSocket *socket = newSocket();;
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
socket->moveToThread(0);
QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
@@ -2525,7 +2561,7 @@ void tst_QTcpSocket::moveToThread0()
// Case 2: Moved before connecting
QTcpSocket *socket = newSocket();
socket->moveToThread(0);
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
@@ -2535,7 +2571,7 @@ void tst_QTcpSocket::moveToThread0()
{
// Case 3: Moved after writing, while waiting for bytes to be written.
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
socket->moveToThread(0);
@@ -2546,7 +2582,7 @@ void tst_QTcpSocket::moveToThread0()
{
// Case 4: Moved after writing, while waiting for response.
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 143);
+ socket->connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
@@ -2677,7 +2713,7 @@ void tst_QTcpSocket::taskQtBug5799ConnectionErrorWaitForConnected()
// use waitForConnected, e.g. this should use a synchronous select() on the OS level
QTcpSocket socket;
- socket.connectToHost(QtNetworkSettings::serverName(), 12346);
+ socket.connectToHost(QtNetworkSettings::httpServerName(), 12346);
QTime timer;
timer.start();
socket.waitForConnected(10000);
@@ -2697,7 +2733,7 @@ void tst_QTcpSocket::taskQtBug5799ConnectionErrorEventLoop()
// This testcase uses an event loop
QTcpSocket socket;
connect(&socket, SIGNAL(error(QAbstractSocket::SocketError)), &QTestEventLoop::instance(), SLOT(exitLoop()));
- socket.connectToHost(QtNetworkSettings::serverName(), 12346);
+ socket.connectToHost(QtNetworkSettings::httpServerName(), 12346);
QTestEventLoop::instance().enterLoop(10);
QVERIFY2(!QTestEventLoop::instance().timeout(), "Connection to closed port timed out instead of refusing, something is wrong");
@@ -2710,7 +2746,7 @@ void tst_QTcpSocket::taskQtBug7054TimeoutErrorResetting()
{
QTcpSocket *socket = newSocket();
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
QVERIFY(socket->waitForConnected(5*1000));
QCOMPARE(socket->error(), QAbstractSocket::UnknownSocketError);
@@ -2739,10 +2775,12 @@ void tst_QTcpSocket::invalidProxy_data()
QTest::addColumn<bool>("failsAtConnect");
QTest::addColumn<int>("expectedError");
- QString fluke = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString();
- QTest::newRow("ftp-proxy") << int(QNetworkProxy::FtpCachingProxy) << fluke << 21 << true
+ const QString ftpAddress = QtNetworkSettings::ftpServerIp().toString();
+ const QString httpProxyAddress = QtNetworkSettings::httpProxyServerIp().toString();
+ const QString socksProxyAddress = QtNetworkSettings::socksProxyServerIp().toString();
+ QTest::newRow("ftp-proxy") << int(QNetworkProxy::FtpCachingProxy) << ftpAddress << 21 << true
<< int(QAbstractSocket::UnsupportedSocketOperationError);
- QTest::newRow("http-caching-proxy") << int(QNetworkProxy::HttpCachingProxy) << fluke << 3128 << true
+ QTest::newRow("http-caching-proxy") << int(QNetworkProxy::HttpCachingProxy) << httpProxyAddress << 3128 << true
<< int(QAbstractSocket::UnsupportedSocketOperationError);
QTest::newRow("no-such-host-socks5") << int(QNetworkProxy::Socks5Proxy)
<< "this-host-will-never-exist.qt-project.org" << 1080 << false
@@ -2750,9 +2788,9 @@ void tst_QTcpSocket::invalidProxy_data()
QTest::newRow("no-such-host-http") << int(QNetworkProxy::HttpProxy)
<< "this-host-will-never-exist.qt-project.org" << 3128 << false
<< int(QAbstractSocket::ProxyNotFoundError);
- QTest::newRow("http-on-socks5") << int(QNetworkProxy::HttpProxy) << fluke << 1080 << false
+ QTest::newRow("http-on-socks5") << int(QNetworkProxy::HttpProxy) << socksProxyAddress << 1080 << false
<< int(QAbstractSocket::ProxyConnectionClosedError);
- QTest::newRow("socks5-on-http") << int(QNetworkProxy::Socks5Proxy) << fluke << 3128 << false
+ QTest::newRow("socks5-on-http") << int(QNetworkProxy::Socks5Proxy) << httpProxyAddress << 3128 << false
<< int(QAbstractSocket::SocketTimeoutError);
}
@@ -2771,7 +2809,7 @@ void tst_QTcpSocket::invalidProxy()
QTcpSocket *socket = newSocket();
socket->setProxy(proxy);
- socket->connectToHost(QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString(), 80);
+ socket->connectToHost(QtNetworkSettings::httpServerIp().toString(), 80);
if (failsAtConnect) {
QCOMPARE(socket->state(), QAbstractSocket::UnconnectedState);
@@ -2823,48 +2861,48 @@ void tst_QTcpSocket::proxyFactory_data()
// tests that do connect
- proxyList << QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::serverName(), 3129);
+ proxyList << QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::httpProxyServerName(), 3129);
QTest::newRow("http")
<< proxyList << proxyList.at(0)
<< false << int(QAbstractSocket::UnknownSocketError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1081);
+ proxyList << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1081);
QTest::newRow("socks5")
<< proxyList << proxyList.at(0)
<< false << int(QAbstractSocket::UnknownSocketError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3129)
- << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1081);
+ proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3129)
+ << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1081);
QTest::newRow("cachinghttp+socks5")
<< proxyList << proxyList.at(1)
<< false << int(QAbstractSocket::UnknownSocketError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121)
- << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3129)
- << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1081);
+ proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121)
+ << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3129)
+ << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1081);
QTest::newRow("ftp+cachinghttp+socks5")
<< proxyList << proxyList.at(2)
<< false << int(QAbstractSocket::UnknownSocketError);
// tests that fail to connect
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3129);
+ proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3129);
QTest::newRow("cachinghttp")
<< proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121);
+ proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121);
QTest::newRow("ftp")
<< proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear();
- proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121)
- << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3129);
+ proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121)
+ << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3129);
QTest::newRow("ftp+cachinghttp")
<< proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError);
@@ -2885,7 +2923,7 @@ void tst_QTcpSocket::proxyFactory()
QNetworkProxyFactory::setApplicationProxyFactory(factory);
QTcpSocket *socket = newSocket();
- QString host = QtNetworkSettings::serverName();
+ QString host = QtNetworkSettings::httpServerName();
socket->connectToHost(host, 80);
// Verify that the factory was called properly
diff --git a/tests/auto/network/socket/qudpsocket/clientserver/clientserver.pro b/tests/auto/network/socket/qudpsocket/clientserver/clientserver.pro
index a1b0021232..83a31b11e9 100644
--- a/tests/auto/network/socket/qudpsocket/clientserver/clientserver.pro
+++ b/tests/auto/network/socket/qudpsocket/clientserver/clientserver.pro
@@ -1,6 +1,5 @@
QT = core network
SOURCES += main.cpp
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
TARGET = clientserver
DESTDIR = ./
diff --git a/tests/auto/network/socket/qudpsocket/test/test.pro b/tests/auto/network/socket/qudpsocket/test/test.pro
index e856776ddc..0fdb97ba27 100644
--- a/tests/auto/network/socket/qudpsocket/test/test.pro
+++ b/tests/auto/network/socket/qudpsocket/test/test.pro
@@ -17,3 +17,9 @@ win32 {
}
TARGET = tst_qudpsocket
+
+# Only on Linux until 'echo' has been added to docker-compose-for-{windows,macOS}.yml and tested
+linux {
+ QT_TEST_SERVER_LIST = danted echo
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
index 8ebb27e58c..a4b22cb000 100644
--- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
+++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
@@ -235,6 +235,7 @@ void tst_QUdpSocket::initTestCase_data()
// hack: we only enable the Socks5 over UDP tests on the old
// test server, because they fail on the new one. See QTBUG-35490
bool newTestServer = true;
+#ifndef QT_TEST_SERVER
QTcpSocket socket;
socket.connectToHost(QtNetworkSettings::serverName(), 22);
if (socket.waitForConnected(10000)) {
@@ -244,6 +245,7 @@ void tst_QUdpSocket::initTestCase_data()
newTestServer = false;
socket.disconnectFromHost();
}
+#endif
QTest::addColumn<bool>("setProxy");
QTest::addColumn<int>("proxyType");
@@ -257,8 +259,13 @@ void tst_QUdpSocket::initTestCase_data()
void tst_QUdpSocket::initTestCase()
{
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::echoServerName(), 7));
+#else
if (!QtNetworkSettings::verifyTestNetworkSettings())
QSKIP("No network test server available");
+#endif
allAddresses = QNetworkInterface::allAddresses();
m_skipUnsupportedIPv6Tests = shouldSkipIpv6TestsForBrokenSetsockopt();
@@ -300,7 +307,7 @@ void tst_QUdpSocket::init()
#if QT_CONFIG(socks5)
QFETCH_GLOBAL(int, proxyType);
if (proxyType == QNetworkProxy::Socks5Proxy) {
- QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080));
+ QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080));
}
#else
QSKIP("No proxy support");
@@ -981,7 +988,7 @@ void tst_QUdpSocket::writeDatagramToNonExistingPeer_data()
QTest::addColumn<bool>("bind");
QTest::addColumn<QHostAddress>("peerAddress");
QHostAddress localhost(QHostAddress::LocalHost);
- QList<QHostAddress> serverAddresses(QHostInfo::fromName(QtNetworkSettings::serverName()).addresses());
+ QList<QHostAddress> serverAddresses(QHostInfo::fromName(QtNetworkSettings::socksProxyServerName()).addresses());
if (serverAddresses.isEmpty())
return;
@@ -995,7 +1002,7 @@ void tst_QUdpSocket::writeDatagramToNonExistingPeer_data()
void tst_QUdpSocket::writeDatagramToNonExistingPeer()
{
- if (QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().isEmpty())
+ if (QHostInfo::fromName(QtNetworkSettings::socksProxyServerName()).addresses().isEmpty())
QFAIL("Could not find test server address");
QFETCH(bool, bind);
QFETCH(QHostAddress, peerAddress);
@@ -1015,7 +1022,7 @@ void tst_QUdpSocket::writeToNonExistingPeer_data()
{
QTest::addColumn<QHostAddress>("peerAddress");
QHostAddress localhost(QHostAddress::LocalHost);
- QList<QHostAddress> serverAddresses(QHostInfo::fromName(QtNetworkSettings::serverName()).addresses());
+ QList<QHostAddress> serverAddresses(QHostInfo::fromName(QtNetworkSettings::socksProxyServerName()).addresses());
if (serverAddresses.isEmpty())
return;
@@ -1028,7 +1035,7 @@ void tst_QUdpSocket::writeToNonExistingPeer_data()
void tst_QUdpSocket::writeToNonExistingPeer()
{
QSKIP("Connected-mode UDP sockets and their behaviour are erratic");
- if (QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().isEmpty())
+ if (QHostInfo::fromName(QtNetworkSettings::socksProxyServerName()).addresses().isEmpty())
QFAIL("Could not find test server address");
QFETCH(QHostAddress, peerAddress);
quint16 peerPort = 34534;
@@ -1551,7 +1558,7 @@ void tst_QUdpSocket::echo_data()
void tst_QUdpSocket::echo()
{
QFETCH(bool, connect);
- QHostInfo info = QHostInfo::fromName(QtNetworkSettings::serverName());
+ QHostInfo info = QHostInfo::fromName(QtNetworkSettings::echoServerName());
QVERIFY(info.addresses().count());
QHostAddress remote = info.addresses().first();
@@ -1640,15 +1647,14 @@ void tst_QUdpSocket::linkLocalIPv6()
sockets << s;
}
- QUdpSocket neutral;
- QVERIFY(neutral.bind(QHostAddress(QHostAddress::AnyIPv6)));
- QSignalSpy neutralReadSpy(&neutral, SIGNAL(readyRead()));
-
QByteArray testData("hello");
foreach (QUdpSocket *s, sockets) {
+ QUdpSocket neutral;
+ QVERIFY(neutral.bind(QHostAddress(QHostAddress::AnyIPv6)));
+ QSignalSpy neutralReadSpy(&neutral, SIGNAL(readyRead()));
+
QSignalSpy spy(s, SIGNAL(readyRead()));
- neutralReadSpy.clear();
QVERIFY(s->writeDatagram(testData, s->localAddress(), neutral.localPort()));
QTRY_VERIFY(neutralReadSpy.count() > 0); //note may need to accept a firewall prompt
diff --git a/tests/auto/network/socket/qudpsocket/udpServer/udpServer.pro b/tests/auto/network/socket/qudpsocket/udpServer/udpServer.pro
index cf707aa14a..c8f9ebf648 100644
--- a/tests/auto/network/socket/qudpsocket/udpServer/udpServer.pro
+++ b/tests/auto/network/socket/qudpsocket/udpServer/udpServer.pro
@@ -1,5 +1,3 @@
SOURCES += main.cpp
QT = core network
-CONFIG -= app_bundle
-CONFIG += console
-
+CONFIG += cmdline
diff --git a/tests/auto/network/ssl/qocsp/certs/alice.crt b/tests/auto/network/ssl/qocsp/certs/alice.crt
new file mode 100644
index 0000000000..02df86a517
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/alice.crt
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIIEGDCCAwCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBjjELMAkGA1UEBhMCTk8x
+DTALBgNVBAgMBE9zbG8xEjAQBgNVBAcMCU9zbG8gQ2l0eTETMBEGA1UECgwKVGhl
+IFF0IENBMTENMAsGA1UECwwEUVRDTjERMA8GA1UEAwwIY2ExcXQuaW8xJTAjBgkq
+hkiG9w0BCQEWFnRpbXVyLnBvY2hlcHRzb3ZAcXQuaW8wHhcNMTgxMTIyMTEwNjE4
+WhcNMjgxMTE5MTEwNjE4WjCBkjELMAkGA1UEBhMCTk8xDTALBgNVBAgMBE9zbG8x
+EjAQBgNVBAcMCU9zbG8gQ2l0eTEdMBsGA1UECgwUVGhlIEZhbW91cyBBbGljZSBM
+dGQxDTALBgNVBAsMBEdPQUExEjAQBgNVBAMMCWFsaWNlLm9yZzEeMBwGCSqGSIb3
+DQEJARYPYWxpY2VAYWxpY2Uub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAtuGDR9oIEkK57xlxq/xc3u7B1ni4pdoyhf9r+pkgmu591qp2kl3Xcq3W
+Ve5Z553orAUCAExPlKfFV+CYYAedSgsDYlKk8DN+f/n+hkG6Wl2qyFzHgl+mvPwa
+eDqdVMIcDHGhSljALi9AqsN4lbrUhSxiyuPhAwl82WB0EIucmBs1NxSSZgFPRBLG
+Uzy9WvtQFq1qtn795PVIUsNg68qZQ9BvRduOQAr3bg3anoYqytthWnzLWKri2QR4
+Z4Y0mvcbT/PZwhtcFZzDXG3Hvc7k3AroAbWoSghMEgok9TW9grKYkW2d5cpQTP+l
+ptkB6yZ06MY9/uCdYzhm8eu2RgVndwIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCG
+SAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
+FgQUQz2PuE4VuqHtZYTvVLr4+0IuHTUwHwYDVR0jBBgwFoAUeBcnAkU7sTqm7i2Q
+vTxwgr0nQ0QwDQYJKoZIhvcNAQELBQADggEBABGGmo1vUAXKQm9kowvUtjDpEIIY
+TpT+KqiUBOgJg5fGn6a63vBn5GMA6eT948ywi9ZU2M9dIXJCM+bdqjXeOtt4bBPZ
+xz6DcBPW9CoTR4CV1muNa95WIXzAHatq3XYG041ddMf41WG7QIdQsojBYEG0IYlv
+PQx+B+m2cu7A04aI2tCS8aUh7Xc9wRilJ+h/FlYFFQzgyEKsd7CFgkyxG/sLyFNH
+skYYk/DLlmaWa+YScHYB5kAk8StoETeMI2LLs7rgJmchi8eAxjLroYDUhQclUjqz
+vlNM+4GvcF5RluyuEXFOZVdmQahkXcyu0Q3yxvsBbnDglmbb2YHPl/blB7w=
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qocsp/certs/alice.key b/tests/auto/network/ssl/qocsp/certs/alice.key
new file mode 100644
index 0000000000..6f2666ebde
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/alice.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC24YNH2ggSQrnv
+GXGr/Fze7sHWeLil2jKF/2v6mSCa7n3WqnaSXddyrdZV7lnnneisBQIATE+Up8VX
+4JhgB51KCwNiUqTwM35/+f6GQbpaXarIXMeCX6a8/Bp4Op1UwhwMcaFKWMAuL0Cq
+w3iVutSFLGLK4+EDCXzZYHQQi5yYGzU3FJJmAU9EEsZTPL1a+1AWrWq2fv3k9UhS
+w2DryplD0G9F245ACvduDdqehirK22FafMtYquLZBHhnhjSa9xtP89nCG1wVnMNc
+bce9zuTcCugBtahKCEwSCiT1Nb2CspiRbZ3lylBM/6Wm2QHrJnToxj3+4J1jOGbx
+67ZGBWd3AgMBAAECggEADbzU+sHDF3QRuYdExbGYXFq9DtpUrIi+gNhWCSYVj+3Y
+YBa//3CzLXcngZ78++wdvUZHBzS0SatspJRHffc0doprP6iLoUuM9hoWZ4lqcT1W
+BeUKS53ZzZp2do+Yn/RQ3RJwFkCidxWvmuRCG6VEL5jM9wa1MWA2E7IuJcwHAFny
+WIByosje5Qrd7eXDuVoqr1hjJ2UxIjIJ8Zgg3EE9wVUyJE3PU1HLz2AefonYRwbL
+XlzNgnj0c9Ti9ejfyon+jTnpslLKtPal2kxyGoKPAngadAhCzqSaCWggACm7R8Ge
+pZ0Y0pV7QReEgjfFd4D3qOqLRQZVJOMDb3vJu2/rsQKBgQDfKjfSpUweBM9li7GS
+xXbDpC3Y8zQ2VY+2SvgYoYiYU/Y6YenxhKM1XDbWZxhxS8GVfCUAESFDOTZcMvdi
+QEbG1uEmuCn1ksvrC2y54rtd8WDppcS0vJxCrU4nZG0v9IjVKp67B8EpBpAQeNb1
+tR6ByT2fLJu5+WU2S7OxqX7uLwKBgQDRyfKvrCQgdJOQlJlHOv1y1hN8WY51A8P/
+JbDXoun3PCPd+JczvFXCUh3ZLXqUEAX2qDOBD1pBM62EN6/A9ukO4mcMd8uYIet6
+nR4nVqXUjWuzXe6eo913lTDQrIOGWpViTc8fnvFlwBPfwzxbZNx38HZbw0L0nT7d
+8TE/JxLROQKBgQC4Kzo4b8vadjPGZLueGbICkQp5IXR0ZrYcRdBrW1vEAn6Q/d84
+PzMFxV1IIXrNfSx8NiC+5mQh+yQ+gJ0iC1OdoxXag1+1V3lMN3h6C4B/bcWB7Rjh
+40m9yRJXdgyZ59/Is8ydIzAosE7SGTelPNy5VR+yrfiySPxbC6x3MR8cZwKBgQCq
+PVTg1bIjXDZ7NvsDYI1XaP07BXmi30FnhXByLFPsOzNn51jbtNNq8zQhjtRP3ojY
+VjolWw4EpykBiCbpUfRiDbtN1NC0TaJHR8S2a4v6ZiCl123R8mu/pKOOUtAQcOWU
+dkvD/zkpNqtqA4axK7H06n9Bi7yDwC7J7/Xkp5KPkQKBgFDprXrXg4zvIsxbXYZ3
+2bCaxyhBXNKcGwtWbbLfJcOwHJPns/abGkYIJ0NbMZX1LwTDfQWmC+8YKKvIlbKG
+S2uk5H4qzupR4XN6YJ7SCHlGv2z0vxVjV7aWc1TME2iZQoBuO1urxPZwHd/euruo
+kluWh1KV5XnWjBSYjZpiXxWl
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qocsp/certs/ca1.crt b/tests/auto/network/ssl/qocsp/certs/ca1.crt
new file mode 100644
index 0000000000..b5ae194fab
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/ca1.crt
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID9DCCAtygAwIBAgIJAMQbE3657KDYMA0GCSqGSIb3DQEBCwUAMIGOMQswCQYD
+VQQGEwJOTzENMAsGA1UECAwET3NsbzESMBAGA1UEBwwJT3NsbyBDaXR5MRMwEQYD
+VQQKDApUaGUgUXQgQ0ExMQ0wCwYDVQQLDARRVENOMREwDwYDVQQDDAhjYTFxdC5p
+bzElMCMGCSqGSIb3DQEJARYWdGltdXIucG9jaGVwdHNvdkBxdC5pbzAeFw0xODEx
+MjIxMDIxMTNaFw0yODExMTkxMDIxMTNaMIGOMQswCQYDVQQGEwJOTzENMAsGA1UE
+CAwET3NsbzESMBAGA1UEBwwJT3NsbyBDaXR5MRMwEQYDVQQKDApUaGUgUXQgQ0Ex
+MQ0wCwYDVQQLDARRVENOMREwDwYDVQQDDAhjYTFxdC5pbzElMCMGCSqGSIb3DQEJ
+ARYWdGltdXIucG9jaGVwdHNvdkBxdC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAOCs3AV7sDKHJUJcm7a0OqnShIvoB1qv6UcOmlBmUzGl5GzX90Jz
+7jYJoOPjxjNyRxMOsOReB1ZcSuIAjkdAEfFMaVe6j7qKTJ5ycTVY/fVoxyxsSNuI
+xOJ6RCEjLHcxONEbkN/xI8LMdVko3m4P10r5GxwrgyPvpa87Yq5+XJ1BPWJyKbD7
+Tqpn3dvZUj0/POsMUTT7Q7VXOfDlZj58XWAC6ECTqJauhGFMhiwgqOn2Qo1W0QjV
+DkGqRTdgIAM6Rv2cSRxgnflwW5QZ8kWUV81h/yx4cck/D9TcVxjr3Pvy6aJ/U41u
+d4XJQgwCj4LJi4msw1S0CvZWmz+2BKxcbRsCAwEAAaNTMFEwHQYDVR0OBBYEFHgX
+JwJFO7E6pu4tkL08cIK9J0NEMB8GA1UdIwQYMBaAFHgXJwJFO7E6pu4tkL08cIK9
+J0NEMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADp1kqDRcyVG
+BdMge+Il10IjbpzzSjAoZiqiw69V99LiHW9ePbxG4AmliE6Za60GE5PCXOLjJh/5
+efgnIbybbyIOIT9iK4TXWLw2XW+rMY51c0RAxp2h/sc+5CZ0F0I811F5VUHXg2qR
+U7C2zbzqAimN8TBm6FRe7NFQfqLCrsuFJjSc3obrqKQcpvRwxMk6NpkdoemzqLmY
+lrBrTaeVbZ4ix3srVPvXRm9TdiC+JuuFmvulMfe+/wwnhb+dwT3JUC+EIq/Uf5Wb
+g8lvB4ntitL8NLQ2hFGqYuoFNIGs6tRN71ohk+/ONqe9wJhcI9QAruPOvsg+8J0H
+uGooX7PUNHg=
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qocsp/certs/ca1.key b/tests/auto/network/ssl/qocsp/certs/ca1.key
new file mode 100644
index 0000000000..4ee080f706
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/ca1.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDgrNwFe7AyhyVC
+XJu2tDqp0oSL6Adar+lHDppQZlMxpeRs1/dCc+42CaDj48YzckcTDrDkXgdWXEri
+AI5HQBHxTGlXuo+6ikyecnE1WP31aMcsbEjbiMTiekQhIyx3MTjRG5Df8SPCzHVZ
+KN5uD9dK+RscK4Mj76WvO2KuflydQT1icimw+06qZ93b2VI9PzzrDFE0+0O1Vznw
+5WY+fF1gAuhAk6iWroRhTIYsIKjp9kKNVtEI1Q5BqkU3YCADOkb9nEkcYJ35cFuU
+GfJFlFfNYf8seHHJPw/U3FcY69z78umif1ONbneFyUIMAo+CyYuJrMNUtAr2Vps/
+tgSsXG0bAgMBAAECggEBAL1RCwjXw42gEUZM8KzQS0pD6IpXVrMU3ZWReXhb8Kg6
+KDOK+3+UXlpMXLUKfj1lgvxM+cNEdBxSIoszerARDc1s3KseufOui4dL2ZbhSQVc
+Z9BH4lCSe4x3CCeAEvzQjhatirMY51BCpnMdm+fUE07KfwyKobNLQSpZ+Pod4f5i
+oQbOiZYfRfU2quaWIsVb/a5IiUD0gG0KS9O5wX6VigVeFRpOPHT4YCQ1qds4HqQq
+PKQtkLq0mo6beXCfXWrJ5Nc0QOIFlgSAHkeRR7zLK8MlaerwZ5YdeJIWuPM9l9H+
+34FVkHle1rPN6dJf7EPwWxn1PceFe3QYn1GHoiMmXfkCgYEA/U6iQypbLEKLmLbt
+XTvhV1FVDQM42BX+ATNQ8Wro0ybdyzM+d4271uAUGTF1Zvxndv22p+JOmldWveAR
+0iVK4mvrs25ACg27Bz3LiUaQB2OyYrj9M7TLgQ47gYEhwgnsSniFyrMcptNyIfW5
+GoB1N00EKiCvHyWo5LK6kRZt5QcCgYEA4xBOC/Otc9lTp24iSVA8Y7XJ+nlypFtc
+pehf262jH11wEkWskmc9aP/kpxt9fUrDxf3YIOqITR4mMNn184P1WywHAQF7Adfd
+3r5YBMVaanuaMsSuAZOJGyvuk2BE6328IKdE+3emndzXuQdDf0X2TUznwdKe9AzZ
+qadCBLfUpk0CgYAgDKbzIJTQkMrg06RMu5rTVXMRZmr2zDGLLVb8dK5oqO4/G4i3
+z7MIiOmCFoPoN99PauKFc1jGpm5PL96RXC6RX14/IZ/wpbQYQnVSNR9cD/0uCIHg
+3OsytP5KcHA5ANBoy78B2o+xe+dg7JozBDXQfWodem0t37Hy3bpFSTU2WQKBgETY
+qcFn9hydNYcblpvCDz1wXjhq4H7DENlhFseF42LcMuHnbEbLtMwEYrDkXe1CYQ/E
+QubgFcnELXI8dB2M0jT9qXX9m+1YJXanIgr4R8zngz6HcfcaY8TwUhsvYlZAvmzs
+KrdQdR2CW4pHkIijjuWrPs3+7aEz0D9nblX94yU1AoGATVCfQOwmEMFHg33luMMt
+0lTOHsar6g1O5vz0ZPZ1NjJF9Qe3+T7B4n4gq9pLwfi7Ohoa4CDmt0nKmy56dBha
+5LM8mzw+PaH9a3pP93caS6k/X68TLOp7fwvnzP6HTjtis2sdYzVma6ghEF0zRdQr
+6nWMI6Kx2kFaNdzKSHzxP5A=
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qocsp/certs/infbob.key b/tests/auto/network/ssl/qocsp/certs/infbob.key
new file mode 100644
index 0000000000..7878339151
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/infbob.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDkF2BuPlkQa3Ox
+JxnbQ+gy1mAxaGGzfnmGocraxVSKSssX3zSkeIrWB1kW3diOtIZ1jovYftHGsqoB
+F5k6fN9dr37mFIZnilF6Bq0seYjNUl6I0d7Cf3NJSf7TG5+P+dAyNLN8aXILctY8
+krlSe4ysb++9xgawt2DYL3I0LBd+W27hd2BlfcmB4g2X3zOasjZM8F5HSBxF5e7f
+fVaUmCC8S4jdXUQEbUNFk6HufDwDhP1gMtoGKHusWOdI5O6cQAfUUmRLSfi/jWoe
+KLPafbj7KIcA8+YojOvub2guNpO42h9fc83/gCkkBJhwXNdIQjRUnz6Lu05kDTG9
+X28gbX9TAgMBAAECggEBAN9xCxVUXJmaOb6ciFblIi3TFm6wS62zw0chbgB8eQH0
+nRoonYBVWeSrVBnzf7bkoCe/Wb3fFo+o7KOfQ4spUwOK7SxlhPkfZgu9SJ4d/Obu
+vw8XUTqF8iEkrM6P6/L2DX9xYzcIcSFIARlbvtJPmBJAocHtoRYyvltpt13mp6kt
+/LVYR4qFAWRpPR6rnjlXEjfrE9taHWgIJEjwMj+IcTjnGiS1rX1T/JNhjRxsRJwU
+qxqhYmeenNymyUJxS2B806EcG3UAJu63dK61VXN1dtPhS3FqjeR//GRlmy14n7RW
+ZQAuT9dPB/WzUZVzEcOgTwe/+XsPTSfz7gpaoffgMJECgYEA/43xZRi48Dfp3tdq
+qwwLf6Ya9pB2zb3XE8MUQhxsrygzL5ngZhmr2m0LgGCf5fXa983G6wzA6sOdpvve
+jFAlBZYbWaYnvog9QIFcTj0S6PahGTBaR7PSNzK0UzoHYexYVCkyzQl1O2hktazd
+Cankh/6IlAFkKbUSDqAwc07jNCkCgYEA5H0tNXpcDN6JTgKNe8YHM0GjZB+qGEoL
+7YZbFlANjO9pOPY6JMQ3+DbOoruIH97CIyVYokuH0qRAfjm5LNiVYECFVFZRnGFb
+BNPOPAnPJPISDF66zjW0KLMYCykJAHQ4SpHUPcJ6JnfBr76s/xSbNI9qnhpy3QYI
+ATkqOrP25xsCgYEAy3pjmJGEv5BloM942VSv2yWRFn2UeuELXWrYuIMVbqndh6tH
+50PNeA+XNtK4vktx3Bl2pzTybnrvDkRBwQsXT0lj4Y/Q2X509uWJb6plYiTtxLah
+S7I8UUMIHbR4qFmdQvXCw0sikvjeJ2HKZaVml3ntmZs5+5N3GzolGcrYUXECgYEA
+pPsBnsCoIJ66s7pCIKIfZtI5QT1f20P0EuDVemn5Ls9bwcaAuzV3WGFymKwiISj+
+MtRviFhTTTROYRYa8Be+3A4ad4gQS4M8bmLlYhKPIJUtlQL9jZHXcR/H9578ofhJ
+AQcFIkb/XjFQiC58yX4+hxgbGufsEk2dkAyPwm1ZlQsCgYBTjnraJbYSz1v3MQKx
+fHm9eHki/ODR3lWiCYYnnW3AwRa7AXS4ZiSw78wzkUX2XTJbE6JlEUH4M9DMzr4y
+QBwKmx+3u+Im4WcZ889jo6XrF0X9mXRmY25+gr2ypTbKZjT8FCYcXIgiOxITLXZh
+Bmn7KZcsdaPxSFn05ASEanLNqA==
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qocsp/certs/infbobchain.crt b/tests/auto/network/ssl/qocsp/certs/infbobchain.crt
new file mode 100644
index 0000000000..7ed13c2856
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/infbobchain.crt
@@ -0,0 +1,49 @@
+-----BEGIN CERTIFICATE-----
+MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQsFADCBjjELMAkGA1UEBhMCTk8x
+DTALBgNVBAgMBE9zbG8xEjAQBgNVBAcMCU9zbG8gQ2l0eTETMBEGA1UECgwKVGhl
+IFF0IENBMTENMAsGA1UECwwEUVRDTjERMA8GA1UEAwwIY2ExcXQuaW8xJTAjBgkq
+hkiG9w0BCQEWFnRpbXVyLnBvY2hlcHRzb3ZAcXQuaW8wHhcNMTgxMTIyMTAyOTM3
+WhcNMjgxMTE5MTAyOTM3WjCBmDELMAkGA1UEBhMCTk8xDTALBgNVBAgMBE9zbG8x
+EjAQBgNVBAcMCU9zbG8gQ2l0eTEkMCIGA1UECgwbVGhlIEluZmFtb3VzIFNuZWFr
+eSBCb2IgTHRkMQwwCgYDVQQLDANCREExEzARBgNVBAMMCmluZmJvYi5jb20xHTAb
+BgkqhkiG9w0BCQEWDmJvYkBpbmZib2IuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA5Bdgbj5ZEGtzsScZ20PoMtZgMWhhs355hqHK2sVUikrLF980
+pHiK1gdZFt3YjrSGdY6L2H7RxrKqAReZOnzfXa9+5hSGZ4pRegatLHmIzVJeiNHe
+wn9zSUn+0xufj/nQMjSzfGlyC3LWPJK5UnuMrG/vvcYGsLdg2C9yNCwXfltu4Xdg
+ZX3JgeINl98zmrI2TPBeR0gcReXu331WlJggvEuI3V1EBG1DRZOh7nw8A4T9YDLa
+Bih7rFjnSOTunEAH1FJkS0n4v41qHiiz2n24+yiHAPPmKIzr7m9oLjaTuNofX3PN
+/4ApJASYcFzXSEI0VJ8+i7tOZA0xvV9vIG1/UwIDAQABo3sweTAJBgNVHRMEAjAA
+MCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAd
+BgNVHQ4EFgQUloqk6Iihkkcxp85jAzeUPGVmapkwHwYDVR0jBBgwFoAUeBcnAkU7
+sTqm7i2QvTxwgr0nQ0QwDQYJKoZIhvcNAQELBQADggEBAGCdYFNskTzMilRtmw+v
+oJQM3mc6LdYYuADCuh8O/GKaqUnE7V2XnMBYWMN93eeN9VXmK2yAZaQU1J6ruP1S
+pLMzJ8hbQej+sm+XAHVxAtr34KmEC50gIn1cB/sRKxHMombbNl7EK44puFU7q58P
+zBz5lTXXTfA954D/ijEMMSDvIZ25me6vrGPMj1LX/wC6CWadSr9IxAO9HQVQQqwv
+AbbqrCvMSMv633/f1EYU8Q6jhUCTlnin4pXtriOnqi+6MZICaYRCUgV224Rs3OUS
+jmrbOeoaZUpmOVmuoYXWeexe229G2KGiEIgnSBEk5OLFHCeZ8++WJ5/SLHt8MBLc
+O0w=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIID9DCCAtygAwIBAgIJAMQbE3657KDYMA0GCSqGSIb3DQEBCwUAMIGOMQswCQYD
+VQQGEwJOTzENMAsGA1UECAwET3NsbzESMBAGA1UEBwwJT3NsbyBDaXR5MRMwEQYD
+VQQKDApUaGUgUXQgQ0ExMQ0wCwYDVQQLDARRVENOMREwDwYDVQQDDAhjYTFxdC5p
+bzElMCMGCSqGSIb3DQEJARYWdGltdXIucG9jaGVwdHNvdkBxdC5pbzAeFw0xODEx
+MjIxMDIxMTNaFw0yODExMTkxMDIxMTNaMIGOMQswCQYDVQQGEwJOTzENMAsGA1UE
+CAwET3NsbzESMBAGA1UEBwwJT3NsbyBDaXR5MRMwEQYDVQQKDApUaGUgUXQgQ0Ex
+MQ0wCwYDVQQLDARRVENOMREwDwYDVQQDDAhjYTFxdC5pbzElMCMGCSqGSIb3DQEJ
+ARYWdGltdXIucG9jaGVwdHNvdkBxdC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAOCs3AV7sDKHJUJcm7a0OqnShIvoB1qv6UcOmlBmUzGl5GzX90Jz
+7jYJoOPjxjNyRxMOsOReB1ZcSuIAjkdAEfFMaVe6j7qKTJ5ycTVY/fVoxyxsSNuI
+xOJ6RCEjLHcxONEbkN/xI8LMdVko3m4P10r5GxwrgyPvpa87Yq5+XJ1BPWJyKbD7
+Tqpn3dvZUj0/POsMUTT7Q7VXOfDlZj58XWAC6ECTqJauhGFMhiwgqOn2Qo1W0QjV
+DkGqRTdgIAM6Rv2cSRxgnflwW5QZ8kWUV81h/yx4cck/D9TcVxjr3Pvy6aJ/U41u
+d4XJQgwCj4LJi4msw1S0CvZWmz+2BKxcbRsCAwEAAaNTMFEwHQYDVR0OBBYEFHgX
+JwJFO7E6pu4tkL08cIK9J0NEMB8GA1UdIwQYMBaAFHgXJwJFO7E6pu4tkL08cIK9
+J0NEMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADp1kqDRcyVG
+BdMge+Il10IjbpzzSjAoZiqiw69V99LiHW9ePbxG4AmliE6Za60GE5PCXOLjJh/5
+efgnIbybbyIOIT9iK4TXWLw2XW+rMY51c0RAxp2h/sc+5CZ0F0I811F5VUHXg2qR
+U7C2zbzqAimN8TBm6FRe7NFQfqLCrsuFJjSc3obrqKQcpvRwxMk6NpkdoemzqLmY
+lrBrTaeVbZ4ix3srVPvXRm9TdiC+JuuFmvulMfe+/wwnhb+dwT3JUC+EIq/Uf5Wb
+g8lvB4ntitL8NLQ2hFGqYuoFNIGs6tRN71ohk+/ONqe9wJhcI9QAruPOvsg+8J0H
+uGooX7PUNHg=
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qocsp/certs/ss1-private.key b/tests/auto/network/ssl/qocsp/certs/ss1-private.key
new file mode 100644
index 0000000000..1c42daaf9f
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/ss1-private.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC4bXcfIjweShLx
+6jBTKu/i5sXmlwTH9Z4PTzQ1VteKyEIDlnW5ocVWqRgBrvz3NlTFkDKkQXshkXyE
+JyVZFbAPCfGsroZVISpFhUmJbPMBNn3SyGEU+sxWIpOZOKmG5tel6B4Bt5TWsRHL
+mtU8Pv/APsz+i9JhgE25ksGhx16MqvdRv/xNGleF8qe+hDOeiNF3/lNv2hYb/MvD
+1F73FBoDVnqty/VXXOJFb7elLE4ArXsTN/hip42Lbl1guYvnqnTZFhCHwMzRu4qc
+3FTlemumfJpacpRnqVw2TURA5SdpTp9NYIxygEGNY201meNEjAEyg8GeFkAgu99R
+LPQT+rTNAgMBAAECggEAPQEIfCXo2OQLrDWY0onLW7SWFZYyoKngJJRAYrxdA60G
+GQW13zdhfS7ln/jv+B3ioI74EVkPj6T+GQCR3AvOdssFQ+dey93yi5hxIKIHJ4mM
+ySI66qOi34MEa5RQjyzgfCJxeoPtGa7sgfqvOgRkuISNbk11w4abLx0aK5c08TY0
+JdeoWWhATaFZXl782Aw2FwGPTwOIf7GB09BJS3qUqlMT9fowLmWO10jOKkNtvcnT
+2mAqT5cdZG1ffT5+f0JETPCbBPhhyE7VyYEVQfqTkRnEoz3hcZvjx91jD527+CSL
+Qhg7zZu2oakyJQvpHETZ6cgrs7uDEiol7ARANezwyQKBgQDmapxV/qIOd5WFDVXw
+lGt+dsELBBdMhvzr4A9eZdIZiXu48rdFG0XoECo5BKpXa1+ISr2od0U0YODrJrws
+OHxHhlxGjJFs8kFteUPHyEZv6/rvkbA+xc0Uw04NnDRHBLK8VvX7MBWfvTqLN4bK
+sZsMblscRBtEpFpN1fiJgnNASwKBgQDM56lBugtueBV9M4C/JF2is96d14ue3Y4i
+SgMnHY18D3ru+KDuxPYoIs5Yos2vDWK2k8754WZ+WNXokjRoYPiFbeBPpI9NudJs
+BUJz/sLJHjs3a4HrQs3hCuufczNxq9wQnALQHCMEqeBUTYCu/1+zYgwAu3Z/R8rJ
+jKgexl+gRwKBgGrLCNCWpze7VzKGvsk1kSjZE5nueHoAqqMMgzMGUD2DyjMrU6QV
+Au6O53Lr5aOE4Y9CzOqS9SFUsYprtpVsTLW94XDVX+W11ntN1At5mKPxJKn6xUwi
+022HI9sNBfHQjKLcTz/vxmX2B3dU8gVqEenOEC5mppjG8A/ZV0ssigxHAoGAfGsG
+OSSwoElGMxm8yVNZj9vMBufEnZhGH8f1FiE5seTsboKFpbXvCfvoc6WXYv2rvNUP
+TmdxBrMGYAu2ytJm1Q4cr/9qDHYSsQiYizpcKCa1KjebUbDktgsde1pGGHWUUHmK
+s7cCBGjqEAZnZtslzxRv2Vn639pF5hAEXXtywS0CgYAUIjhp43qgtbQdZMX7xbVR
+lT26aq7NguCtt7njpgkhqc0HThb3I8ImrhNSDcS0/T9dPU70vt0ceruyRXmwX5hA
+l28i5GzF5ufaRQdcsSR9u+P67nD5sTZBesbejXFySis5EC/97A4XZvkSfY4DQSZ+
+u8JJPZUlb2kGAHRpmxvpDA==
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qocsp/certs/ss1.crt b/tests/auto/network/ssl/qocsp/certs/ss1.crt
new file mode 100644
index 0000000000..43ca8316c2
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/certs/ss1.crt
@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIEKzCCAxOgAwIBAgIJAOO/b5uLSmT8MA0GCSqGSIb3DQEBBQUAMIGqMQswCQYD
+VQQGEwJOTzENMAsGA1UECAwET3NsbzENMAsGA1UEBwwET3NsbzESMBAGA1UECgwJ
+VGhlIFF0IENBMScwJQYDVQQLDB5SJkQgKGZha2UgY2VydGlmaWNhdGVzIGlzc3Vl
+cikxGTAXBgNVBAMMEFRpbXVyIFBvY2hlcHRzb3YxJTAjBgkqhkiG9w0BCQEWFnRp
+bXVyLnBvY2hlcHRzb3ZAcXQuaW8wIBcNMTgxMTE3MDUxNDA1WhgPMjExODEwMjQw
+NTE0MDVaMIGqMQswCQYDVQQGEwJOTzENMAsGA1UECAwET3NsbzENMAsGA1UEBwwE
+T3NsbzESMBAGA1UECgwJVGhlIFF0IENBMScwJQYDVQQLDB5SJkQgKGZha2UgY2Vy
+dGlmaWNhdGVzIGlzc3VlcikxGTAXBgNVBAMMEFRpbXVyIFBvY2hlcHRzb3YxJTAj
+BgkqhkiG9w0BCQEWFnRpbXVyLnBvY2hlcHRzb3ZAcXQuaW8wggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC4bXcfIjweShLx6jBTKu/i5sXmlwTH9Z4PTzQ1
+VteKyEIDlnW5ocVWqRgBrvz3NlTFkDKkQXshkXyEJyVZFbAPCfGsroZVISpFhUmJ
+bPMBNn3SyGEU+sxWIpOZOKmG5tel6B4Bt5TWsRHLmtU8Pv/APsz+i9JhgE25ksGh
+x16MqvdRv/xNGleF8qe+hDOeiNF3/lNv2hYb/MvD1F73FBoDVnqty/VXXOJFb7el
+LE4ArXsTN/hip42Lbl1guYvnqnTZFhCHwMzRu4qc3FTlemumfJpacpRnqVw2TURA
+5SdpTp9NYIxygEGNY201meNEjAEyg8GeFkAgu99RLPQT+rTNAgMBAAGjUDBOMB0G
+A1UdDgQWBBSyHPlJr6BrpwMY7Sxg2R3CpQR7UzAfBgNVHSMEGDAWgBSyHPlJr6Br
+pwMY7Sxg2R3CpQR7UzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQBD
+o86xp1WwvX6mYzF94ifZlkq1aDN6/njj2B9fvJCtygfqq6b9BrQJ0hNeqRh8OaIh
+v2YmjbdUaoYguHmUxL+SeS67Sp8QBoSwdU5x0i8ygrigBrbb3myNqN6hGvpGy9E0
+B8PnVDt9DaOCunaMyGNPMLNPVGYULmberGtxV9wilcH4Q6WZrk9IhuyfqeBZtBYM
+IcjV3OKdUv/ggu2IZSN7njKcgr+uyPt0Ymo9GozJSTdnN/E4hsRgzcgzCMf2fxzj
+nGcsDRQ4L1R8p1zDlduxmmk42zGCGz3duFX7dijAxJWirS8Zsea4aooLgDQYT/zI
+8hKd3KC3knLhPcxFKiUg
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qocsp/qocsp.pro b/tests/auto/network/ssl/qocsp/qocsp.pro
new file mode 100644
index 0000000000..f4e846f39b
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/qocsp.pro
@@ -0,0 +1,15 @@
+CONFIG += testcase
+
+SOURCES += tst_qocsp.cpp
+QT = core network network-private testlib
+
+TARGET = tst_qocsp
+
+win32 {
+ CONFIG(debug, debug|release) {
+ DESTDIR = debug
+ } else {
+ DESTDIR = release
+ }
+}
+
diff --git a/tests/auto/network/ssl/qocsp/tst_qocsp.cpp b/tests/auto/network/ssl/qocsp/tst_qocsp.cpp
new file mode 100644
index 0000000000..9716c04bbb
--- /dev/null
+++ b/tests/auto/network/ssl/qocsp/tst_qocsp.cpp
@@ -0,0 +1,823 @@
+/****************************************************************************
+ **
+ ** Copyright (C) 2018 The Qt Company Ltd.
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the test suite of the Qt Toolkit.
+ **
+ ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+ ** Commercial License Usage
+ ** Licensees holding valid commercial Qt licenses may use this file in
+ ** accordance with the commercial license agreement provided with the
+ ** Software or, alternatively, in accordance with the terms contained in
+ ** a written agreement between you and The Qt Company. For licensing terms
+ ** and conditions see https://www.qt.io/terms-conditions. For further
+ ** information use the contact form at https://www.qt.io/contact-us.
+ **
+ ** GNU General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU
+ ** General Public License version 3 as published by the Free Software
+ ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+ ** included in the packaging of this file. Please review the following
+ ** information to ensure the GNU General Public License requirements will
+ ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+ **
+ ** $QT_END_LICENSE$
+ **
+ ****************************************************************************/
+
+#include <QtTest/QtTest>
+
+#include <QtNetwork/private/qtnetworkglobal_p.h>
+
+#include <QtNetwork/private/qsslsocket_openssl_symbols_p.h>
+#include <QtNetwork/private/qsslsocket_openssl_p.h>
+
+#include <QtNetwork/qsslcertificate.h>
+#include <QtNetwork/qtcpserver.h>
+#include <QtNetwork/qsslerror.h>
+#include <QtNetwork/qsslkey.h>
+#include <QtNetwork/qssl.h>
+
+#include <QtCore/qsharedpointer.h>
+#include <QtCore/qbytearray.h>
+#include <QtCore/qfileinfo.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qfile.h>
+#include <QtCore/qlist.h>
+#include <QtCore/qdir.h>
+
+#include <openssl/ocsp.h>
+
+#include <algorithm>
+#include <utility>
+
+// NOTE: the word 'subject' in the code below means the subject of a status request,
+// so in general it's our peer's certificate we are asking about.
+
+using SslError = QT_PREPEND_NAMESPACE(QSslError);
+using VectorOfErrors = QT_PREPEND_NAMESPACE(QVector<SslError>);
+using Latin1String = QT_PREPEND_NAMESPACE(QLatin1String);
+
+Q_DECLARE_METATYPE(SslError)
+Q_DECLARE_METATYPE(VectorOfErrors)
+Q_DECLARE_METATYPE(Latin1String)
+
+QT_BEGIN_NAMESPACE
+
+namespace {
+
+using OcspResponse = QSharedPointer<OCSP_RESPONSE>;
+using BasicResponse = QSharedPointer<OCSP_BASICRESP>;
+using SingleResponse = QSharedPointer<OCSP_SINGLERESP>;
+using CertId = QSharedPointer<OCSP_CERTID>;
+using EvpKey = QSharedPointer<EVP_PKEY>;
+using Asn1Time = QSharedPointer<ASN1_TIME>;
+using CertificateChain = QList<QSslCertificate>;
+
+using NativeX509Ptr = X509 *;
+
+class X509Stack {
+public:
+ explicit X509Stack(const QList<QSslCertificate> &chain);
+
+ ~X509Stack();
+
+ int size() const;
+ X509 *operator[](int index) const;
+ operator STACK_OF(X509) *() const;
+
+private:
+ OPENSSL_STACK *stack = nullptr;
+
+ Q_DISABLE_COPY(X509Stack)
+};
+
+X509Stack::X509Stack(const QList<QSslCertificate> &chain)
+{
+ if (!chain.size())
+ return;
+
+ stack = q_OPENSSL_sk_new_null();
+ if (!stack)
+ return;
+
+ for (const QSslCertificate &cert : chain) {
+ X509 *nativeCert = NativeX509Ptr(cert.handle());
+ if (!nativeCert)
+ continue;
+ q_OPENSSL_sk_push(stack, nativeCert);
+ q_X509_up_ref(nativeCert);
+ }
+}
+
+X509Stack::~X509Stack()
+{
+ if (stack)
+ q_OPENSSL_sk_pop_free(stack, reinterpret_cast<void(*)(void*)>(q_X509_free));
+}
+
+int X509Stack::size() const
+{
+ if (stack)
+ return q_OPENSSL_sk_num(stack);
+ return 0;
+}
+
+X509 *X509Stack::operator[](int index) const
+{
+ return NativeX509Ptr(q_OPENSSL_sk_value(stack, index));
+}
+
+X509Stack::operator STACK_OF(X509) *() const
+{
+ return reinterpret_cast<STACK_OF(X509)*>(stack);
+}
+
+struct OcspTimeStamp
+{
+ OcspTimeStamp() = default;
+ OcspTimeStamp(long secondsBeforeNow, long secondsAfterNow);
+
+ static Asn1Time timeToAsn1Time(long adjustment);
+
+ Asn1Time thisUpdate;
+ Asn1Time nextUpdate;
+};
+
+OcspTimeStamp::OcspTimeStamp(long secondsBeforeNow, long secondsAfterNow)
+{
+ Asn1Time start = timeToAsn1Time(secondsBeforeNow);
+ Asn1Time end = timeToAsn1Time(secondsAfterNow);
+ if (start.data() && end.data()) {
+ thisUpdate.swap(start);
+ nextUpdate.swap(end);
+ }
+}
+
+Asn1Time OcspTimeStamp::timeToAsn1Time(long adjustment)
+{
+ if (ASN1_TIME *adjusted = q_X509_gmtime_adj(nullptr, adjustment))
+ return Asn1Time(adjusted, q_ASN1_TIME_free);
+ return Asn1Time{};
+}
+
+struct OcspResponder
+{
+ OcspResponder(const OcspTimeStamp &stamp, const CertificateChain &subjs,
+ const CertificateChain &respChain, const QSslKey &respPKey);
+
+ QByteArray buildResponse(int responseStatus, int certificateStatus) const;
+ static EvpKey privateKeyToEVP_PKEY(const QSslKey &privateKey);
+ static CertId certificateToCertId(X509 *subject, X509 *issuer);
+ static QByteArray responseToDer(OCSP_RESPONSE *response);
+
+ OcspTimeStamp timeStamp;
+ // Plural, we can send a 'wrong' BasicResponse containing more than
+ // 1 SingleResponse.
+ X509Stack subjects;
+ X509Stack responderChain;
+ QSslKey responderKey;
+};
+
+OcspResponder::OcspResponder(const OcspTimeStamp &stamp, const CertificateChain &subjs,
+ const CertificateChain &respChain, const QSslKey &respPKey)
+ : timeStamp(stamp),
+ subjects(subjs),
+ responderChain(respChain),
+ responderKey(respPKey)
+{
+}
+
+QByteArray OcspResponder::buildResponse(int responseStatus, int certificateStatus) const
+{
+ if (responseStatus != OCSP_RESPONSE_STATUS_SUCCESSFUL) {
+ OCSP_RESPONSE *response = q_OCSP_response_create(responseStatus, nullptr);
+ if (!response)
+ return {};
+ const OcspResponse rGuard(response, q_OCSP_RESPONSE_free);
+ return responseToDer(response);
+ }
+
+ Q_ASSERT(subjects.size() && responderChain.size() && responderKey.handle());
+
+ const EvpKey nativeKey = privateKeyToEVP_PKEY(responderKey);
+ if (!nativeKey.data())
+ return {};
+
+ OCSP_BASICRESP *basicResponse = q_OCSP_BASICRESP_new();
+ if (!basicResponse)
+ return {};
+ const BasicResponse brGuard(basicResponse, q_OCSP_BASICRESP_free);
+
+ for (int i = 0, e = subjects.size(); i < e; ++i) {
+ X509 *subject = subjects[i];
+ Q_ASSERT(subject);
+ CertId certId = certificateToCertId(subject, responderChain[0]);
+ if (!certId.data())
+ return {};
+
+ // NOTE: we do not own this 'singleResponse':
+ ASN1_TIME *revisionTime = certificateStatus == V_OCSP_CERTSTATUS_REVOKED ?
+ timeStamp.thisUpdate.data() : nullptr;
+
+ if (!q_OCSP_basic_add1_status(basicResponse, certId.data(), certificateStatus, 0, revisionTime,
+ timeStamp.thisUpdate.data(), timeStamp.nextUpdate.data())) {
+ return {};
+ }
+ }
+
+ if (q_OCSP_basic_sign(basicResponse, responderChain[0], nativeKey.data(), q_EVP_sha1(),
+ responderChain, 0) != 1) {
+ return {};
+ }
+
+ OCSP_RESPONSE *ocspResponse = q_OCSP_response_create(OCSP_RESPONSE_STATUS_SUCCESSFUL, basicResponse);
+ if (!ocspResponse)
+ return {};
+ const OcspResponse rGuard(ocspResponse, q_OCSP_RESPONSE_free);
+ return responseToDer(ocspResponse);
+}
+
+EvpKey OcspResponder::privateKeyToEVP_PKEY(const QSslKey &privateKey)
+{
+ const EvpKey nullKey;
+ if (privateKey.isNull() || privateKey.algorithm() != QSsl::Rsa) {
+ // We use only RSA keys in this auto-test, since we test OCSP only,
+ // not handshake/TLS in general.
+ return nullKey;
+ }
+
+ EVP_PKEY *nativeKey = q_EVP_PKEY_new();
+ if (!nativeKey)
+ return nullKey;
+
+ const EvpKey keyGuard(nativeKey, q_EVP_PKEY_free);
+ if (!q_EVP_PKEY_set1_RSA(nativeKey, reinterpret_cast<RSA *>(privateKey.handle())))
+ return nullKey;
+
+ return keyGuard;
+}
+
+CertId OcspResponder::certificateToCertId(X509 *subject, X509 *issuer)
+{
+ const CertId nullId;
+ if (!subject || !issuer)
+ return nullId;
+
+ const EVP_MD *digest = q_EVP_sha1();
+ if (!digest)
+ return nullId;
+
+ OCSP_CERTID *certId = q_OCSP_cert_to_id(digest, subject, issuer);
+ if (!certId)
+ return nullId;
+
+ return CertId(certId, q_OCSP_CERTID_free);
+}
+
+QByteArray OcspResponder::responseToDer(OCSP_RESPONSE *response)
+{
+ if (!response)
+ return {};
+
+ const int derSize = q_i2d_OCSP_RESPONSE(response, nullptr);
+ if (derSize <= 0)
+ return {};
+
+ QByteArray derData(derSize, Qt::Uninitialized);
+ unsigned char *pData = reinterpret_cast<unsigned char *>(derData.data());
+ const int serializedSize = q_i2d_OCSP_RESPONSE(response, &pData);
+ if (serializedSize != derSize)
+ return {};
+
+ return derData;
+}
+
+// The QTcpServer capable of sending OCSP status responses.
+class OcspServer : public QTcpServer
+{
+ Q_OBJECT
+
+public:
+ OcspServer(const CertificateChain &serverChain, const QSslKey &privateKey);
+
+ void configureResponse(const QByteArray &responseDer);
+ QString hostName() const;
+ QString peerVerifyName() const;
+
+Q_SIGNALS:
+ void internalServerError();
+
+private:
+ void incomingConnection(qintptr descriptor) override;
+
+public:
+ QSslConfiguration serverConfig;
+ QSslSocket serverSocket;
+};
+
+OcspServer::OcspServer(const CertificateChain &serverChain, const QSslKey &privateKey)
+{
+ Q_ASSERT(serverChain.size());
+ Q_ASSERT(!privateKey.isNull());
+
+ serverConfig = QSslConfiguration::defaultConfiguration();
+ serverConfig.setLocalCertificateChain(serverChain);
+ serverConfig.setPrivateKey(privateKey);
+}
+
+void OcspServer::configureResponse(const QByteArray &responseDer)
+{
+ serverConfig.setBackendConfigurationOption("Qt-OCSP-response", responseDer);
+}
+
+QString OcspServer::hostName() const
+{
+ // It's 'name' and not 'address' to be consistent with QSslSocket's naming style,
+ // where it's connectToHostEncrypted(hostName, ...)
+ const QHostAddress &addr = serverAddress();
+ if (addr == QHostAddress::Any || addr == QHostAddress::AnyIPv4)
+ return QStringLiteral("127.0.0.1");
+ if (addr == QHostAddress::AnyIPv6)
+ return QStringLiteral("::1");
+ return addr.toString();
+}
+
+QString OcspServer::peerVerifyName() const
+{
+ const CertificateChain &localChain = serverConfig.localCertificateChain();
+ if (localChain.isEmpty())
+ return {};
+ const auto cert = localChain.first();
+ if (cert.isNull())
+ return {};
+
+ const QStringList &names = cert.subjectInfo(QSslCertificate::CommonName);
+ return names.isEmpty() ? QString{} : names.first();
+}
+
+void OcspServer::incomingConnection(qintptr socketDescriptor)
+{
+ close();
+
+ if (!serverSocket.setSocketDescriptor(socketDescriptor)) {
+ emit internalServerError();
+ return;
+ }
+
+ serverSocket.setSslConfiguration(serverConfig);
+ // Since we test a client, not a server, we don't care about any
+ // possible errors on the server (QAbstractSocket or QSslSocket-related).
+ // Thus, we don't connect to any error signal.
+ serverSocket.startServerEncryption();
+}
+
+} // unnamed namespace
+
+class tst_QOcsp : public QObject
+{
+ Q_OBJECT
+
+public slots:
+ void initTestCase();
+
+private slots:
+ void connectSelfSigned();
+ void badStatus_data();
+ void badStatus();
+ void multipleSingleResponses();
+ void malformedResponse();
+ void expiredResponse_data();
+ void expiredResponse();
+ void noNextUpdate();
+ void wrongCertificateInResponse_data();
+ void wrongCertificateInResponse();
+ void untrustedResponder();
+
+ // OCSPTODO: more tests in future ...
+
+private:
+ void setupOcspClient(QSslSocket &clientSocket, const CertificateChain &trustedCAs,
+ const QString &peerName);
+ bool containsOcspErrors(const QList<QSslError> &errorsFound) const;
+ static bool containsError(const QList<QSslError> &errors, QSslError::SslError code);
+ static QByteArray goodResponse(const CertificateChain &subject, const CertificateChain &responder,
+ const QSslKey &privateKey, long beforeNow = -1000, long afterNow = 1000);
+ static bool loadPrivateKey(const QString &keyName, QSslKey &key);
+ static CertificateChain issuerToChain(const CertificateChain &chain);
+ static CertificateChain subjectToChain(const CertificateChain &chain);
+
+ static QString certDirPath;
+
+ void (QSslSocket::*socketErrorSignal)(QAbstractSocket::SocketError) = &QAbstractSocket::error;
+ void (QSslSocket::*tlsErrorsSignal)(const QList<QSslError> &) = &QSslSocket::sslErrors;
+ void (QTestEventLoop::*exitLoopSlot)() = &QTestEventLoop::exitLoop;
+
+ const int handshakeTimeoutMS = 500;
+ QTestEventLoop loop;
+
+ std::vector<QSslError::SslError> ocspErrorCodes = {QSslError::OcspNoResponseFound,
+ QSslError::OcspMalformedRequest,
+ QSslError::OcspMalformedResponse,
+ QSslError::OcspInternalError,
+ QSslError::OcspTryLater,
+ QSslError::OcspSigRequred,
+ QSslError::OcspUnauthorized,
+ QSslError::OcspResponseCannotBeTrusted,
+ QSslError::OcspResponseCertIdUnknown,
+ QSslError::OcspResponseExpired,
+ QSslError::OcspStatusUnknown};
+};
+
+#define QCOMPARE_SINGLE_ERROR(sslSocket, expectedError) \
+ const auto &tlsErrors = sslSocket.sslErrors(); \
+ QCOMPARE(tlsErrors.size(), 1); \
+ QCOMPARE(tlsErrors[0].error(), expectedError)
+
+#define QVERIFY_HANDSHAKE_WITHOUT_ERRORS(sslSocket) \
+ QVERIFY(sslSocket.isEncrypted()); \
+ QCOMPARE(sslSocket.state(), QAbstractSocket::ConnectedState); \
+ QVERIFY(sslSocket.sslErrors().isEmpty())
+
+#define QDECLARE_CHAIN(object, chainFileName) \
+ CertificateChain object = QSslCertificate::fromPath(certDirPath + QLatin1String(chainFileName)); \
+ QVERIFY(object.size())
+
+#define QDECLARE_PRIVATE_KEY(key, keyFileName) \
+ QSslKey key; \
+ QVERIFY(loadPrivateKey(QLatin1String(keyFileName), key))
+
+QString tst_QOcsp::certDirPath;
+
+void tst_QOcsp::initTestCase()
+{
+ QVERIFY(QSslSocket::supportsSsl());
+
+ certDirPath = QFileInfo(QFINDTESTDATA("certs")).absolutePath();
+ QVERIFY(certDirPath.size() > 0);
+ certDirPath += QDir::separator() + QStringLiteral("certs") + QDir::separator();
+}
+
+void tst_QOcsp::connectSelfSigned()
+{
+ // This test may look a bit confusing, since we have essentially 1
+ // self-signed certificate, which we trust for the purpose of this test,
+ // but we also request its (the certificate's) status and then we sign
+ // the status response using the same certificate and the corresponding
+ // private key. Anyway, we test the very basic things here: we send
+ // an OCSP status request, we verify the response (if server has sent it),
+ // and detect errors (if any).
+ QDECLARE_CHAIN(subjectChain, "ss1.crt");
+ QDECLARE_CHAIN(responderChain, "ss1.crt");
+ QDECLARE_PRIVATE_KEY(privateKey, "ss1-private.key");
+ {
+ // This server ignores our status request:
+ const QSslError::SslError expectedError = QSslError::OcspNoResponseFound;
+
+ OcspServer server(subjectChain, privateKey);
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ QSslConfiguration clientConfig = QSslConfiguration::defaultConfiguration();
+ auto roots = clientConfig.caCertificates();
+ setupOcspClient(clientSocket, issuerToChain(subjectChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY(!clientSocket.isEncrypted());
+ QCOMPARE_SINGLE_ERROR(clientSocket, expectedError);
+ }
+ {
+ // Now the server will send a valid 'status: good' response.
+ OcspServer server(subjectChain, privateKey);
+ const QByteArray response(goodResponse(subjectChain, responderChain, privateKey));
+ QVERIFY(response.size());
+ server.configureResponse(response);
+ QVERIFY(server.listen());
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, issuerToChain(subjectChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY_HANDSHAKE_WITHOUT_ERRORS(clientSocket);
+ }
+}
+
+void tst_QOcsp::badStatus_data()
+{
+ QTest::addColumn<int>("responseStatus");
+ QTest::addColumn<int>("certificateStatus");
+ QTest::addColumn<QSslError>("expectedError");
+
+ QTest::addRow("malformed-request") << OCSP_RESPONSE_STATUS_MALFORMEDREQUEST << 1 << QSslError(QSslError::OcspMalformedRequest);
+ QTest::addRow("internal-error") << OCSP_RESPONSE_STATUS_INTERNALERROR << 2 << QSslError(QSslError::OcspInternalError);
+ QTest::addRow("try-later") << OCSP_RESPONSE_STATUS_TRYLATER << 3 << QSslError(QSslError::OcspTryLater);
+ QTest::addRow("signed-request-require") << OCSP_RESPONSE_STATUS_SIGREQUIRED << 2 << QSslError(QSslError::OcspSigRequred);
+ QTest::addRow("unauthorized-request") << OCSP_RESPONSE_STATUS_UNAUTHORIZED << 1 <<QSslError(QSslError::OcspUnauthorized);
+
+ QTest::addRow("certificate-revoked") << OCSP_RESPONSE_STATUS_SUCCESSFUL << V_OCSP_CERTSTATUS_REVOKED
+ << QSslError(QSslError::CertificateRevoked);
+ QTest::addRow("status-unknown") << OCSP_RESPONSE_STATUS_SUCCESSFUL << V_OCSP_CERTSTATUS_UNKNOWN
+ << QSslError(QSslError::OcspStatusUnknown);
+}
+
+void tst_QOcsp::badStatus()
+{
+ // This test works with two types of 'bad' responses:
+ // 1. 'Error messages' (the response's status is anything but SUCCESSFUL,
+ // no information about the certificate itself, no signature);
+ // 2. 'REVOKED' or 'UNKNOWN' status for a certificate in question.
+ QFETCH(const int, responseStatus);
+ QFETCH(const int, certificateStatus);
+ QFETCH(const QSslError, expectedError);
+
+ QDECLARE_CHAIN(subjectChain, "infbobchain.crt");
+ QCOMPARE(subjectChain.size(), 2);
+ QDECLARE_CHAIN(responderChain, "ca1.crt");
+ QDECLARE_PRIVATE_KEY(subjPrivateKey, "infbob.key");
+ QDECLARE_PRIVATE_KEY(respPrivateKey, "ca1.key");
+
+ OcspServer server(subjectChain, subjPrivateKey);
+ const OcspTimeStamp stamp(-1000, 1000);
+ OcspResponder builder(stamp, subjectToChain(subjectChain), responderChain, respPrivateKey);
+ const QByteArray response(builder.buildResponse(responseStatus, certificateStatus));
+ QVERIFY(response.size());
+ server.configureResponse(response);
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, issuerToChain(subjectChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY(!clientSocket.isEncrypted());
+ QCOMPARE_SINGLE_ERROR(clientSocket, expectedError.error());
+}
+
+void tst_QOcsp::multipleSingleResponses()
+{
+ // We handle a response with more than one SingleResponse as malformed:
+ const QSslError::SslError expectedError = QSslError::OcspMalformedResponse;
+
+ // Here we use subjectChain only to generate a response, the server
+ // is configured with the responder chain (it's the same cert after all).
+ QDECLARE_CHAIN(subjectChain, "ss1.crt");
+ QDECLARE_CHAIN(responderChain, "ss1.crt");
+ QDECLARE_PRIVATE_KEY(privateKey, "ss1-private.key");
+
+ // Let's have more than 1 certificate in a chain:
+ subjectChain.append(subjectChain[0]);
+
+ OcspServer server(responderChain, privateKey);
+ // Generate a BasicOCSPResponse containing 2 SingleResponses:
+ const QByteArray response(goodResponse(subjectChain, responderChain, privateKey));
+ QVERIFY(response.size());
+ server.configureResponse(response);
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, issuerToChain(responderChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY(!clientSocket.isEncrypted());
+ QCOMPARE_SINGLE_ERROR(clientSocket, expectedError);
+}
+
+void tst_QOcsp::malformedResponse()
+{
+ QDECLARE_CHAIN(serverChain, "ss1.crt");
+ QDECLARE_PRIVATE_KEY(privateKey, "ss1-private.key");
+
+ OcspServer server(serverChain, privateKey);
+ // Let's send some arbitrary bytes instead of DER and see what happens next:
+ server.configureResponse("Sure, you can trust me, this cert was not revoked (I don't say it was issued at all)!");
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, issuerToChain(serverChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY(!clientSocket.isEncrypted());
+ QCOMPARE(clientSocket.error(), QAbstractSocket::SslHandshakeFailedError);
+}
+
+void tst_QOcsp::expiredResponse_data()
+{
+ QTest::addColumn<long>("beforeNow");
+ QTest::addColumn<long>("afterNow");
+
+ QTest::addRow("expired") << -2000L << -1000L;
+ QTest::addRow("not-valid-yet") << 5000L << 10000L;
+ QTest::addRow("next-before-this") << -1000L << -2000L;
+}
+
+void tst_QOcsp::expiredResponse()
+{
+ // We report different kinds of problems with [thisUpdate, nextUpdate]
+ // as 'expired' (to keep it simple):
+ const QSslError::SslError expectedError = QSslError::OcspResponseExpired;
+
+ QFETCH(const long, beforeNow);
+ QFETCH(const long, afterNow);
+
+ QDECLARE_CHAIN(subjectChain, "ss1.crt");
+ QDECLARE_CHAIN(responderChain, "ss1.crt");
+ QDECLARE_PRIVATE_KEY(privateKey, "ss1-private.key");
+
+ OcspServer server(subjectChain, privateKey);
+ const QByteArray response(goodResponse(subjectChain, responderChain, privateKey, beforeNow, afterNow));
+ QVERIFY(response.size());
+ server.configureResponse(response);
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, issuerToChain(subjectChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY(!clientSocket.isEncrypted());
+ QCOMPARE_SINGLE_ERROR(clientSocket, expectedError);
+}
+
+void tst_QOcsp::noNextUpdate()
+{
+ // RFC2560, 2.4:
+ // "If nextUpdate is not set, the responder is indicating that newer
+ // revocation information is available all the time."
+ //
+ // This test is just to verify that we correctly handle such responses.
+ QDECLARE_CHAIN(subjectChain, "ss1.crt");
+ QDECLARE_CHAIN(responderChain, "ss1.crt");
+ QDECLARE_PRIVATE_KEY(privateKey, "ss1-private.key");
+
+ OcspServer server(subjectChain, privateKey);
+ OcspTimeStamp openRange(-1000, 0);
+ openRange.nextUpdate.clear();
+ const OcspResponder responder(openRange, subjectChain, responderChain, privateKey);
+ const QByteArray response(responder.buildResponse(OCSP_RESPONSE_STATUS_SUCCESSFUL,
+ V_OCSP_CERTSTATUS_GOOD));
+ QVERIFY(response.size());
+ server.configureResponse(response);
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, issuerToChain(subjectChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY_HANDSHAKE_WITHOUT_ERRORS(clientSocket);
+}
+
+void tst_QOcsp::wrongCertificateInResponse_data()
+{
+ QTest::addColumn<QLatin1String>("respChainName");
+ QTest::addColumn<QLatin1String>("respKeyName");
+ QTest::addColumn<QLatin1String>("wrongChainName");
+
+ QTest::addRow("same-CA-wrong-subject") << QLatin1String("ca1.crt") << QLatin1String("ca1.key")
+ << QLatin1String("alice.crt");
+ QTest::addRow("wrong-CA-same-subject") << QLatin1String("ss1.crt") << QLatin1String("ss1-private.key")
+ << QLatin1String("alice.crt");
+ QTest::addRow("wrong-CA-wrong-subject") << QLatin1String("ss1.crt") << QLatin1String("ss1-private.key")
+ << QLatin1String("ss1.crt");
+}
+
+void tst_QOcsp::wrongCertificateInResponse()
+{
+ QFETCH(const QLatin1String, respChainName);
+ QFETCH(const QLatin1String, respKeyName);
+ QFETCH(const QLatin1String, wrongChainName);
+ // In this test, the server will send a valid response (correctly signed
+ // by a trusted key/cert) but for a wrong certificate (not the one the
+ // server presented to the client in the server's 'Certificate' message).
+ const QSslError::SslError expectedError = QSslError::OcspResponseCertIdUnknown;
+
+ QDECLARE_CHAIN(subjectChain, "infbobchain.crt");
+ QDECLARE_PRIVATE_KEY(subjectKey, "infbob.key");
+ QDECLARE_CHAIN(responderChain, respChainName);
+ QDECLARE_PRIVATE_KEY(responderKey, respKeyName);
+
+ QDECLARE_CHAIN(wrongChain, wrongChainName);
+
+ OcspServer server(subjectToChain(subjectChain), subjectKey);
+ const QByteArray wrongResponse(goodResponse(wrongChain, responderChain, responderKey));
+ QVERIFY(wrongResponse.size());
+ server.configureResponse(wrongResponse);
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, issuerToChain(subjectChain), server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY(!clientSocket.isEncrypted());
+ QVERIFY(containsError(clientSocket.sslErrors(), expectedError));
+}
+
+void tst_QOcsp::untrustedResponder()
+{
+ const QSslError::SslError expectedError = QSslError::OcspResponseCannotBeTrusted;
+
+ QDECLARE_CHAIN(subjectChain, "infbobchain.crt");
+ QDECLARE_PRIVATE_KEY(subjectKey, "infbob.key");
+ QDECLARE_CHAIN(responderChain, "ca1.crt");
+ QDECLARE_PRIVATE_KEY(responderKey, "ca1.key");
+
+ OcspServer server(subjectChain, subjectKey);
+ const QByteArray response(goodResponse(subjectToChain(subjectChain), responderChain, responderKey));
+ QVERIFY(response.size());
+ server.configureResponse(response);
+ QVERIFY(server.listen());
+ connect(&server, &OcspServer::internalServerError, &loop, exitLoopSlot);
+
+ QSslSocket clientSocket;
+ setupOcspClient(clientSocket, {}, server.peerVerifyName());
+ clientSocket.connectToHostEncrypted(server.hostName(), server.serverPort());
+ loop.enterLoopMSecs(handshakeTimeoutMS);
+
+ QVERIFY(!clientSocket.isEncrypted());
+ QVERIFY(containsError(clientSocket.sslErrors(), expectedError));
+}
+
+void tst_QOcsp::setupOcspClient(QSslSocket &clientSocket, const CertificateChain &caCerts, const QString &name)
+{
+ QSslConfiguration clientConfig = QSslConfiguration::defaultConfiguration();
+ clientConfig.setOcspStaplingEnabled(true);
+
+ if (caCerts.size()) {
+ auto roots = clientConfig.caCertificates();
+ roots.append(caCerts);
+ clientConfig.setCaCertificates(roots);
+ }
+
+ clientSocket.setSslConfiguration(clientConfig);
+ clientSocket.setPeerVerifyName(name);
+
+ connect(&clientSocket, socketErrorSignal, &loop, exitLoopSlot);
+ connect(&clientSocket, tlsErrorsSignal, &loop, exitLoopSlot);
+ connect(&clientSocket, &QSslSocket::encrypted, &loop, exitLoopSlot);
+}
+
+bool tst_QOcsp::containsOcspErrors(const QList<QSslError> &errorsFound) const
+{
+ for (auto code : ocspErrorCodes) {
+ if (containsError(errorsFound, code))
+ return true;
+ }
+ return false;
+}
+
+bool tst_QOcsp::containsError(const QList<QSslError> &errors, QSslError::SslError code)
+{
+ const auto it = std::find_if(errors.begin(), errors.end(),
+ [&code](const QSslError &other){return other.error() == code;});
+ return it != errors.end();
+}
+
+QByteArray tst_QOcsp::goodResponse(const CertificateChain &subject, const CertificateChain &responder,
+ const QSslKey &privateKey, long beforeNow, long afterNow)
+{
+ const OcspResponder builder(OcspTimeStamp(beforeNow, afterNow), subject, responder, privateKey);
+ return builder.buildResponse(OCSP_RESPONSE_STATUS_SUCCESSFUL, V_OCSP_CERTSTATUS_GOOD);
+}
+
+bool tst_QOcsp::loadPrivateKey(const QString &keyFileName, QSslKey &key)
+{
+ QFile keyFile(certDirPath + keyFileName);
+ if (!keyFile.open(QIODevice::ReadOnly))
+ return false;
+ key = QSslKey(keyFile.readAll(), QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey);
+ return !key.isNull();
+}
+
+CertificateChain tst_QOcsp::issuerToChain(const CertificateChain &chain)
+{
+ // Here we presume that, if the chain isn't a single self-signed certificate, its second
+ // entry is the issuer.
+ const int length = chain.size();
+ Q_ASSERT(length > 0);
+ return CertificateChain() << chain[length > 1 ? 1 : 0];
+}
+
+CertificateChain tst_QOcsp::subjectToChain(const CertificateChain &chain)
+{
+ Q_ASSERT(chain.size());
+ return CertificateChain() << chain[0];
+}
+
+QT_END_NAMESPACE
+
+QTEST_MAIN(tst_QOcsp)
+
+#include "tst_qocsp.moc"
diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
index 7f8580ddd6..0c8535f2de 100644
--- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
@@ -814,7 +814,7 @@ void tst_QSslCertificate::task256066toPem()
void tst_QSslCertificate::nulInCN()
{
-#if defined(QT_SECURETRANSPORT) || defined(Q_OS_WINRT)
+#if QT_CONFIG(securetransport) || defined(Q_OS_WINRT) || QT_CONFIG(schannel)
QSKIP("Generic QSslCertificatePrivate fails this test");
#endif
QList<QSslCertificate> certList =
@@ -833,7 +833,7 @@ void tst_QSslCertificate::nulInCN()
void tst_QSslCertificate::nulInSan()
{
-#if defined(QT_SECURETRANSPORT) || defined(Q_OS_WINRT)
+#if QT_CONFIG(securetransport) || defined(Q_OS_WINRT) || QT_CONFIG(schannel)
QSKIP("Generic QSslCertificatePrivate fails this test");
#endif
QList<QSslCertificate> certList =
@@ -968,7 +968,7 @@ void tst_QSslCertificate::subjectAndIssuerAttributes()
void tst_QSslCertificate::verify()
{
-#ifdef QT_SECURETRANSPORT
+#if QT_CONFIG(securetransport)
QSKIP("Not implemented in SecureTransport");
#endif
QList<QSslError> errors;
diff --git a/tests/auto/network/ssl/qsslkey/BLACKLIST b/tests/auto/network/ssl/qsslkey/BLACKLIST
index c0dfe5eb86..f9bc0af6de 100644
--- a/tests/auto/network/ssl/qsslkey/BLACKLIST
+++ b/tests/auto/network/ssl/qsslkey/BLACKLIST
@@ -1,2 +1,2 @@
-redhatenterpriselinuxworkstation-6.6
-rhel-7.4
+redhatenterpriselinuxworkstation
+rhel
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.der b/tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.der
new file mode 100644
index 0000000000..687009e087
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.pem b/tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.pem
new file mode 100644
index 0000000000..233e0dfb37
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pri-1024.pem
@@ -0,0 +1,9 @@
+-----BEGIN PRIVATE KEY-----
+MIIBIQIBADCBlQYJKoZIhvcNAQMBMIGHAoGBAIlk2YX0TJzfQ18ZzZroQoE5Nyjt
+bWxWRxBriG/c+JWhBwttVDb6lzLN+GVJxXVPfc6JJmDORVRxdxAlMqu++2Vqpsnl
+/H8xIXsxjuTcTjq8sXagGRa0LfeggkUD64tEhO4iZ8Q2TIdb3OHkAF0Sn+06b/0e
+iIz323Kywq0CsspTAgECBIGDAoGAQCo39UHP4s2ZVH4nOmWgNlb4JsHPX4EzqDBr
+ig46hvMLAFrILYnsCbqqD/+GNAUl1PV/nfEQoAk/HvtACqLFLG5/3jK2w6dVHGEo
+JnVOGz9vZpWUx+SCslHJRFaeE+6AAbbvrTr0lci29Ta4IesHlamRsj+ZaUrVX6k/
+/9OTGAo=
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.der b/tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.der
new file mode 100644
index 0000000000..e193f25f07
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.pem b/tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.pem
new file mode 100644
index 0000000000..32299b2b6c
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pri-2048.pem
@@ -0,0 +1,14 @@
+-----BEGIN PRIVATE KEY-----
+MIICJgIBADCCARcGCSqGSIb3DQEDATCCAQgCggEBAJsiReJxBjkC7Hy99AJATusq
+YsNQHhjoeTLPeHhsBuLtJK18Krk736V09efX6qeAEmvgMQbvbHqtrOaY3q6dut6C
+UTGVW+oVg3d/Y8qakkanvEnIlliaTIyWIz0JMjO2prC6AuU/QEzZcQVUS6bxyn3D
+iYFxCE6+7cJJpEH9HVbcrl+J6Ch6ax5rQGUyxpSMkmItLJx92upRxOnaxJMHR+ZF
+OSdDPfrkINpEzahnhteLszddyLasnE0or6ZnXYLvKsT1Uu6QwDc4EO1FJHScoeep
+zsK/VRcXzMpj/1Rl+F9E/AikCqHRrnvISt25wrK0Mwy854P2T7dJlBNewc6vE6MC
+AQIEggEEAoIBAGIctO30MoZ9DiuKbOBpqM9rl2bNH/I46GGcfEiSsO/zOw2V9WFC
+MxkjF0I1ilDfPY+Ag3bLB2n89DPcfXliYH9MFolehPTc1fWplhX3+ImdC6y95uXO
+FV5xtcEQCbPktnUtkUdcAT5831p9lu1QJo+DzMPrQa7axMLj8heBAi4VqAi+8Q31
+dpGKuhCUlgs+pLENx1o0QY2kui6Z5uR0YhmA547lwBWA4XEv5OV9ExmxytiatvOv
+PZKT1ID76LrL9bnnZvOEGczWLQvJ9VaaZSpoP+2QisRANWW4w57d+PIR1WR/FTSH
+F6xocElUoTzuiSPzRz60aw/KkisImBBKERQ=
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pri-512.der b/tests/auto/network/ssl/qsslkey/keys/dh-pri-512.der
new file mode 100644
index 0000000000..42ddbaaae2
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pri-512.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pri-512.pem b/tests/auto/network/ssl/qsslkey/keys/dh-pri-512.pem
new file mode 100644
index 0000000000..d2c3170b16
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pri-512.pem
@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIGcAgEAMFMGCSqGSIb3DQEDATBGAkEAvXx0QxJvIGA2ig8Je55R2rmeO4Ta2Esj
+ANLuyVIFRbtuLFsdhU+amUc8bs9RUQmkUNzS92jkpAfqtCv+mQ06EwIBAgRCAkBJ
+rDM0BTevOPIHpJzMtSQhw3e7Dr38HUfTn8zF3uYi1RCxjkTUukmzRLPTf0aqPgpd
+8dSldjG/11aZORl8/mXO
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.der b/tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.der
new file mode 100644
index 0000000000..2805a67633
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.pem b/tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.pem
new file mode 100644
index 0000000000..da4e327ac9
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pub-1024.pem
@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBHzCBlQYJKoZIhvcNAQMBMIGHAoGBAIlk2YX0TJzfQ18ZzZroQoE5NyjtbWxW
+RxBriG/c+JWhBwttVDb6lzLN+GVJxXVPfc6JJmDORVRxdxAlMqu++2Vqpsnl/H8x
+IXsxjuTcTjq8sXagGRa0LfeggkUD64tEhO4iZ8Q2TIdb3OHkAF0Sn+06b/0eiIz3
+23Kywq0CsspTAgECA4GEAAKBgA8pxU1sMDvRWKpvJKNs3jNhZPQWFf4Tszu/cMcb
+1qAQ/q0DRb41VvsUoMaCfef/plZleV4MG26owb574AJeC86wX5MbRDTPS4CzAn+I
+an92AZl3vlYRQ2sSo3ktkyhw6LV1iewi08Ky7J4rqvG0Oo335QGEZlK1OgwBsyh0
+FKLe
+-----END PUBLIC KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.der b/tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.der
new file mode 100644
index 0000000000..9e749d8a41
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.pem b/tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.pem
new file mode 100644
index 0000000000..f751157c87
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pub-2048.pem
@@ -0,0 +1,14 @@
+-----BEGIN PUBLIC KEY-----
+MIICJDCCARcGCSqGSIb3DQEDATCCAQgCggEBAJsiReJxBjkC7Hy99AJATusqYsNQ
+HhjoeTLPeHhsBuLtJK18Krk736V09efX6qeAEmvgMQbvbHqtrOaY3q6dut6CUTGV
+W+oVg3d/Y8qakkanvEnIlliaTIyWIz0JMjO2prC6AuU/QEzZcQVUS6bxyn3DiYFx
+CE6+7cJJpEH9HVbcrl+J6Ch6ax5rQGUyxpSMkmItLJx92upRxOnaxJMHR+ZFOSdD
+PfrkINpEzahnhteLszddyLasnE0or6ZnXYLvKsT1Uu6QwDc4EO1FJHScoeepzsK/
+VRcXzMpj/1Rl+F9E/AikCqHRrnvISt25wrK0Mwy854P2T7dJlBNewc6vE6MCAQID
+ggEFAAKCAQAUeWRuqjl7F84USogxJOM1M4y8yKtBYY2KLs5iIVhzV4UZ+9+cMNZA
+otLXJ/e8BH0diR0yk7tjxD6hjjqd+nyafIkJGPElDMnTbRPHg5zZYMmI5L/efdSm
+OPbM7QsodrYH5aoF4c7hjMb/cttYVG2Yupsy4tfORuDbwL70upqOo6rkVq55eOGS
+6pseEume/SD+7e3xIPJTkrMMzBFHG6H7bVHikT4O7yWV1iVzElj919yi+4Zy6TK8
+0hG6l31D5bsJpOduhHYZtN1yQpw+sGT6Yiepkjgt+1YkGFiiRs5vDl4DHeYHyAhL
+oH9uKcm3q4lhaOeT5ml765g87qQD6+vr
+-----END PUBLIC KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pub-512.der b/tests/auto/network/ssl/qsslkey/keys/dh-pub-512.der
new file mode 100644
index 0000000000..8a75babb6d
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pub-512.der
Binary files differ
diff --git a/tests/auto/network/ssl/qsslkey/keys/dh-pub-512.pem b/tests/auto/network/ssl/qsslkey/keys/dh-pub-512.pem
new file mode 100644
index 0000000000..1f4e5c9a47
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/keys/dh-pub-512.pem
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGaMFMGCSqGSIb3DQEDATBGAkEAvXx0QxJvIGA2ig8Je55R2rmeO4Ta2EsjANLu
+yVIFRbtuLFsdhU+amUc8bs9RUQmkUNzS92jkpAfqtCv+mQ06EwIBAgNDAAJARGBh
+9FmRRZZAxBtXZmS8wIgDwWvjB63GQ+E1pDLtZPztvPQ2eqUjTgSuGKV5cDankAV1
+Pkj/IA0Xl+SuFhLLew==
+-----END PUBLIC KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/keys/genkeys.sh b/tests/auto/network/ssl/qsslkey/keys/genkeys.sh
index 6210b42ab4..0106953bff 100755
--- a/tests/auto/network/ssl/qsslkey/keys/genkeys.sh
+++ b/tests/auto/network/ssl/qsslkey/keys/genkeys.sh
@@ -88,6 +88,27 @@ do
openssl ec -in ec-pri-$size-$curve.pem -pubout -out ec-pub-$size-$curve.der -outform DER
done
+#--- DH ----------------------------------------------------------------------------
+for size in 512 1024 2048
+do
+ echo -e "\ngenerating DH parameters to PEM file ..."
+ openssl dhparam -out dhpar-$size.pem $size
+
+ echo -e "\ngenerating DH private key to PEM file ..."
+ openssl genpkey -paramfile dhpar-$size.pem -out dh-pri-$size.pem
+
+ /bin/rm dhpar-$size.pem
+
+ echo -e "\ngenerating DH private key to DER file ..."
+ openssl pkey -in dh-pri-$size.pem -out dh-pri-$size.der -outform DER
+
+ echo -e "\ngenerating DH public key to PEM file ..."
+ openssl pkey -in dh-pri-$size.pem -pubout -out dh-pub-$size.pem
+
+ echo -e "\ngenerating DH public key to DER file ..."
+ openssl pkey -in dh-pri-$size.pem -pubout -out dh-pub-$size.der -outform DER
+done
+
#--- PKCS#8 ------------------------------------------------------------------------
# Note: We'll just grab some of the keys generated earlier and convert those
# https://www.openssl.org/docs/manmaster/man1/pkcs8.html#PKCS-5-v1.5-and-PKCS-12-algorithms
diff --git a/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes128.pem b/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes128.pem
new file mode 100644
index 0000000000..1a8751874e
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes128.pem
@@ -0,0 +1,30 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-128-CBC,A2A6F6BA67CFB2A992BA4FD3A0984B59
+
+L5G1mwcXwW30lFty1HaEHlswFXAGk9+qf0TdYYNAAvVrsTMgfMq/6xM5XWo3IgbN
+gG4K6T57gQkAywn+upqMHobB+7qc3DRzYlrm89gb74gHOe95l/iUJp4ii+ROLcmY
+fg/vNmDSB/D0eM91WfwId7ticYD29+BUbbnqSYyY2S7K7DytYLpXqg3u335GYCdT
+JwOsgcgbOICytkgK6c9ZDF3IrkzvWospVuiG5IfpLQkUXlJO3YGJ/oGf1BXnRd/b
+kTzUiimUVunX62muHaUXKkAmXS8FCdB0puI+52pzLJ5FHdFxCcnwSG09TmoXbwwa
+KoNM+IshNHPBGM7QxflVbSDxDaF1FWLwWSb8+Fhb2fTpfEGMxRCQ8HB1ZeMV4E5W
+DSiNhih8ziC0k957ZYv8iuLanoM1YYIdToHeBwjyBJA836eIcq/ElY2QtKUq5PRw
++sU1BdG+f9rf4iAPHpgWZAKFmJ42ya71bEEVAmfysAOPuc4hpn3SsDTtihm9RKc9
+l7LWJHaTnTu6yJA+vMJwAmPWg+IdG5vntbb93X4cgl5ZadBySRtv37wWyQPnQcFh
+ytX8z2CJNIFJb0ik8bXc39zOxExoTu/o86IuVJ87jFdS1wz3PRek6dJdl15icx76
+yAT0YB2/ZlRcRrO9hSm0D6P+sLOh//dyhhFAlUrDxqrKngI3KF4kgIrSlva3wmx2
+t16SiUKu6FGQZk6/KYOV27Cy+8UJEqlrNJzy+wSFi26d6e6xWTIR2ItzQCxhYDmq
+Tpx0Mh0ml2+bgrKRoDAL5z6UNy0Pc6bYQjvMznIeiuGvL8bAKTDUFwbmrZqNScsl
+tW7yNZG9iSJnAZGMTxuOhSvJRpQkxIcLICd+lsUxWZ2YvFxtSORuRNSwaC7oxtTD
+gIXV08ayoDbDmcguqTXWuCxtguxNANjhsUOetNHL8iP8QFrzAd5Ith9FgASCIBJJ
+3X7vL2YGc3E6DlAJE01loqySU/cnu6/zQapLB9BIzdtoLliwdrJ7PS8FSsBDfZ2X
+i6/7gb1jxYkJAS1NqrUMJw6BphRAwF8ny+FtPJ23Oaf+1vRIGiHsh8qw6XBfwFw9
+vtsUUL19r+8zMpvIB6gf34TLuM7AW7idu3c/486EWgZBDL3mOTd3fsyADKv/HCk7
+c8M2dsafxI6QkTlWsB8G5vkZ8lCGKHjrmPWjfD7NXi+CvXIrDY+gOeVN3PlQCU/2
+zF2vIxKtR0CXuxLzIjFhIgTYR5G5ZnddMmHeVkZdPRl7szGtrxOA4QGJQ6ZT4W2e
+O1whVU2KB0aBYskhClimapM5ypRkcNQ97cUR6/iNgdgSLqxGHCGeMR9bEyLl7/wr
+M0XeDjdVfm/Tj548oHgb0SKLsfL6nnKwqB2viKj81moK9A/wO1Ec9RNaw0jtp2j3
+VIUnPj0GqEjnkHc2jWY2yt4SD6e2AZHwLyWi1q3pixZo1CFiEgFXxwNyYwyeJ6jV
+CJHPRzoNjZ8dkvgRjsXdnWwN316JBNVcH8k7CCmg/8Gq3yAojXG1z8VJZ06GHckd
+meCL1t89OgwIAmIsysKu7+DrKtSlhkQclZmdG6IrQzuPKaHzTPTDgg3ef3jQ4YQO
+-----END RSA PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes192.pem b/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes192.pem
new file mode 100644
index 0000000000..db74877a5a
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes192.pem
@@ -0,0 +1,30 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-192-CBC,B408346ADE790F8CF0C902A4F0712B34
+
+SwzPBGxmwW2JddOyug1LrWjlZn8siSp5yezjK1x/z2+J2r/vvH8OjGnA387tFtae
+WVTmhT1ixQXMDI1UJuKx0gzrG2449c+BUVe2VXFPLZ2ocSgoXbBpVkfhEqtLAn91
+MSOpQMxvobQKltKhxgXGvuBJwhwfT7yK5HamohFGbxLUh4Dh+NBXwoYH4Qt+kM7C
+kV8VIKvkr/QAL/SRxNoY8rVResPgYvUjdtiGSNZ6CZhNRu42Q2FqbH817cE0NDsN
+il/xvWu4T/6VY1KpwMad/v6BhO45EeKz7YjbF/3Y5jj2JV9r45uf79lM9htMBw0d
+L+Cc3YHeFffgU8NZo0+iUoroXcb7mjWNmgYksbkaZPbLG383YXAXwbkQS7zDMVIx
+QhXn9w+78hNmEV/7PQ8mGXHEFwnfSR05phXoj8IyL5v0grRMA2dsjfxCgfQjH+kc
+Miwr5pD/Flw175OpPFCb2qladdTKoIWiVShspbteoRC0EuiWHzkl5z6Tneyb/sam
+yduLmSYD+RA6OBgUPY95Xm4AowlFFsuV/fxYZ53rFf4cZn9Z6VBVmvIEmapV7CtB
+JzyIVclocwM0ag5u/esdEt/jndJq9chZlIsDS30y3gP6Rlqk5mj90DAs98l28FVG
+WY9jP0babk8mxjYCcnAy7ikUc0D+vJVO6OTmfO3dkGjLpMBM6OlvfhN/0qeXrMDI
+nU2qOshUrVna2kRe6FrcvosFTD8wvQ1/BjmCp1iWWsGdc/q1BqI3pgOlgq3TYfl6
+iUJoji3V2iexH+GPkHsrs+kii1clsO2tgIP7doIooSVkcTsRTHHxKeeHn3qL2028
+pTvieIFD/T4biLZ9Q8sX3XWiHNmXZlCx8lX8MDjTavWES8gY4H5Sr6FjRMy1qpZY
+5w1aAyJ9YZ0J/jLPmFxt8mWgqHPiPlrQkryBBE3l1MSQ/hCEwlf9dP8a+ayINfd7
+3yNkHKjZ5fuoA+TZUQb/fyVM5o1zJ8ML01PaXWrMEgr3b36QL+Ivo2Rpnp9FpwuH
+E405cwCEy5fNSyhHFqqatCbsPl80nkP8OpW6jdWvNy9u0Ap9PS+MbHGq/pfkaazl
+fbKGOckrENzEXi6Uj/yY/0sMtbTJuC70n09X3edHyhl/RJPPUoNnwDM5W1FHfS3r
+qqSOl/r3y5pEErRdBpR4wEgB7DCLBALGDPfXNAAga4ez/Z2X9Zj234+4ZbUzWoLN
+1ER0QYyxLN7oz1qMA15J7nRyRIhDXNlXjyISOqy26T6/d4X0M+6RhNWfT/MHAjJ8
+6ogoGlQUITV3gPO4R6+FGZMF4R6zZXuKVtOXyzRwWnCLfo4gzBHmq+5mmCjGWRq8
+rSSkc6334bYuZOaEoR5EM5sh6ewkjSDPRrKR7EHO02YbiscyT/99TwT5pdIOPK3u
+2T6/40fSmCWQyBLuWxV9CMD+rB/q8Ja5KisEseck7PgI2pMmHfiD5yQXhKR9eDrB
+sRqZxjgRYxup+/0CIBshL8s1R88xelhXyIKyqFfVudM09yAZxEJLQhpDZ27g45ea
+FMX2Ve+ah2NjYBgzAhwKouWg5RyWb6X99NsrCEU75fn/ek86LGs3FxRgB4Uv7Udv
+-----END RSA PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes256.pem b/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes256.pem
new file mode 100644
index 0000000000..3d96b3166e
--- /dev/null
+++ b/tests/auto/network/ssl/qsslkey/rsa-with-passphrase-aes256.pem
@@ -0,0 +1,30 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-256-CBC,0F2F4695C8FFA35F4076FA0273A3A4E3
+
+GCnMcAhhGuNkJ7SSMBrgNOaDfRtG22J0mdf/0VbrMOJF40P13YBjN3Kd6LpTqBya
+TCIaxQqtfjH1ffhJk8qhwG7uJFGgcY9i0dkrEYklgThzTVqHp7FsQ2jjgJs5HKpc
+euuVD1bxtuc9qI2hq4miA7Z/uDe3M34n+3xcpqccWS1dLFNFZ+fIDwIazfDCu3ah
+fUQHDeWLwOqYiQxhUjjrHpZkI1FE2JYZFaf4zIagIIgzI2O+33fgbrTSoeN5meRs
+F7V2fhDpyEoIlchwAmp6HE6ngtKP4Ecju00yn99AO42fn097yEVwvGFClQTaIzur
+aPEtuKZ4kdc/lmzL2tqNcZckq28ZxpeMq0Fgdcpeg5sDcut811scOjQLFs551On1
+j3E1WfiLoBLKgd9cgmCrZb8hMO+UjcCaV7Jv3T9vDrbvhWs/YhTTwo8UFVplh7Vx
+R1h3cKfzlbtOC5WHXGNK5dBu7SnpEk0+pscY5cxTrzN0odjMbbsjZQmKDZXbmZON
+USzG3Qtafm6Nw/jwQeIjeqaxSho6xGdadTteGaURw6iGio3h0c6/dHayCsxye4tk
+vODa0ZdJASwVh1605qDk9n/iYUT5B46KJCYwO/iN2kUmOcUcZeBqEfV1GfRmepZJ
+bwM4sipzE15hOJ5DKSkHWnSlByRMAdSrMxZWraKUczn5frEBAqEFLlBAvf/FnjWa
+yZJitgryCI2Y2bww1DEMnTCX345kUQIFmmjbzTIXnM28gW+fR3Br9dCf2FAsLNKr
+tru1cYXocPaCUHEqS+XZqVb6BQVQ11YAAde0+x9RknJgsBc9Y7TLobaDBvrV5/nK
+T3vm8el08upum6qPTPh6Z0zBbjx4sp6DYT977N1dYeH4n+0JqcSwIeZg/VAdG0RL
+GzgZVADpiRlStmy65W95KExBjbO0tRTVk/nB1U1nfLbsswp9EKxXgwtpE/ECeTOi
+hzeJBSsXGZ/ZXu/y+NlIu0B/GasFbfrHKslSSrUPTjGEtaEbLNiOEu2Etu3lRcMZ
+oDtMxgNR0TUgCS5nte8lLauYYfB6IuxZXpvJdcI5ushqdOJvvYgJ9Yb2ZPlY8Bt5
+C92Ga69aPcMYk24BPpe15eBbXMsFF8RF+CprVoUPCc+PcuROtxdt+rqoqjQeZPmV
+WQqq+pT2bychpwD7U5jxQnu4u2m+zeBXyk80euBbwEld9BCgfk9mFj6CdBJSEiGV
+qL0ivxd3mDaIKPGd5tcbrOMK2uD7duZY7FrQpAYgryoQJoUHccL7cr9fDC75akHg
+AbrG1+vAYEla/y+SlOg5VTHhiuIl17ZGMViXSqh7iqnnD0dNsZ/HDvk3XouhNxQy
+RQmfdqyIqLuAcfWwQxCQ2E/oMUIHjNhyYmfLVLVGsfxuevMa1eJv7rZ5vIkD2Vpe
+4VveZkNDSpCCNqnvub8+bMW+UXyzbxEZbK5PLkRp7cvtKdA5CUbTlT4060IV0YZ1
+vfMtzXRw8JDD9c1F1WF14afk+y9kvZN88XOH12bSKj+Re06Xx7OzuYU8fclq/pZB
+UZVtRETFnLgb8neMuz3vCoPWK/DSHDZGAAicxq7vTljyoU/QP71Dw7UJIAuYx6Mc
+-----END RSA PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
index ddfe52c5e4..f94756ed73 100644
--- a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
+++ b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
@@ -30,6 +30,7 @@
#include <QtTest/QtTest>
#include <qsslkey.h>
#include <qsslsocket.h>
+#include <QScopeGuard>
#include <QtNetwork/qhostaddress.h>
#include <QtNetwork/qnetworkproxy.h>
@@ -63,7 +64,7 @@ class tst_QSslKey : public QObject
QList<KeyInfo> keyInfoList;
- void createPlainTestRows(bool filter = false, QSsl::EncodingFormat format = QSsl::EncodingFormat::Pem);
+ void createPlainTestRows(bool pemOnly = false);
public slots:
void initTestCase();
@@ -111,13 +112,14 @@ void tst_QSslKey::initTestCase()
QDir dir(testDataDir + "keys");
const QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::Readable);
- QRegExp rx(QLatin1String("^(rsa|dsa|ec)-(pub|pri)-(\\d+)-?[\\w-]*\\.(pem|der)$"));
+ QRegExp rx(QLatin1String("^(rsa|dsa|dh|ec)-(pub|pri)-(\\d+)-?[\\w-]*\\.(pem|der)$"));
for (const QFileInfo &fileInfo : fileInfoList) {
if (rx.indexIn(fileInfo.fileName()) >= 0) {
keyInfoList << KeyInfo(
fileInfo,
rx.cap(1) == QLatin1String("rsa") ? QSsl::Rsa :
- (rx.cap(1) == QLatin1String("dsa") ? QSsl::Dsa : QSsl::Ec),
+ rx.cap(1) == QLatin1String("dsa") ? QSsl::Dsa :
+ rx.cap(1) == QLatin1String("dh") ? QSsl::Dh : QSsl::Ec,
rx.cap(2) == QLatin1String("pub") ? QSsl::PublicKey : QSsl::PrivateKey,
rx.cap(3).toInt(),
rx.cap(4) == QLatin1String("pem") ? QSsl::Pem : QSsl::Der);
@@ -154,7 +156,7 @@ Q_DECLARE_METATYPE(QSsl::KeyAlgorithm)
Q_DECLARE_METATYPE(QSsl::KeyType)
Q_DECLARE_METATYPE(QSsl::EncodingFormat)
-void tst_QSslKey::createPlainTestRows(bool filter, QSsl::EncodingFormat format)
+void tst_QSslKey::createPlainTestRows(bool pemOnly)
{
QTest::addColumn<QString>("absFilePath");
QTest::addColumn<QSsl::KeyAlgorithm>("algorithm");
@@ -162,11 +164,11 @@ void tst_QSslKey::createPlainTestRows(bool filter, QSsl::EncodingFormat format)
QTest::addColumn<int>("length");
QTest::addColumn<QSsl::EncodingFormat>("format");
foreach (KeyInfo keyInfo, keyInfoList) {
- if (filter && keyInfo.format != format)
+ if (pemOnly && keyInfo.format != QSsl::EncodingFormat::Pem)
continue;
-#ifdef Q_OS_WINRT
+#if defined(Q_OS_WINRT) || QT_CONFIG(schannel)
if (keyInfo.fileInfo.fileName().contains("RC2-64"))
- continue; // WinRT treats RC2 as 128 bit
+ continue; // WinRT/Schannel treats RC2 as 128 bit
#endif
#if !defined(QT_NO_SSL) && defined(QT_NO_OPENSSL) // generic backend
if (keyInfo.fileInfo.fileName().contains(QRegularExpression("-aes\\d\\d\\d-")))
@@ -232,15 +234,50 @@ void tst_QSslKey::constructorHandle()
QByteArray passphrase;
if (QByteArray(QTest::currentDataTag()).contains("-pkcs8-"))
passphrase = "1234";
+
BIO* bio = q_BIO_new(q_BIO_s_mem());
q_BIO_write(bio, pem.constData(), pem.length());
- QSslKey key(func(bio, nullptr, nullptr, static_cast<void *>(passphrase.data())), type);
+ EVP_PKEY *origin = func(bio, nullptr, nullptr, static_cast<void *>(passphrase.data()));
+#if QT_CONFIG(opensslv11)
+ q_EVP_PKEY_up_ref(origin);
+#endif
+ QSslKey key(origin, type);
+#if !QT_CONFIG(opensslv11)
+ q_BIO_write(bio, pem.constData(), pem.length());
+ origin = func(bio, nullptr, nullptr, static_cast<void *>(passphrase.data()));
+#endif
q_BIO_free(bio);
+ EVP_PKEY *handle = q_EVP_PKEY_new();
+ switch (algorithm) {
+ case QSsl::Rsa:
+ q_EVP_PKEY_set1_RSA(handle, static_cast<RSA *>(key.handle()));
+ break;
+ case QSsl::Dsa:
+ q_EVP_PKEY_set1_DSA(handle, static_cast<DSA *>(key.handle()));
+ break;
+ case QSsl::Dh:
+ q_EVP_PKEY_set1_DH(handle, static_cast<DH *>(key.handle()));
+ break;
+#ifndef OPENSSL_NO_EC
+ case QSsl::Ec:
+ q_EVP_PKEY_set1_EC_KEY(handle, static_cast<EC_KEY *>(key.handle()));
+ break;
+#endif
+ default:
+ break;
+ }
+
+ auto cleanup = qScopeGuard([origin, handle] {
+ q_EVP_PKEY_free(origin);
+ q_EVP_PKEY_free(handle);
+ });
+
QVERIFY(!key.isNull());
QCOMPARE(key.algorithm(), algorithm);
QCOMPARE(key.type(), type);
QCOMPARE(key.length(), length);
+ QCOMPARE(q_EVP_PKEY_cmp(origin, handle), 1);
#endif
}
@@ -429,15 +466,25 @@ void tst_QSslKey::toEncryptedPemOrDer()
void tst_QSslKey::passphraseChecks_data()
{
QTest::addColumn<QString>("fileName");
-
- QTest::newRow("DES") << (testDataDir + "rsa-with-passphrase-des.pem");
- QTest::newRow("3DES") << (testDataDir + "rsa-with-passphrase-3des.pem");
- QTest::newRow("RC2") << (testDataDir + "rsa-with-passphrase-rc2.pem");
+ QTest::addColumn<QByteArray>("passphrase");
+
+ const QByteArray pass("123");
+ const QByteArray aesPass("1234");
+
+ QTest::newRow("DES") << QString(testDataDir + "rsa-with-passphrase-des.pem") << pass;
+ QTest::newRow("3DES") << QString(testDataDir + "rsa-with-passphrase-3des.pem") << pass;
+ QTest::newRow("RC2") << QString(testDataDir + "rsa-with-passphrase-rc2.pem") << pass;
+#if (!defined(QT_NO_OPENSSL) && !defined(OPENSSL_NO_AES)) || (defined(QT_NO_OPENSSL) && QT_CONFIG(ssl))
+ QTest::newRow("AES128") << QString(testDataDir + "rsa-with-passphrase-aes128.pem") << aesPass;
+ QTest::newRow("AES192") << QString(testDataDir + "rsa-with-passphrase-aes192.pem") << aesPass;
+ QTest::newRow("AES256") << QString(testDataDir + "rsa-with-passphrase-aes256.pem") << aesPass;
+#endif // (OpenSSL && AES) || generic backend
}
void tst_QSslKey::passphraseChecks()
{
QFETCH(QString, fileName);
+ QFETCH(QByteArray, passphrase);
QFile keyFile(fileName);
QVERIFY(keyFile.exists());
@@ -470,7 +517,7 @@ void tst_QSslKey::passphraseChecks()
keyFile.open(QIODevice::ReadOnly);
else
keyFile.reset();
- QSslKey key(&keyFile,QSsl::Rsa,QSsl::Pem, QSsl::PrivateKey, "123");
+ QSslKey key(&keyFile,QSsl::Rsa,QSsl::Pem, QSsl::PrivateKey, passphrase);
QVERIFY(!key.isNull()); // correct passphrase
}
}
@@ -515,79 +562,135 @@ void tst_QSslKey::encrypt_data()
QTest::addColumn<QByteArray>("key");
QTest::addColumn<QByteArray>("plainText");
QTest::addColumn<QByteArray>("cipherText");
+ QTest::addColumn<QByteArray>("iv");
+ QByteArray iv("abcdefgh");
QTest::newRow("DES-CBC, length 0")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray()
- << QByteArray::fromHex("956585228BAF9B1F");
+ << QByteArray::fromHex("956585228BAF9B1F")
+ << iv;
QTest::newRow("DES-CBC, length 1")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(1, 'a')
- << QByteArray::fromHex("E6880AF202BA3C12");
+ << QByteArray::fromHex("E6880AF202BA3C12")
+ << iv;
QTest::newRow("DES-CBC, length 2")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(2, 'a')
- << QByteArray::fromHex("A82492386EED6026");
+ << QByteArray::fromHex("A82492386EED6026")
+ << iv;
QTest::newRow("DES-CBC, length 3")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(3, 'a')
- << QByteArray::fromHex("90B76D5B79519CBA");
+ << QByteArray::fromHex("90B76D5B79519CBA")
+ << iv;
QTest::newRow("DES-CBC, length 4")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(4, 'a')
- << QByteArray::fromHex("63E3DD6FED87052A");
+ << QByteArray::fromHex("63E3DD6FED87052A")
+ << iv;
QTest::newRow("DES-CBC, length 5")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(5, 'a')
- << QByteArray::fromHex("03ACDB0EACBDFA94");
+ << QByteArray::fromHex("03ACDB0EACBDFA94")
+ << iv;
QTest::newRow("DES-CBC, length 6")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(6, 'a')
- << QByteArray::fromHex("7D95024E42A3A88A");
+ << QByteArray::fromHex("7D95024E42A3A88A")
+ << iv;
QTest::newRow("DES-CBC, length 7")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(7, 'a')
- << QByteArray::fromHex("5003436B8A8E42E9");
+ << QByteArray::fromHex("5003436B8A8E42E9")
+ << iv;
QTest::newRow("DES-CBC, length 8")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray(8, 'a')
- << QByteArray::fromHex("E4C1F054BF5521C0A4A0FD4A2BC6C1B1");
+ << QByteArray::fromHex("E4C1F054BF5521C0A4A0FD4A2BC6C1B1")
+ << iv;
QTest::newRow("DES-EDE3-CBC, length 0")
<< QSslKeyPrivate::DesEde3Cbc << QByteArray("0123456789abcdefghijklmn")
<< QByteArray()
- << QByteArray::fromHex("3B2B4CD0B0FD495F");
+ << QByteArray::fromHex("3B2B4CD0B0FD495F")
+ << iv;
QTest::newRow("DES-EDE3-CBC, length 8")
<< QSslKeyPrivate::DesEde3Cbc << QByteArray("0123456789abcdefghijklmn")
<< QByteArray(8, 'a')
- << QByteArray::fromHex("F2A5A87763C54A72A3224103D90CDB03");
+ << QByteArray::fromHex("F2A5A87763C54A72A3224103D90CDB03")
+ << iv;
QTest::newRow("RC2-40-CBC, length 0")
<< QSslKeyPrivate::Rc2Cbc << QByteArray("01234")
<< QByteArray()
- << QByteArray::fromHex("6D05D52392FF6E7A");
+ << QByteArray::fromHex("6D05D52392FF6E7A")
+ << iv;
QTest::newRow("RC2-40-CBC, length 8")
<< QSslKeyPrivate::Rc2Cbc << QByteArray("01234")
<< QByteArray(8, 'a')
- << QByteArray::fromHex("75768E64C5749072A5D168F3AFEB0005");
+ << QByteArray::fromHex("75768E64C5749072A5D168F3AFEB0005")
+ << iv;
QTest::newRow("RC2-64-CBC, length 0")
<< QSslKeyPrivate::Rc2Cbc << QByteArray("01234567")
<< QByteArray()
- << QByteArray::fromHex("ADAE6BF70F420130");
+ << QByteArray::fromHex("ADAE6BF70F420130")
+ << iv;
QTest::newRow("RC2-64-CBC, length 8")
<< QSslKeyPrivate::Rc2Cbc << QByteArray("01234567")
<< QByteArray(8, 'a')
- << QByteArray::fromHex("C7BF5C80AFBE9FBEFBBB9FD935F6D0DF");
+ << QByteArray::fromHex("C7BF5C80AFBE9FBEFBBB9FD935F6D0DF")
+ << iv;
QTest::newRow("RC2-128-CBC, length 0")
<< QSslKeyPrivate::Rc2Cbc << QByteArray("012345679abcdefg")
<< QByteArray()
- << QByteArray::fromHex("1E965D483A13C8FB");
+ << QByteArray::fromHex("1E965D483A13C8FB")
+ << iv;
QTest::newRow("RC2-128-CBC, length 8")
<< QSslKeyPrivate::Rc2Cbc << QByteArray("012345679abcdefg")
<< QByteArray(8, 'a')
- << QByteArray::fromHex("5AEC1A5B295660B02613454232F7DECE");
+ << QByteArray::fromHex("5AEC1A5B295660B02613454232F7DECE")
+ << iv;
+
+#if (!defined(QT_NO_OPENSSL) && !defined(OPENSSL_NO_AES)) || (defined(QT_NO_OPENSSL) && QT_CONFIG(ssl))
+ // AES needs a longer IV
+ iv = QByteArray("abcdefghijklmnop");
+ QTest::newRow("AES-128-CBC, length 0")
+ << QSslKeyPrivate::Aes128Cbc << QByteArray("012345679abcdefg")
+ << QByteArray()
+ << QByteArray::fromHex("28DE1A9AA26601C30DD2527407121D1A")
+ << iv;
+ QTest::newRow("AES-128-CBC, length 8")
+ << QSslKeyPrivate::Aes128Cbc << QByteArray("012345679abcdefg")
+ << QByteArray(8, 'a')
+ << QByteArray::fromHex("08E880B1BA916F061C1E801D7F44D0EC")
+ << iv;
+
+ QTest::newRow("AES-192-CBC, length 0")
+ << QSslKeyPrivate::Aes192Cbc << QByteArray("0123456789abcdefghijklmn")
+ << QByteArray()
+ << QByteArray::fromHex("E169E0E205CDC2BA895B7CF6097673B1")
+ << iv;
+ QTest::newRow("AES-192-CBC, length 8")
+ << QSslKeyPrivate::Aes192Cbc << QByteArray("0123456789abcdefghijklmn")
+ << QByteArray(8, 'a')
+ << QByteArray::fromHex("3A227D6A3A13237316D30AA17FF9B0A7")
+ << iv;
+
+ QTest::newRow("AES-256-CBC, length 0")
+ << QSslKeyPrivate::Aes256Cbc << QByteArray("0123456789abcdefghijklmnopqrstuv")
+ << QByteArray()
+ << QByteArray::fromHex("4BAACAA0D22199C97DE206C465B7B14A")
+ << iv;
+ QTest::newRow("AES-256-CBC, length 8")
+ << QSslKeyPrivate::Aes256Cbc << QByteArray("0123456789abcdefghijklmnopqrstuv")
+ << QByteArray(8, 'a')
+ << QByteArray::fromHex("879C8C25EC135CDF0B14490A0A7C2F67")
+ << iv;
+#endif // (OpenSSL && AES) || generic backend
}
void tst_QSslKey::encrypt()
@@ -596,13 +699,13 @@ void tst_QSslKey::encrypt()
QFETCH(QByteArray, key);
QFETCH(QByteArray, plainText);
QFETCH(QByteArray, cipherText);
- QByteArray iv("abcdefgh");
+ QFETCH(QByteArray, iv);
-#ifdef Q_OS_WINRT
- QEXPECT_FAIL("RC2-40-CBC, length 0", "WinRT treats RC2 as 128-bit", Abort);
- QEXPECT_FAIL("RC2-40-CBC, length 8", "WinRT treats RC2 as 128-bit", Abort);
- QEXPECT_FAIL("RC2-64-CBC, length 0", "WinRT treats RC2 as 128-bit", Abort);
- QEXPECT_FAIL("RC2-64-CBC, length 8", "WinRT treats RC2 as 128-bit", Abort);
+#if defined(Q_OS_WINRT) || QT_CONFIG(schannel)
+ QEXPECT_FAIL("RC2-40-CBC, length 0", "WinRT/Schannel treats RC2 as 128-bit", Abort);
+ QEXPECT_FAIL("RC2-40-CBC, length 8", "WinRT/Schannel treats RC2 as 128-bit", Abort);
+ QEXPECT_FAIL("RC2-64-CBC, length 0", "WinRT/Schannel treats RC2 as 128-bit", Abort);
+ QEXPECT_FAIL("RC2-64-CBC, length 8", "WinRT/Schannel treats RC2 as 128-bit", Abort);
#endif
QByteArray encrypted = QSslKeyPrivate::encrypt(cipher, plainText, key, iv);
QCOMPARE(encrypted, cipherText);
diff --git a/tests/auto/network/ssl/qsslsocket/BLACKLIST b/tests/auto/network/ssl/qsslsocket/BLACKLIST
index 8e1a55995e..555822d1e6 100644
--- a/tests/auto/network/ssl/qsslsocket/BLACKLIST
+++ b/tests/auto/network/ssl/qsslsocket/BLACKLIST
@@ -1 +1,7 @@
windows
+[connectToHostEncrypted]
+osx-10.13
+[setSslConfiguration]
+osx-10.13
+[connectToHostEncryptedWithVerificationPeerName]
+osx-10.13
diff --git a/tests/auto/network/ssl/qsslsocket/certs/127-0-0-1-as-CN.crt b/tests/auto/network/ssl/qsslsocket/certs/127-0-0-1-as-CN.crt
new file mode 100644
index 0000000000..2253469392
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/127-0-0-1-as-CN.crt
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIC/jCCAeagAwIBAgIJALBykhTMGxyEMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
+BAMMCTEyNy4wLjAuMTAeFw0xOTAxMjUyMjU5NDFaFw0xOTAyMjQyMjU5NDFaMBQx
+EjAQBgNVBAMMCTEyNy4wLjAuMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBALMEo10Xd6e5ot4Rg99VejDV/WNdAhY6+2Ilzuc+1XdzDpEQCuqWY2hAGX9m
+QXyFSR+UcpJWoUFUtJLsArXgRnxT+seHuemrLZGZOkDStUhKNpxfwOmhIT+sLocw
+qXCwNf9oG4//3evGwGqJhLDpGUhTNVCAMaalb1yrcXskYEkWdelzCTMzoirVvbS2
+6PH3kE+WPaBehMFruLtp+v7btnVIA305DwFy4CLq+HHFq59BbxRWxhRSkfXM8w+d
+g05P3VNpEb8Apn4rQ+n/xRz7oZs0Aou4GZG5JAgiLOibbVBK+xnD/UW/txeFWfRZ
+1dzIi4yAKkdwIhPAg+pP1G6tgZMCAwEAAaNTMFEwHQYDVR0OBBYEFNGZZgb9dbVY
+FKkkoQp/oAQ2/B51MB8GA1UdIwQYMBaAFNGZZgb9dbVYFKkkoQp/oAQ2/B51MA8G
+A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFvHy0RE96TDw6Q2pfCY
+aMz/X8dMAEMz5XqC7ImcztVg6VTRHpiw+QFQGqCLwNNuwkD9/pZ3IgVzSbRQw3oW
+HO7wD30NFl17LQMONBdcmR9FO5ruBh8G0Q1tmeKNtuwjzF3LAkj/J3tAn6eVmHi5
+75WEK/vQgy9XElN6EC6TgC/4B5/DPdZuEMdL7AP8ADLq9UVf8JC9c4QjU9G1Ce2R
+PzNwkhkLvtLlcxFcXciuc+oGhLENoJ2ZYHctT/ReOuBoRWEwIB1AeCWxitxjBZ6t
+lmZ+UewuzJ7y1X5maQZr7w3o8f6DwqwYrmMd45tS6jkHHAJlaCs/yCfVnLBwZ1l4
+NeM=
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cert.pem b/tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cert.pem
new file mode 100644
index 0000000000..43c8794ce2
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cert.pem
@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIIClTCCAf4CCQC2xMhNhwvATDANBgkqhkiG9w0BAQQFADCBjjELMAkGA1UEChMC
+UXQxGTAXBgNVBAsTEENvcmUgQW5kIE5ldHdvcmsxGzAZBgkqhkiG9w0BCQEWDG5v
+Ym9keS5xdC5pbzENMAsGA1UEBxMET3NsbzENMAsGA1UECBMET3NsbzELMAkGA1UE
+BhMCTk8xHDAaBgNVBAMUEyoudGVzdC1uZXQucXQubG9jYWwwHhcNMTgwNzAxMTgz
+NjI3WhcNNDgwNjIzMTgzNjI3WjCBjjELMAkGA1UEChMCUXQxGTAXBgNVBAsTEENv
+cmUgQW5kIE5ldHdvcmsxGzAZBgkqhkiG9w0BCQEWDG5vYm9keS5xdC5pbzENMAsG
+A1UEBxMET3NsbzENMAsGA1UECBMET3NsbzELMAkGA1UEBhMCTk8xHDAaBgNVBAMU
+EyoudGVzdC1uZXQucXQubG9jYWwwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
+AM2q22/WNMmn8cC+5EEYGeICySLmp9W6Ay6eKHr0Xxp3X3epETuPfvAuxp7rOtkS
+18EMUegkUj8jw0IMEcbyHKFC/rTCaYOt93CxGBXMIChiMPAsFeYzGa/D6xzAkfcR
+aJRQ+Ek3CDLXPnXfo7xpABXezYcPXAJrgsgBfWrwHdxzAgMBAAEwDQYJKoZIhvcN
+AQEEBQADgYEAZu/lQPy8PXeyyYGamOVms/FZKJ48BH1y8KC3BeBU5FYnhvgG7pz8
+Wz9JKvt2t/r45wQeAkNL6HnGUBhPJsHMjPHl5KktqN+db3D+FQygBeS2V1+zmC0X
+UZNRE4aWiHvt1Lq+pTx89SOMOpfqWfh4qTQKiE5jC2V4DeCNQ3u7uI8=
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/subjectAltNameIP.crt b/tests/auto/network/ssl/qsslsocket/certs/subjectAltNameIP.crt
new file mode 100644
index 0000000000..1377fbbabb
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/subjectAltNameIP.crt
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhigAwIBAgIURWaTvdnvU+Y+gPSONs61cMCH8JUwDQYJKoZIhvcNAQEL
+BQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5vcmcwHhcNMTkwMTA4MTExMDMxWhcNMTkw
+MjA3MTExMDMxWjAWMRQwEgYDVQQDDAtleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcN
+AQEBBQADggEPADCCAQoCggEBALf0qv9vl8RqvDHpEWfjum7DMrY8qrQnD77C/9f/
+Jl0Jo4UZiSBr1OYYVbiWJyodw8LpQQsKE+fQCo2STb5X9BldJpwpQvvVi6ygxdzN
+erJnB15G7xhUkGzDI2xhIJw3e6NGqf1PMB4CTNna6eN2cKYAxPfsWo5Pyh1YtU4s
+5h+B3+43ol32ccBiRo4YXagbYMELjspEf0AvObvMWSxZQoBHcJ5JGEApxcgvFu8i
+FBSALVy1IrYE3gXAv8TB0AK7IpuNIL48v5JXCA6JOGYbXFljj6aLFTzfrV3lzhQ0
+kqBVnQNqVfOUQNUhNT93bnEWVf911j/af5zuFtmr1kbMzucCAwEAAaN2MHQwHQYD
+VR0OBBYEFHZOtGQHV3roaj3nlQ1XRU0O+05TMB8GA1UdIwQYMBaAFHZOtGQHV3ro
+aj3nlQ1XRU0O+05TMA8GA1UdEwEB/wQFMAMBAf8wIQYDVR0RBBowGIcEwAUIEIcQ
+/oAAAAAAAAA8KS+h3UQHZTANBgkqhkiG9w0BAQsFAAOCAQEAcvqvtUSJ2JM3rrWj
+XjCOhosKY/cow4oDAVdn8AvI/Z4FJfcQZ1vA+ZM533/TaJStG4ThfjyX9t1Ej08M
+UzP4ZUyXJTv8o6C6j5e9ggEwo/cFp1iWP+xr2SXLJ2cabnu8db5FN5J75HjNsuVs
+PM95LYY9VlTm9W7JxMwkPEIG+wH5zu6Hj45UAAamwwjOKT1hJYumxdmLAp1oyG1p
+u86b8iVUjiHG+K6qr4hAKXhuSXE1s/pYqcn1feyk2SbkKvGFR6ad+gmdT4ZaiNYT
+nL8+t2wim/fRkV0CNdWrrJpWtLzjPq1al7g2eIopdLufSlqanouVpnzwuKGN5QC/
+MuDohA==
+-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
index 1260dc9410..03fbe89002 100644
--- a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
+++ b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
@@ -18,3 +18,10 @@ TESTDATA += certs
DEFINES += SRCDIR=\\\"$$PWD/\\\"
requires(qtConfig(private_tests))
+
+# DOCKERTODO: it's 'linux' because it requires cyrus, which
+# is linux-only for now ...
+linux {
+ QT_TEST_SERVER_LIST = squid danted cyrus apache2 echo
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index 72b5d06dd5..7912063bc8 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -74,6 +74,16 @@ typedef QSharedPointer<QSslSocket> QSslSocketPtr;
#endif
#endif // QT_NO_SSL
+// Detect ALPN (Application-Layer Protocol Negotiation) support
+#undef ALPN_SUPPORTED // Undef the variable first to be safe
+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_TLSEXT)
+#define ALPN_SUPPORTED 1
+#endif
+
+#if QT_CONFIG(schannel) && !defined(Q_CC_MINGW)
+#define ALPN_SUPPORTED 1
+#endif
+
#if defined Q_OS_HPUX && defined Q_CC_GNU
// This error is delivered every time we try to use the fluke CA
// certificate. For now we work around this bug. Task 202317.
@@ -233,18 +243,22 @@ private slots:
void verifyClientCertificate();
void readBufferMaxSize();
+ void allowedProtocolNegotiation();
+
#ifndef QT_NO_OPENSSL
void simplePskConnect_data();
void simplePskConnect();
void ephemeralServerKey_data();
void ephemeralServerKey();
- void allowedProtocolNegotiation();
void pskServer();
void forwardReadChannelFinished();
void signatureAlgorithm_data();
void signatureAlgorithm();
#endif
+ void disabledProtocols_data();
+ void disabledProtocols();
+
void setEmptyDefaultConfiguration(); // this test should be last
protected slots:
@@ -296,6 +310,21 @@ Q_DECLARE_METATYPE(tst_QSslSocket::PskConnectTestType)
int tst_QSslSocket::loopLevel = 0;
+namespace {
+
+QString httpServerCertChainPath()
+{
+ // DOCKERTODO: note how we use CA certificate on the real server. The docker container
+ // is using a different cert with a "special" CN. Check if it's important!
+#ifdef QT_TEST_SERVER
+ return tst_QSslSocket::testDataDir + QStringLiteral("certs/qt-test-server-cert.pem");
+#else
+ return tst_QSslSocket::testDataDir + QStringLiteral("certs/qt-test-server-cacert.pem");
+#endif // QT_TEST_SERVER
+}
+
+} // unnamed namespace
+
tst_QSslSocket::tst_QSslSocket()
{
#ifndef QT_NO_SSL
@@ -349,8 +378,19 @@ void tst_QSslSocket::initTestCase()
qDebug("Using SSL library %s (%ld)",
qPrintable(QSslSocket::sslLibraryVersionString()),
QSslSocket::sslLibraryVersionNumber());
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1081));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3129));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3130));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpServerName(), 443));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 993));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::echoServerName(), 13));
+#else
QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
-#endif
+#endif // QT_TEST_SERVER
+#endif // QT_NO_SSL
}
void tst_QSslSocket::init()
@@ -359,28 +399,29 @@ void tst_QSslSocket::init()
if (setProxy) {
#ifndef QT_NO_NETWORKPROXY
QFETCH_GLOBAL(int, proxyType);
- QString fluke = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString();
+ const QString socksProxyAddr = QtNetworkSettings::socksProxyServerIp().toString();
+ const QString httpProxyAddr = QtNetworkSettings::httpProxyServerIp().toString();
QNetworkProxy proxy;
switch (proxyType) {
case Socks5Proxy:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, fluke, 1080);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socksProxyAddr, 1080);
break;
case Socks5Proxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, fluke, 1081);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socksProxyAddr, 1081);
break;
case HttpProxy | NoAuth:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, fluke, 3128);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, httpProxyAddr, 3128);
break;
case HttpProxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, fluke, 3129);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, httpProxyAddr, 3129);
break;
case HttpProxy | AuthNtlm:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, fluke, 3130);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, httpProxyAddr, 3130);
break;
}
QNetworkProxy::setApplicationProxy(proxy);
@@ -541,7 +582,7 @@ void tst_QSslSocket::simpleConnect()
connect(&socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(exitLoop()));
// Start connecting
- socket.connectToHost(QtNetworkSettings::serverName(), 993);
+ socket.connectToHost(QtNetworkSettings::imapServerName(), 993);
QCOMPARE(socket.state(), QAbstractSocket::HostLookupState);
enterLoop(10);
@@ -596,7 +637,7 @@ void tst_QSslSocket::simpleConnectWithIgnore()
connect(&socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(exitLoop()));
// Start connecting
- socket.connectToHost(QtNetworkSettings::serverName(), 993);
+ socket.connectToHost(QtNetworkSettings::imapServerName(), 993);
QVERIFY(socket.state() != QAbstractSocket::UnconnectedState); // something must be in progress
enterLoop(10);
@@ -628,7 +669,7 @@ void tst_QSslSocket::sslErrors_data()
QString name = QtNetworkSettings::serverLocalName();
QTest::newRow(qPrintable(name)) << name << 993;
- name = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString();
+ name = QtNetworkSettings::httpServerIp().toString();
QTest::newRow(qPrintable(name)) << name << 443;
}
@@ -638,10 +679,27 @@ void tst_QSslSocket::sslErrors()
QFETCH(int, port);
QSslSocketPtr socket = newSocket();
+#if QT_CONFIG(schannel)
+ // Needs to be < 1.2 because of the old certificate and <= 1.0 because of the mail server
+ socket->setProtocol(QSsl::SslProtocol::TlsV1_0);
+#endif
QSignalSpy sslErrorsSpy(socket.data(), SIGNAL(sslErrors(QList<QSslError>)));
QSignalSpy peerVerifyErrorSpy(socket.data(), SIGNAL(peerVerifyError(QSslError)));
- socket->connectToHostEncrypted(host, port);
+#ifdef QT_TEST_SERVER
+ // On the old test server we had the same certificate on different services.
+ // The idea of this test is to fail with 'HostNameMismatch', when we're using
+ // either serverLocalName() or IP address directly. With Docker we connect
+ // to IMAP server, and we have to connect using imapServerName() and passing
+ // 'host' as peerVerificationName to the overload of connectToHostEncrypted().
+ if (port == 993) {
+ socket->connectToHostEncrypted(QtNetworkSettings::imapServerName(), port, host);
+ } else
+#endif // QT_TEST_SERVER
+ {
+ socket->connectToHostEncrypted(host, port);
+ }
+
if (!socket->waitForConnected())
QSKIP("Skipping flaky test - See QTBUG-29941");
socket->waitForEncrypted(10000);
@@ -717,14 +775,17 @@ void tst_QSslSocket::connectToHostEncrypted()
return;
QSslSocketPtr socket = newSocket();
+#if QT_CONFIG(schannel) // old certificate not supported with TLS 1.2
+ socket->setProtocol(QSsl::SslProtocol::TlsV1_1);
+#endif
this->socket = socket.data();
- QVERIFY(socket->addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem"));
+ QVERIFY(socket->addCaCertificates(httpServerCertChainPath()));
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
connect(socket.data(), SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(untrustedWorkaroundSlot(QList<QSslError>)));
#endif
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
// This should pass unconditionally when using fluke's CA certificate.
// or use untrusted certificate workaround
@@ -737,7 +798,7 @@ void tst_QSslSocket::connectToHostEncrypted()
QCOMPARE(socket->mode(), QSslSocket::SslClientMode);
- socket->connectToHost(QtNetworkSettings::serverName(), 13);
+ socket->connectToHost(QtNetworkSettings::echoServerName(), 13);
QCOMPARE(socket->mode(), QSslSocket::UnencryptedMode);
@@ -750,16 +811,23 @@ void tst_QSslSocket::connectToHostEncryptedWithVerificationPeerName()
return;
QSslSocketPtr socket = newSocket();
+#if QT_CONFIG(schannel) // old certificate not supported with TLS 1.2
+ socket->setProtocol(QSsl::SslProtocol::TlsV1_1);
+#endif
this->socket = socket.data();
- socket->addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem");
+ socket->addCaCertificates(httpServerCertChainPath());
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
connect(socket.data(), SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(untrustedWorkaroundSlot(QList<QSslError>)));
#endif
- // connect to the server with its local name, but use the full name for verification.
- socket->connectToHostEncrypted(QtNetworkSettings::serverLocalName(), 443, QtNetworkSettings::serverName());
+#ifdef QT_TEST_SERVER
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443, QtNetworkSettings::httpServerName());
+#else
+ // Connect to the server with its local name, but use the full name for verification.
+ socket->connectToHostEncrypted(QtNetworkSettings::serverLocalName(), 443, QtNetworkSettings::httpServerName());
+#endif
// This should pass unconditionally when using fluke's CA certificate.
QFETCH_GLOBAL(bool, setProxy);
@@ -781,7 +849,7 @@ void tst_QSslSocket::sessionCipher()
this->socket = socket.data();
connect(socket.data(), SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
QVERIFY(socket->sessionCipher().isNull());
- socket->connectToHost(QtNetworkSettings::serverName(), 443 /* https */);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443 /* https */);
QVERIFY2(socket->waitForConnected(10000), qPrintable(socket->errorString()));
QVERIFY(socket->sessionCipher().isNull());
socket->startClientEncryption();
@@ -816,12 +884,12 @@ void tst_QSslSocket::localCertificate()
// values. This test should just run the codepath inside qsslsocket_openssl.cpp
QSslSocketPtr socket = newSocket();
- QList<QSslCertificate> localCert = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> localCert = QSslCertificate::fromPath(httpServerCertChainPath());
socket->setCaCertificates(localCert);
socket->setLocalCertificate(testDataDir + "certs/fluke.cert");
socket->setPrivateKey(testDataDir + "certs/fluke.key");
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QFETCH_GLOBAL(bool, setProxy);
if (setProxy && !socket->waitForEncrypted(10000))
QSKIP("Skipping flaky test - See QTBUG-29941");
@@ -844,8 +912,7 @@ void tst_QSslSocket::peerCertificateChain()
QSslSocketPtr socket = newSocket();
this->socket = socket.data();
-
- QList<QSslCertificate> caCertificates = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> caCertificates = QSslCertificate::fromPath(httpServerCertChainPath());
QCOMPARE(caCertificates.count(), 1);
socket->addCaCertificates(caCertificates);
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
@@ -853,7 +920,7 @@ void tst_QSslSocket::peerCertificateChain()
this, SLOT(untrustedWorkaroundSlot(QList<QSslError>)));
#endif
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QCOMPARE(socket->mode(), QSslSocket::UnencryptedMode);
QVERIFY(socket->peerCertificateChain().isEmpty());
QFETCH_GLOBAL(bool, setProxy);
@@ -882,7 +949,7 @@ void tst_QSslSocket::peerCertificateChain()
QVERIFY(socket->waitForDisconnected());
// now do it again back to the original server
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
QCOMPARE(socket->mode(), QSslSocket::UnencryptedMode);
QVERIFY(socket->peerCertificateChain().isEmpty());
QVERIFY2(socket->waitForConnected(10000), qPrintable(socket->errorString()));
@@ -921,13 +988,13 @@ void tst_QSslSocket::privateKeyOpaque()
// values. This test should just run the codepath inside qsslsocket_openssl.cpp
QSslSocketPtr socket = newSocket();
- QList<QSslCertificate> localCert = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> localCert = QSslCertificate::fromPath(httpServerCertChainPath());
socket->setCaCertificates(localCert);
socket->setLocalCertificate(testDataDir + "certs/fluke.cert");
socket->setPrivateKey(QSslKey(reinterpret_cast<Qt::HANDLE>(pkey)));
socket->setPeerVerifyMode(QSslSocket::QueryPeer);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QFETCH_GLOBAL(bool, setProxy);
if (setProxy && !socket->waitForEncrypted(10000))
QSKIP("Skipping flaky test - See QTBUG-29941");
@@ -941,7 +1008,7 @@ void tst_QSslSocket::protocol()
QSslSocketPtr socket = newSocket();
this->socket = socket.data();
- QList<QSslCertificate> certs = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(httpServerCertChainPath());
socket->setCaCertificates(certs);
#ifdef QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
@@ -952,34 +1019,16 @@ void tst_QSslSocket::protocol()
QCOMPARE(socket->protocol(), QSsl::SecureProtocols);
QFETCH_GLOBAL(bool, setProxy);
{
- // qt-test-server allows SSLv3.
- socket->setProtocol(QSsl::SslV3);
- QCOMPARE(socket->protocol(), QSsl::SslV3);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
- if (setProxy && !socket->waitForEncrypted())
- QSKIP("Skipping flaky test - See QTBUG-29941");
- QCOMPARE(socket->protocol(), QSsl::SslV3);
- socket->abort();
- QCOMPARE(socket->protocol(), QSsl::SslV3);
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
- QVERIFY2(socket->waitForConnected(), qPrintable(socket->errorString()));
- socket->startClientEncryption();
- if (setProxy && !socket->waitForEncrypted())
- QSKIP("Skipping flaky test - See QTBUG-29941");
- QCOMPARE(socket->protocol(), QSsl::SslV3);
- socket->abort();
- }
- {
// qt-test-server allows TLSV1.
socket->setProtocol(QSsl::TlsV1_0);
QCOMPARE(socket->protocol(), QSsl::TlsV1_0);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
if (setProxy && !socket->waitForEncrypted())
QSKIP("Skipping flaky test - See QTBUG-29941");
QCOMPARE(socket->protocol(), QSsl::TlsV1_0);
socket->abort();
QCOMPARE(socket->protocol(), QSsl::TlsV1_0);
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
QVERIFY2(socket->waitForConnected(), qPrintable(socket->errorString()));
socket->startClientEncryption();
if (setProxy && !socket->waitForEncrypted())
@@ -992,13 +1041,13 @@ void tst_QSslSocket::protocol()
// qt-test-server probably doesn't allow TLSV1.1
socket->setProtocol(QSsl::TlsV1_1);
QCOMPARE(socket->protocol(), QSsl::TlsV1_1);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
if (setProxy && !socket->waitForEncrypted())
QSKIP("Skipping flaky test - See QTBUG-29941");
QCOMPARE(socket->protocol(), QSsl::TlsV1_1);
socket->abort();
QCOMPARE(socket->protocol(), QSsl::TlsV1_1);
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
QVERIFY2(socket->waitForConnected(), qPrintable(socket->errorString()));
socket->startClientEncryption();
if (setProxy && !socket->waitForEncrypted())
@@ -1010,13 +1059,13 @@ void tst_QSslSocket::protocol()
// qt-test-server probably doesn't allows TLSV1.2
socket->setProtocol(QSsl::TlsV1_2);
QCOMPARE(socket->protocol(), QSsl::TlsV1_2);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
if (setProxy && !socket->waitForEncrypted())
QSKIP("Skipping flaky test - See QTBUG-29941");
QCOMPARE(socket->protocol(), QSsl::TlsV1_2);
socket->abort();
QCOMPARE(socket->protocol(), QSsl::TlsV1_2);
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
QVERIFY2(socket->waitForConnected(), qPrintable(socket->errorString()));
socket->startClientEncryption();
if (setProxy && !socket->waitForEncrypted())
@@ -1025,37 +1074,37 @@ void tst_QSslSocket::protocol()
socket->abort();
}
#endif
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
+#ifdef TLS1_3_VERSION
{
- // qt-test-server allows SSLV2.
- socket->setProtocol(QSsl::SslV2);
- QCOMPARE(socket->protocol(), QSsl::SslV2);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ // qt-test-server probably doesn't allow TLSV1.3
+ socket->setProtocol(QSsl::TlsV1_3);
+ QCOMPARE(socket->protocol(), QSsl::TlsV1_3);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
if (setProxy && !socket->waitForEncrypted())
- QSKIP("Skipping flaky test - See QTBUG-29941");
- QCOMPARE(socket->protocol(), QSsl::SslV2);
+ QSKIP("TLS 1.3 is not supported by the test server or the test is flaky - see QTBUG-29941");
+ QCOMPARE(socket->protocol(), QSsl::TlsV1_3);
socket->abort();
- QCOMPARE(socket->protocol(), QSsl::SslV2);
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
- if (setProxy && !socket->waitForConnected())
- QSKIP("Skipping flaky test - See QTBUG-29941");
+ QCOMPARE(socket->protocol(), QSsl::TlsV1_3);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
+ QVERIFY2(socket->waitForConnected(), qPrintable(socket->errorString()));
socket->startClientEncryption();
if (setProxy && !socket->waitForEncrypted())
- QSKIP("Skipping flaky test - See QTBUG-29941");
+ QSKIP("TLS 1.3 is not supported by the test server or the test is flaky - see QTBUG-29941");
+ QCOMPARE(socket->sessionProtocol(), QSsl::TlsV1_3);
socket->abort();
}
-#endif
+#endif // TLS1_3_VERSION
{
// qt-test-server allows SSLV3, so it allows AnyProtocol.
socket->setProtocol(QSsl::AnyProtocol);
QCOMPARE(socket->protocol(), QSsl::AnyProtocol);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
if (setProxy && !socket->waitForEncrypted())
QSKIP("Skipping flaky test - See QTBUG-29941");
QCOMPARE(socket->protocol(), QSsl::AnyProtocol);
socket->abort();
QCOMPARE(socket->protocol(), QSsl::AnyProtocol);
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
QVERIFY2(socket->waitForConnected(), qPrintable(socket->errorString()));
socket->startClientEncryption();
if (setProxy && !socket->waitForEncrypted())
@@ -1064,16 +1113,16 @@ void tst_QSslSocket::protocol()
socket->abort();
}
{
- // qt-test-server allows SSLV3, so it allows NoSslV2
+ // qt-test-server allows TlsV1, so it allows TlsV1SslV3
socket->setProtocol(QSsl::TlsV1SslV3);
QCOMPARE(socket->protocol(), QSsl::TlsV1SslV3);
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
if (setProxy && !socket->waitForEncrypted())
QSKIP("Skipping flaky test - See QTBUG-29941");
QCOMPARE(socket->protocol(), QSsl::TlsV1SslV3);
socket->abort();
QCOMPARE(socket->protocol(), QSsl::TlsV1SslV3);
- socket->connectToHost(QtNetworkSettings::serverName(), 443);
+ socket->connectToHost(QtNetworkSettings::httpServerName(), 443);
if (setProxy && !socket->waitForConnected())
QSKIP("Skipping flaky test - See QTBUG-29941");
socket->startClientEncryption();
@@ -1187,119 +1236,50 @@ void tst_QSslSocket::protocolServerSide_data()
QTest::addColumn<QSsl::SslProtocol>("clientProtocol");
QTest::addColumn<bool>("works");
-#if QT_CONFIG(opensslv11)
-#if !defined(OPENSSL_NO_SSL2)
- // OpenSSL 1.1 has removed SSL2 support. But there is no OPENSSL_NO_SSL2 macro ...
-#define OPENSSL_NO_SSL2
-#endif // OPENSSL_NO_SSL2
-#endif // opensslv11
-
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("ssl2-ssl2") << QSsl::SslV2 << QSsl::SslV2 << false; // no idea why it does not work, but we don't care about SSL 2
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("ssl3-ssl3") << QSsl::SslV3 << QSsl::SslV3 << true;
-#endif
QTest::newRow("tls1.0-tls1.0") << QSsl::TlsV1_0 << QSsl::TlsV1_0 << true;
QTest::newRow("tls1ssl3-tls1ssl3") << QSsl::TlsV1SslV3 << QSsl::TlsV1SslV3 << true;
QTest::newRow("any-any") << QSsl::AnyProtocol << QSsl::AnyProtocol << true;
QTest::newRow("secure-secure") << QSsl::SecureProtocols << QSsl::SecureProtocols << true;
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("ssl2-ssl3") << QSsl::SslV2 << QSsl::SslV3 << false;
- QTest::newRow("ssl2-tls1.0") << QSsl::SslV2 << QSsl::TlsV1_0 << false;
- QTest::newRow("ssl2-tls1ssl3") << QSsl::SslV2 << QSsl::TlsV1SslV3 << false;
- QTest::newRow("ssl2-secure") << QSsl::SslV2 << QSsl::SecureProtocols << false;
- QTest::newRow("ssl2-any") << QSsl::SslV2 << QSsl::AnyProtocol << false; // no idea why it does not work, but we don't care about SSL 2
-#endif
-
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT) && !defined(OPENSSL_NO_SSL3)
- QTest::newRow("ssl3-ssl2") << QSsl::SslV3 << QSsl::SslV2 << false;
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("ssl3-tls1.0") << QSsl::SslV3 << QSsl::TlsV1_0 << false;
- QTest::newRow("ssl3-tls1ssl3") << QSsl::SslV3 << QSsl::TlsV1SslV3 << true;
- QTest::newRow("ssl3-secure") << QSsl::SslV3 << QSsl::SecureProtocols << false;
-#endif
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT) && !defined(OPENSSL_NO_SSL3)
- QTest::newRow("ssl3-any") << QSsl::SslV3 << QSsl::AnyProtocol << false; // we won't set a SNI header here because we connect to a
- // numerical IP, so OpenSSL will send a SSL 2 handshake
-#elif !defined(OPENSSL_NO_SSL3)
- QTest::newRow("ssl3-any") << QSsl::SslV3 << QSsl::AnyProtocol << true;
-#endif
-
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("tls1.0-ssl2") << QSsl::TlsV1_0 << QSsl::SslV2 << false;
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("tls1.0-ssl3") << QSsl::TlsV1_0 << QSsl::SslV3 << false;
-#endif
QTest::newRow("tls1-tls1ssl3") << QSsl::TlsV1_0 << QSsl::TlsV1SslV3 << true;
QTest::newRow("tls1.0-secure") << QSsl::TlsV1_0 << QSsl::SecureProtocols << true;
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("tls1.0-any") << QSsl::TlsV1_0 << QSsl::AnyProtocol << false; // we won't set a SNI header here because we connect to a
- // numerical IP, so OpenSSL will send a SSL 2 handshake
-#else
QTest::newRow("tls1.0-any") << QSsl::TlsV1_0 << QSsl::AnyProtocol << true;
-#endif
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("tls1ssl3-ssl2") << QSsl::TlsV1SslV3 << QSsl::SslV2 << false;
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("tls1ssl3-ssl3") << QSsl::TlsV1SslV3 << QSsl::SslV3 << true;
-#endif
QTest::newRow("tls1ssl3-tls1.0") << QSsl::TlsV1SslV3 << QSsl::TlsV1_0 << true;
QTest::newRow("tls1ssl3-secure") << QSsl::TlsV1SslV3 << QSsl::SecureProtocols << true;
QTest::newRow("tls1ssl3-any") << QSsl::TlsV1SslV3 << QSsl::AnyProtocol << true;
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("secure-ssl2") << QSsl::SecureProtocols << QSsl::SslV2 << false;
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("secure-ssl3") << QSsl::SecureProtocols << QSsl::SslV3 << false;
-#endif
QTest::newRow("secure-tls1.0") << QSsl::SecureProtocols << QSsl::TlsV1_0 << true;
QTest::newRow("secure-tls1ssl3") << QSsl::SecureProtocols << QSsl::TlsV1SslV3 << true;
QTest::newRow("secure-any") << QSsl::SecureProtocols << QSsl::AnyProtocol << true;
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("any-ssl2") << QSsl::AnyProtocol << QSsl::SslV2 << false; // no idea why it does not work, but we don't care about SSL 2
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("any-ssl3") << QSsl::AnyProtocol << QSsl::SslV3 << true;
-#endif
-
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("tls1.0orlater-ssl2") << QSsl::TlsV1_0OrLater << QSsl::SslV2 << false;
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("tls1.0orlater-ssl3") << QSsl::TlsV1_0OrLater << QSsl::SslV3 << false;
-#endif
QTest::newRow("tls1.0orlater-tls1.0") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_0 << true;
QTest::newRow("tls1.0orlater-tls1.1") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_1 << true;
QTest::newRow("tls1.0orlater-tls1.2") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_2 << true;
-
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("tls1.1orlater-ssl2") << QSsl::TlsV1_1OrLater << QSsl::SslV2 << false;
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("tls1.1orlater-ssl3") << QSsl::TlsV1_1OrLater << QSsl::SslV3 << false;
+#ifdef TLS1_3_VERSION
+ QTest::newRow("tls1.0orlater-tls1.3") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_3 << true;
#endif
QTest::newRow("tls1.1orlater-tls1.0") << QSsl::TlsV1_1OrLater << QSsl::TlsV1_0 << false;
QTest::newRow("tls1.1orlater-tls1.1") << QSsl::TlsV1_1OrLater << QSsl::TlsV1_1 << true;
QTest::newRow("tls1.1orlater-tls1.2") << QSsl::TlsV1_1OrLater << QSsl::TlsV1_2 << true;
-#if !defined(OPENSSL_NO_SSL2) && !defined(QT_SECURETRANSPORT)
- QTest::newRow("tls1.2orlater-ssl2") << QSsl::TlsV1_2OrLater << QSsl::SslV2 << false;
-#endif
-#if !defined(OPENSSL_NO_SSL3)
- QTest::newRow("tls1.2orlater-ssl3") << QSsl::TlsV1_2OrLater << QSsl::SslV3 << false;
+#ifdef TLS1_3_VERSION
+ QTest::newRow("tls1.1orlater-tls1.3") << QSsl::TlsV1_1OrLater << QSsl::TlsV1_3 << true;
#endif
+
QTest::newRow("tls1.2orlater-tls1.0") << QSsl::TlsV1_2OrLater << QSsl::TlsV1_0 << false;
QTest::newRow("tls1.2orlater-tls1.1") << QSsl::TlsV1_2OrLater << QSsl::TlsV1_1 << false;
QTest::newRow("tls1.2orlater-tls1.2") << QSsl::TlsV1_2OrLater << QSsl::TlsV1_2 << true;
+#ifdef TLS1_3_VERSION
+ QTest::newRow("tls1.2orlater-tls1.3") << QSsl::TlsV1_2OrLater << QSsl::TlsV1_3 << true;
+#endif
+#ifdef TLS1_3_VERSION
+ QTest::newRow("tls1.3orlater-tls1.0") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_0 << false;
+ QTest::newRow("tls1.3orlater-tls1.1") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_1 << false;
+ QTest::newRow("tls1.3orlater-tls1.2") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_2 << false;
+ QTest::newRow("tls1.3orlater-tls1.3") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_3 << true;
+#endif // TLS1_3_VERSION
QTest::newRow("any-tls1.0") << QSsl::AnyProtocol << QSsl::TlsV1_0 << true;
QTest::newRow("any-tls1ssl3") << QSsl::AnyProtocol << QSsl::TlsV1SslV3 << true;
@@ -1343,13 +1323,19 @@ void tst_QSslSocket::protocolServerSide()
QAbstractSocket::SocketState expectedState = (works) ? QAbstractSocket::ConnectedState : QAbstractSocket::UnconnectedState;
// Determine whether the client or the server caused the event loop
// to quit due to a socket error, and investigate the culprit.
- if (server.socket->error() != QAbstractSocket::UnknownSocketError) {
+ if (client.error() != QAbstractSocket::UnknownSocketError) {
+ // It can happen that the client, after TCP connection established, before
+ // incomingConnection() slot fired, hits TLS initialization error and stops
+ // the loop, so the server socket is not created yet.
+ if (server.socket)
+ QVERIFY(server.socket->error() == QAbstractSocket::UnknownSocketError);
+
+ QCOMPARE(client.state(), expectedState);
+ } else if (server.socket->error() != QAbstractSocket::UnknownSocketError) {
QVERIFY(client.error() == QAbstractSocket::UnknownSocketError);
QCOMPARE(server.socket->state(), expectedState);
- } else if (client.error() != QAbstractSocket::UnknownSocketError) {
- QVERIFY(server.socket->error() == QAbstractSocket::UnknownSocketError);
- QCOMPARE(client.state(), expectedState);
}
+
QCOMPARE(client.isEncrypted(), works);
}
@@ -1491,6 +1477,11 @@ void tst_QSslSocket::setLocalCertificateChain()
loop.exec();
QList<QSslCertificate> chain = socket->peerCertificateChain();
+#if QT_CONFIG(schannel)
+ QEXPECT_FAIL("", "Schannel cannot send intermediate certificates not "
+ "located in a system certificate store",
+ Abort);
+#endif
QCOMPARE(chain.size(), 2);
QCOMPARE(chain[0].serialNumber(), QByteArray("10:a0:ad:77:58:f6:6e:ae:46:93:a3:43:f9:59:8a:9e"));
QCOMPARE(chain[1].serialNumber(), QByteArray("3b:eb:99:c5:ea:d8:0b:5d:0b:97:5d:4f:06:75:4b:e1"));
@@ -1543,7 +1534,7 @@ void tst_QSslSocket::setSslConfiguration_data()
QTest::newRow("empty") << QSslConfiguration() << false;
QSslConfiguration conf = QSslConfiguration::defaultConfiguration();
QTest::newRow("default") << conf << false; // does not contain test server cert
- QList<QSslCertificate> testServerCert = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> testServerCert = QSslCertificate::fromPath(httpServerCertChainPath());
conf.setCaCertificates(testServerCert);
QTest::newRow("set-root-cert") << conf << true;
conf.setProtocol(QSsl::SecureProtocols);
@@ -1558,8 +1549,11 @@ void tst_QSslSocket::setSslConfiguration()
QSslSocketPtr socket = newSocket();
QFETCH(QSslConfiguration, configuration);
socket->setSslConfiguration(configuration);
+#if QT_CONFIG(schannel) // old certificate not supported with TLS 1.2
+ socket->setProtocol(QSsl::SslProtocol::TlsV1_1);
+#endif
this->socket = socket.data();
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QFETCH(bool, works);
QFETCH_GLOBAL(bool, setProxy);
if (setProxy && (socket->waitForEncrypted(10000) != works))
@@ -1579,7 +1573,7 @@ void tst_QSslSocket::waitForEncrypted()
this->socket = socket.data();
connect(this->socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QFETCH_GLOBAL(bool, setProxy);
if (setProxy && !socket->waitForEncrypted(10000))
@@ -1598,7 +1592,7 @@ void tst_QSslSocket::waitForEncryptedMinusOne()
this->socket = socket.data();
connect(this->socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QFETCH_GLOBAL(bool, setProxy);
if (setProxy && !socket->waitForEncrypted(-1))
@@ -1614,7 +1608,7 @@ void tst_QSslSocket::waitForConnectedEncryptedReadyRead()
this->socket = socket.data();
connect(this->socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 993);
+ socket->connectToHostEncrypted(QtNetworkSettings::imapServerName(), 993);
QVERIFY2(socket->waitForConnected(10000), qPrintable(socket->errorString()));
QFETCH_GLOBAL(bool, setProxy);
@@ -1646,7 +1640,7 @@ void tst_QSslSocket::addDefaultCaCertificate()
// Reset the global CA chain
QSslSocket::setDefaultCaCertificates(QSslSocket::systemCaCertificates());
- QList<QSslCertificate> flukeCerts = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> flukeCerts = QSslCertificate::fromPath(httpServerCertChainPath());
QCOMPARE(flukeCerts.size(), 1);
QList<QSslCertificate> globalCerts = QSslSocket::defaultCaCertificates();
QVERIFY(!globalCerts.contains(flukeCerts.first()));
@@ -1770,6 +1764,25 @@ void tst_QSslSocket::isMatchingHostname()
QCOMPARE(QSslSocketPrivate::isMatchingHostname(cert, QString::fromUtf8("foo.foo.xn--schufele-2za.de")), false);
QCOMPARE(QSslSocketPrivate::isMatchingHostname(cert, QString::fromUtf8("www.schaufele.de")), false);
QCOMPARE(QSslSocketPrivate::isMatchingHostname(cert, QString::fromUtf8("www.schufele.de")), false);
+
+ /* Generated with the following command (only valid with openssl >= 1.1.1 due to "-addext"):
+ openssl req -x509 -nodes -subj "/CN=example.org" \
+ -addext "subjectAltName = IP:192.5.8.16, IP:fe80::3c29:2fa1:dd44:765" \
+ -newkey rsa:2048 -keyout /dev/null -out subjectAltNameIP.crt
+ */
+ certs = QSslCertificate::fromPath(testDataDir + "certs/subjectAltNameIP.crt");
+ QVERIFY(!certs.isEmpty());
+ cert = certs.first();
+ QCOMPARE(QSslSocketPrivate::isMatchingHostname(cert, QString::fromUtf8("192.5.8.16")), true);
+ QCOMPARE(QSslSocketPrivate::isMatchingHostname(cert, QString::fromUtf8("fe80::3c29:2fa1:dd44:765")), true);
+
+ /* openssl req -x509 -nodes -new -newkey rsa -keyout /dev/null -out 127-0-0-1-as-CN.crt \
+ -subj "/CN=127.0.0.1"
+ */
+ certs = QSslCertificate::fromPath(testDataDir + "certs/127-0-0-1-as-CN.crt");
+ QVERIFY(!certs.isEmpty());
+ cert = certs.first();
+ QCOMPARE(QSslSocketPrivate::isMatchingHostname(cert, QString::fromUtf8("127.0.0.1")), true);
}
void tst_QSslSocket::wildcard()
@@ -1998,7 +2011,7 @@ void tst_QSslSocket::setReadBufferSize_task_250027()
QSslSocketPtr socket = newSocket();
socket->setReadBufferSize(1000); // limit to 1 kb/sec
socket->ignoreSslErrors();
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
socket->ignoreSslErrors();
QVERIFY2(socket->waitForConnected(10*1000), qPrintable(socket->errorString()));
if (setProxy && !socket->waitForEncrypted(10*1000))
@@ -2011,7 +2024,7 @@ void tst_QSslSocket::setReadBufferSize_task_250027()
// provoke a response by sending a request
socket->write("GET /qtest/fluke.gif HTTP/1.0\n"); // this file is 27 KB
socket->write("Host: ");
- socket->write(QtNetworkSettings::serverName().toLocal8Bit().constData());
+ socket->write(QtNetworkSettings::httpServerName().toLocal8Bit().constData());
socket->write("\n");
socket->write("Connection: close\n");
socket->write("\n");
@@ -2126,7 +2139,7 @@ protected:
// delayed reading data
QTest::qSleep(100);
- if (!socket->waitForReadyRead(2000))
+ if (!socket->waitForReadyRead(2000) && socket->bytesAvailable() == 0)
return; // error
socket->readAll();
dataReadSemaphore.release();
@@ -2197,7 +2210,7 @@ void tst_QSslSocket::waitForMinusOne()
socket.write("How are you doing?");
QVERIFY(socket.bytesToWrite() != 0);
QVERIFY(socket.waitForBytesWritten(-1));
- QVERIFY(server.dataReadSemaphore.tryAcquire(1, 2000));
+ QVERIFY(server.dataReadSemaphore.tryAcquire(1, 2500));
// third verification: it should wait for 100 ms:
QVERIFY(socket.waitForReadyRead(-1));
@@ -2252,6 +2265,9 @@ void tst_QSslSocket::verifyMode()
return;
QSslSocket socket;
+#if QT_CONFIG(schannel) // old certificate not supported with TLS 1.2
+ socket.setProtocol(QSsl::SslProtocol::TlsV1_1);
+#endif
QCOMPARE(socket.peerVerifyMode(), QSslSocket::AutoVerifyPeer);
socket.setPeerVerifyMode(QSslSocket::VerifyNone);
QCOMPARE(socket.peerVerifyMode(), QSslSocket::VerifyNone);
@@ -2259,7 +2275,7 @@ void tst_QSslSocket::verifyMode()
socket.setPeerVerifyMode(QSslSocket::VerifyPeer);
QCOMPARE(socket.peerVerifyMode(), QSslSocket::VerifyPeer);
- socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
if (socket.waitForEncrypted())
QSKIP("Skipping flaky test - See QTBUG-29941");
@@ -2298,7 +2314,7 @@ void tst_QSslSocket::verifyDepth()
void tst_QSslSocket::disconnectFromHostWhenConnecting()
{
QSslSocketPtr socket = newSocket();
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 993);
+ socket->connectToHostEncrypted(QtNetworkSettings::imapServerName(), 993);
socket->ignoreSslErrors();
socket->write("XXXX LOGOUT\r\n");
QAbstractSocket::SocketState state = socket->state();
@@ -2327,7 +2343,7 @@ void tst_QSslSocket::disconnectFromHostWhenConnecting()
void tst_QSslSocket::disconnectFromHostWhenConnected()
{
QSslSocketPtr socket = newSocket();
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 993);
+ socket->connectToHostEncrypted(QtNetworkSettings::imapServerName(), 993);
socket->ignoreSslErrors();
if (!socket->waitForEncrypted(5000))
QSKIP("Skipping flaky test - See QTBUG-29941");
@@ -2414,13 +2430,13 @@ void tst_QSslSocket::resetProxy()
// make sure the connection works, and then set a nonsense proxy, and then
// make sure it does not work anymore
QSslSocket socket;
- socket.addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem");
+ socket.addCaCertificates(httpServerCertChainPath());
socket.setProxy(goodProxy);
- socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QVERIFY2(socket.waitForConnected(10000), qPrintable(socket.errorString()));
socket.abort();
socket.setProxy(badProxy);
- socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QVERIFY(! socket.waitForConnected(10000));
// don't forget to login
@@ -2433,13 +2449,13 @@ void tst_QSslSocket::resetProxy()
// set the nonsense proxy and make sure the connection does not work,
// and then set the right proxy and make sure it works
QSslSocket socket2;
- socket2.addCaCertificates(testDataDir + "certs/qt-test-server-cacert.pem");
+ socket2.addCaCertificates(httpServerCertChainPath());
socket2.setProxy(badProxy);
- socket2.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket2.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QVERIFY(! socket2.waitForConnected(10000));
socket2.abort();
socket2.setProxy(goodProxy);
- socket2.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket2.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QVERIFY2(socket2.waitForConnected(10000), qPrintable(socket.errorString()));
#endif // QT_NO_NETWORKPROXY
}
@@ -2452,7 +2468,7 @@ void tst_QSslSocket::ignoreSslErrorsList_data()
// construct the list of errors that we will get with the SSL handshake and that we will ignore
QList<QSslError> expectedSslErrors;
// fromPath gives us a list of certs, but it actually only contains one
- QList<QSslCertificate> certs = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(httpServerCertChainPath());
QSslError rightError(FLUKE_CERTIFICATE_ERROR, certs.at(0));
QSslError wrongError(FLUKE_CERTIFICATE_ERROR);
@@ -2483,7 +2499,7 @@ void tst_QSslSocket::ignoreSslErrorsList()
QFETCH(int, expectedSslErrorSignalCount);
QSignalSpy sslErrorsSpy(&socket, SIGNAL(error(QAbstractSocket::SocketError)));
- socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
bool expectEncryptionSuccess = (expectedSslErrorSignalCount == 0);
if (socket.waitForEncrypted(10000) != expectEncryptionSuccess)
@@ -2514,7 +2530,7 @@ void tst_QSslSocket::ignoreSslErrorsListWithSlot()
this, SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
connect(&socket, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(ignoreErrorListSlot(QList<QSslError>)));
- socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QFETCH(int, expectedSslErrorSignalCount);
bool expectEncryptionSuccess = (expectedSslErrorSignalCount == 0);
@@ -2552,15 +2568,18 @@ void tst_QSslSocket::abortOnSslErrors()
void tst_QSslSocket::readFromClosedSocket()
{
QSslSocketPtr socket = newSocket();
+#if QT_CONFIG(schannel) // old certificate not supported with TLS 1.2
+ socket->setProtocol(QSsl::SslProtocol::TlsV1_1);
+#endif
socket->ignoreSslErrors();
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
socket->ignoreSslErrors();
socket->waitForConnected();
socket->waitForEncrypted();
// provoke a response by sending a request
socket->write("GET /qtest/fluke.gif HTTP/1.1\n");
socket->write("Host: ");
- socket->write(QtNetworkSettings::serverName().toLocal8Bit().constData());
+ socket->write(QtNetworkSettings::httpServerName().toLocal8Bit().constData());
socket->write("\n");
socket->write("\n");
socket->waitForBytesWritten();
@@ -2584,7 +2603,7 @@ void tst_QSslSocket::writeBigChunk()
this->socket = socket.data();
connect(this->socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QByteArray data;
data.resize(1024*1024*10); // 10 MB
@@ -2743,7 +2762,9 @@ void tst_QSslSocket::resume_data()
QTest::newRow("DoNotIgnoreErrors") << false << QList<QSslError>() << false;
QTest::newRow("ignoreAllErrors") << true << QList<QSslError>() << true;
- QList<QSslCertificate> certs = QSslCertificate::fromPath(testDataDir + "certs/qt-test-server-cacert.pem");
+ // Note, httpServerCertChainPath() it's ... because we use the same certificate on
+ // different services. We'll be actually connecting to IMAP server.
+ QList<QSslCertificate> certs = QSslCertificate::fromPath(httpServerCertChainPath());
QSslError rightError(FLUKE_CERTIFICATE_ERROR, certs.at(0));
QSslError wrongError(FLUKE_CERTIFICATE_ERROR);
errorsList.append(wrongError);
@@ -2776,7 +2797,7 @@ void tst_QSslSocket::resume()
this, SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
connect(&socket, SIGNAL(error(QAbstractSocket::SocketError)), &QTestEventLoop::instance(), SLOT(exitLoop()));
- socket.connectToHostEncrypted(QtNetworkSettings::serverName(), 993);
+ socket.connectToHostEncrypted(QtNetworkSettings::imapServerName(), 993);
QTestEventLoop::instance().enterLoop(10);
QFETCH_GLOBAL(bool, setProxy);
if (setProxy && QTestEventLoop::instance().timeout())
@@ -3279,14 +3300,14 @@ void tst_QSslSocket::verifyClientCertificate_data()
void tst_QSslSocket::verifyClientCertificate()
{
-#ifdef QT_SECURETRANSPORT
+#if QT_CONFIG(securetransport)
// We run both client and server on the same machine,
// this means, client can update keychain with client's certificates,
// and server later will use the same certificates from the same
// keychain thus making tests fail (wrong number of certificates,
// success instead of failure etc.).
QSKIP("This test can not work with Secure Transport");
-#endif
+#endif // QT_CONFIG(securetransport)
#ifdef Q_OS_WINRT
QSKIP("Server-side encryption is not implemented on WinRT.");
#endif
@@ -3300,6 +3321,11 @@ void tst_QSslSocket::verifyClientCertificate()
return;
QFETCH(QSslSocket::PeerVerifyMode, peerVerifyMode);
+#if QT_CONFIG(schannel)
+ if (peerVerifyMode == QSslSocket::QueryPeer || peerVerifyMode == QSslSocket::AutoVerifyPeer)
+ QSKIP("Schannel doesn't tackle requesting a certificate and not receiving one.");
+#endif
+
SslServer server;
server.addCaCertificates = testDataDir + "certs/bogus-ca.crt";
server.ignoreSslErrors = false;
@@ -3330,6 +3356,14 @@ void tst_QSslSocket::verifyClientCertificate()
// check server socket
QVERIFY(server.socket);
+#if QT_CONFIG(schannel)
+ // As additional info to the QEXPECT_FAIL below:
+ // This is because schannel treats it as an error (client side) if you don't have a certificate
+ // when asked for one.
+ QEXPECT_FAIL("NoCert:VerifyPeer",
+ "The client disconnects first, which causes the event "
+ "loop to quit before the server disconnects.", Continue);
+#endif
QCOMPARE(server.socket->state(), expectedState);
QCOMPARE(server.socket->isEncrypted(), works);
@@ -3338,6 +3372,13 @@ void tst_QSslSocket::verifyClientCertificate()
QVERIFY(server.socket->peerCertificateChain().isEmpty());
} else {
QCOMPARE(server.socket->peerCertificate(), clientCerts.first());
+#if QT_CONFIG(schannel)
+ if (clientCerts.count() == 1 && server.socket->peerCertificateChain().count() == 2) {
+ QEXPECT_FAIL("",
+ "Schannel includes the entire chain, not just the leaf and intermediates",
+ Continue);
+ }
+#endif
QCOMPARE(server.socket->peerCertificateChain(), clientCerts);
}
@@ -3348,7 +3389,7 @@ void tst_QSslSocket::verifyClientCertificate()
void tst_QSslSocket::readBufferMaxSize()
{
-#ifdef QT_SECURETRANSPORT
+#if QT_CONFIG(securetransport) || QT_CONFIG(schannel)
// QTBUG-55170:
// SecureTransport back-end was ignoring read-buffer
// size limit, resulting (potentially) in a constantly
@@ -3405,7 +3446,7 @@ void tst_QSslSocket::readBufferMaxSize()
QCOMPARE(client->bytesAvailable() + readSoFar, message.size());
#else
// Not needed, QSslSocket works correctly with other back-ends.
-#endif
+#endif // QT_CONFIG(securetransport) || QT_CONFIG(schannel)
}
void tst_QSslSocket::setEmptyDefaultConfiguration() // this test should be last, as it has some side effects
@@ -3422,12 +3463,57 @@ void tst_QSslSocket::setEmptyDefaultConfiguration() // this test should be last,
socket = client.data();
connect(socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
- socket->connectToHostEncrypted(QtNetworkSettings::serverName(), 443);
+ socket->connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
QFETCH_GLOBAL(bool, setProxy);
if (setProxy && socket->waitForEncrypted(4000))
QSKIP("Skipping flaky test - See QTBUG-29941");
}
+void tst_QSslSocket::allowedProtocolNegotiation()
+{
+#ifndef ALPN_SUPPORTED
+ QSKIP("ALPN is unsupported, skipping test");
+#endif
+
+#if QT_CONFIG(schannel)
+ if (QOperatingSystemVersion::current() < QOperatingSystemVersion::Windows8_1)
+ QSKIP("ALPN is not supported on this version of Windows using Schannel.");
+#endif
+
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy)
+ return;
+
+
+ const QByteArray expectedNegotiated("cool-protocol");
+ QList<QByteArray> serverProtos;
+ serverProtos << expectedNegotiated << "not-so-cool-protocol";
+ QList<QByteArray> clientProtos;
+ clientProtos << "uber-cool-protocol" << expectedNegotiated << "not-so-cool-protocol";
+
+
+ SslServer server;
+ server.config.setAllowedNextProtocols(serverProtos);
+ QVERIFY(server.listen());
+
+ QSslSocket clientSocket;
+ auto configuration = clientSocket.sslConfiguration();
+ configuration.setAllowedNextProtocols(clientProtos);
+ clientSocket.setSslConfiguration(configuration);
+
+ clientSocket.connectToHostEncrypted("127.0.0.1", server.serverPort());
+ clientSocket.ignoreSslErrors();
+
+ QEventLoop loop;
+ QTimer::singleShot(5000, &loop, SLOT(quit()));
+ connect(&clientSocket, SIGNAL(encrypted()), &loop, SLOT(quit()));
+ loop.exec();
+
+ QVERIFY(server.socket->sslConfiguration().nextNegotiatedProtocol() ==
+ clientSocket.sslConfiguration().nextNegotiatedProtocol());
+ QVERIFY(server.socket->sslConfiguration().nextNegotiatedProtocol() == expectedNegotiated);
+}
+
#ifndef QT_NO_OPENSSL
class PskProvider : public QObject
{
@@ -3505,7 +3591,12 @@ protected:
socket = new QSslSocket(this);
socket->setSslConfiguration(config);
socket->setPeerVerifyMode(peerVerifyMode);
- socket->setProtocol(protocol);
+ if (QSslSocket::sslLibraryVersionNumber() > 0x10101000L) {
+ // FIXME. With OpenSSL 1.1.1 and TLS 1.3 PSK auto-test is broken.
+ socket->setProtocol(QSsl::TlsV1_2);
+ } else {
+ socket->setProtocol(protocol);
+ }
if (ignoreSslErrors)
connect(socket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(ignoreErrorSlot()));
@@ -3836,55 +3927,24 @@ void tst_QSslSocket::ephemeralServerKey()
QCOMPARE(client->sslConfiguration().ephemeralServerKey().isNull(), emptyKey);
}
-void tst_QSslSocket::allowedProtocolNegotiation()
-{
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_TLSEXT)
-
- QFETCH_GLOBAL(bool, setProxy);
- if (setProxy)
- return;
-
- const QByteArray expectedNegotiated("cool-protocol");
- QList<QByteArray> serverProtos;
- serverProtos << expectedNegotiated << "not-so-cool-protocol";
- QList<QByteArray> clientProtos;
- clientProtos << "uber-cool-protocol" << expectedNegotiated << "not-so-cool-protocol";
-
-
- SslServer server;
- server.config.setAllowedNextProtocols(serverProtos);
- QVERIFY(server.listen());
-
- QSslSocket clientSocket;
- auto configuration = clientSocket.sslConfiguration();
- configuration.setAllowedNextProtocols(clientProtos);
- clientSocket.setSslConfiguration(configuration);
-
- clientSocket.connectToHostEncrypted("127.0.0.1", server.serverPort());
- clientSocket.ignoreSslErrors();
-
- QEventLoop loop;
- QTimer::singleShot(5000, &loop, SLOT(quit()));
- connect(&clientSocket, SIGNAL(encrypted()), &loop, SLOT(quit()));
- loop.exec();
-
- QVERIFY(server.socket->sslConfiguration().nextNegotiatedProtocol() ==
- clientSocket.sslConfiguration().nextNegotiatedProtocol());
- QVERIFY(server.socket->sslConfiguration().nextNegotiatedProtocol() == expectedNegotiated);
-
-#endif // OPENSSL_VERSION_NUMBER
-}
-
void tst_QSslSocket::pskServer()
{
#ifdef Q_OS_WINRT
QSKIP("Server-side encryption is not implemented on WinRT.");
#endif
+#if QT_CONFIG(schannel)
+ QSKIP("Schannel does not have PSK support implemented.");
+#endif
QFETCH_GLOBAL(bool, setProxy);
if (!QSslSocket::supportsSsl() || setProxy)
return;
QSslSocket socket;
+#ifdef TLS1_3_VERSION
+ // FIXME: with OpenSSL 1.1.1 (thus TLS 1.3) test is known to fail
+ // due to the different PSK mechanism (?) - to be investigated ASAP.
+ socket.setProtocol(QSsl::TlsV1_2);
+#endif
this->socket = &socket;
QSignalSpy connectedSpy(&socket, SIGNAL(connected()));
@@ -3970,6 +4030,11 @@ void tst_QSslSocket::signatureAlgorithm_data()
if (QSslSocket::sslLibraryVersionNumber() < 0x10002000L)
QSKIP("Signature algorithms cannot be tested with OpenSSL < 1.0.2");
+ if (QSslSocket::sslLibraryVersionNumber() >= 0x10101000L) {
+ // FIXME: investigate if this test makes any sense with TLS 1.3.
+ QSKIP("Test is not valid for TLS 1.3/OpenSSL 1.1.1");
+ }
+
QTest::addColumn<QByteArrayList>("serverSigAlgPairs");
QTest::addColumn<QSsl::SslProtocol>("serverProtocol");
QTest::addColumn<QByteArrayList>("clientSigAlgPairs");
@@ -4107,13 +4172,81 @@ void tst_QSslSocket::forwardReadChannelFinished()
});
connect(&socket, &QSslSocket::readChannelFinished,
&QTestEventLoop::instance(), &QTestEventLoop::exitLoop);
- socket.connectToHostEncrypted(QtNetworkSettings::serverLocalName(), 443);
+ socket.connectToHostEncrypted(QtNetworkSettings::httpServerName(), 443);
enterLoop(10);
QVERIFY(readChannelFinishedSpy.count());
}
#endif // QT_NO_OPENSSL
+void tst_QSslSocket::disabledProtocols_data()
+{
+ QTest::addColumn<QSsl::SslProtocol>("disabledProtocol");
+ QTest::newRow("SslV2") << QSsl::SslV2;
+ QTest::newRow("SslV3") << QSsl::SslV3;
+}
+
+void tst_QSslSocket::disabledProtocols()
+{
+ QFETCH_GLOBAL(const bool, setProxy);
+ if (setProxy)
+ return;
+
+ QFETCH(const QSsl::SslProtocol, disabledProtocol);
+ const int timeoutMS = 500;
+ // Test a client socket.
+ {
+ // 0. connectToHostEncrypted: client-side, non-blocking API, error is discovered
+ // early, preventing any real connection from ever starting.
+ QSslSocket socket;
+ socket.setProtocol(disabledProtocol);
+ QCOMPARE(socket.error(), QAbstractSocket::UnknownSocketError);
+ socket.connectToHostEncrypted(QStringLiteral("doesnotmatter.org"), 1010);
+ QCOMPARE(socket.error(), QAbstractSocket::SslInvalidUserDataError);
+ QCOMPARE(socket.state(), QAbstractSocket::UnconnectedState);
+ }
+ {
+ // 1. startClientEncryption: client-side, non blocking API, but wants a socket in
+ // the 'connected' state (otherwise just returns false not setting any error code).
+ SslServer server;
+ QVERIFY(server.listen());
+
+ QSslSocket socket;
+ QCOMPARE(socket.error(), QAbstractSocket::UnknownSocketError);
+
+ socket.connectToHost(QHostAddress::LocalHost, server.serverPort());
+ QVERIFY(socket.waitForConnected(timeoutMS));
+
+ socket.setProtocol(disabledProtocol);
+ socket.startClientEncryption();
+ QCOMPARE(socket.error(), QAbstractSocket::SslInvalidUserDataError);
+ }
+ {
+ // 2. waitForEncrypted: client-side, blocking API plus requires from us
+ // to call ... connectToHostEncrypted(), which will notice an error and
+ // will prevent any connect at all. Nothing to test.
+ }
+
+ // Test a server side, relatively simple: server does not connect, it listens/accepts
+ // and then calls startServerEncryption() (which must fall).
+ {
+ SslServer server;
+ server.protocol = disabledProtocol;
+ QVERIFY(server.listen());
+
+ QTestEventLoop loop;
+ connect(&server, &SslServer::socketError, [&loop](QAbstractSocket::SocketError)
+ {loop.exitLoop();});
+
+ QTcpSocket client;
+ client.connectToHost(QHostAddress::LocalHost, server.serverPort());
+ loop.enterLoopMSecs(timeoutMS);
+ QVERIFY(!loop.timeout());
+ QVERIFY(server.socket);
+ QCOMPARE(server.socket->error(), QAbstractSocket::SslInvalidUserDataError);
+ }
+}
+
#endif // QT_NO_SSL
QTEST_MAIN(tst_QSslSocket)
diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST
deleted file mode 100644
index c9b628d79b..0000000000
--- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST
+++ /dev/null
@@ -1,2 +0,0 @@
-[onDemandRootCertLoadingMemberMethods]
-linux
diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro
index 05755ff606..3e3ebeb358 100644
--- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro
+++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro
@@ -17,3 +17,9 @@ win32 {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
requires(qtConfig(private_tests))
+
+# DOCKERTODO: linux, docker is disabled on macOS/Windows.
+linux {
+ QT_TEST_SERVER_LIST = squid danted
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp
index 25c2701f69..4199c0f465 100644
--- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp
+++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp
@@ -102,7 +102,15 @@ void tst_QSslSocket_onDemandCertificates_member::initTestCase_data()
void tst_QSslSocket_onDemandCertificates_member::initTestCase()
{
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1081));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3129));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3130));
+#else
QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+#endif // QT_TEST_SERVER
}
void tst_QSslSocket_onDemandCertificates_member::init()
@@ -110,28 +118,29 @@ void tst_QSslSocket_onDemandCertificates_member::init()
QFETCH_GLOBAL(bool, setProxy);
if (setProxy) {
QFETCH_GLOBAL(int, proxyType);
- QString testServer = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString();
+ const auto socksAddr = QtNetworkSettings::socksProxyServerIp().toString();
+ const auto squidAddr = QtNetworkSettings::httpProxyServerIp().toString();
QNetworkProxy proxy;
switch (proxyType) {
case Socks5Proxy:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, testServer, 1080);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socksAddr, 1080);
break;
case Socks5Proxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, testServer, 1081);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socksAddr, 1081);
break;
case HttpProxy | NoAuth:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, testServer, 3128);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, squidAddr, 3128);
break;
case HttpProxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, testServer, 3129);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, squidAddr, 3129);
break;
case HttpProxy | AuthNtlm:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, testServer, 3130);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, squidAddr, 3130);
break;
}
QNetworkProxy::setApplicationProxy(proxy);
diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro
index c345d7379f..1ad42b309e 100644
--- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro
+++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro
@@ -16,3 +16,9 @@ win32 {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
requires(qtConfig(private_tests))
+
+#DOCKERTODO Linux, docker is disabled on macOS and Windows.
+linux {
+ QT_TEST_SERVER_LIST = squid danted
+ include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
+}
diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/tst_qsslsocket_onDemandCertificates_static.cpp b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/tst_qsslsocket_onDemandCertificates_static.cpp
index 503edc0bff..671a21b1c2 100644
--- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/tst_qsslsocket_onDemandCertificates_static.cpp
+++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_static/tst_qsslsocket_onDemandCertificates_static.cpp
@@ -98,7 +98,15 @@ void tst_QSslSocket_onDemandCertificates_static::initTestCase_data()
void tst_QSslSocket_onDemandCertificates_static::initTestCase()
{
+#ifdef QT_TEST_SERVER
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1081));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3129));
+ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3130));
+#else
QVERIFY(QtNetworkSettings::verifyTestNetworkSettings());
+#endif // QT_TEST_SERVER
}
void tst_QSslSocket_onDemandCertificates_static::init()
@@ -106,28 +114,30 @@ void tst_QSslSocket_onDemandCertificates_static::init()
QFETCH_GLOBAL(bool, setProxy);
if (setProxy) {
QFETCH_GLOBAL(int, proxyType);
- QString testServer = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString();
+ const auto socksAddr = QtNetworkSettings::socksProxyServerIp().toString();
+ const auto squidAddr = QtNetworkSettings::httpProxyServerIp().toString();
+
QNetworkProxy proxy;
switch (proxyType) {
case Socks5Proxy:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, testServer, 1080);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socksAddr, 1080);
break;
case Socks5Proxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, testServer, 1081);
+ proxy = QNetworkProxy(QNetworkProxy::Socks5Proxy, socksAddr, 1081);
break;
case HttpProxy | NoAuth:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, testServer, 3128);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, squidAddr, 3128);
break;
case HttpProxy | AuthBasic:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, testServer, 3129);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, squidAddr, 3129);
break;
case HttpProxy | AuthNtlm:
- proxy = QNetworkProxy(QNetworkProxy::HttpProxy, testServer, 3130);
+ proxy = QNetworkProxy(QNetworkProxy::HttpProxy, squidAddr, 3130);
break;
}
QNetworkProxy::setApplicationProxy(proxy);
diff --git a/tests/auto/network/ssl/ssl.pro b/tests/auto/network/ssl/ssl.pro
index e89443ef4e..169e9bce83 100644
--- a/tests/auto/network/ssl/ssl.pro
+++ b/tests/auto/network/ssl/ssl.pro
@@ -21,6 +21,8 @@ qtConfig(ssl) {
qdtlscookie \
qdtls
}
+
+ qtConfig(ocsp): SUBDIRS += qocsp
}
}
diff --git a/tests/auto/opengl/qgl/tst_qgl.cpp b/tests/auto/opengl/qgl/tst_qgl.cpp
index 7666bf81e4..053c4b026b 100644
--- a/tests/auto/opengl/qgl/tst_qgl.cpp
+++ b/tests/auto/opengl/qgl/tst_qgl.cpp
@@ -924,6 +924,7 @@ void tst_QGL::partialGLWidgetUpdates()
widget.setAutoFillBackground(autoFillBackground);
widget.show();
QVERIFY(QTest::qWaitForWindowExposed(&widget));
+ QCoreApplication::processEvents(); // Process all queued paint events
if (widget.format().doubleBuffer() != doubleBufferedContext)
QSKIP("Platform does not support requested format");
diff --git a/tests/auto/opengl/qglthreads/tst_qglthreads.cpp b/tests/auto/opengl/qglthreads/tst_qglthreads.cpp
index 09bea20d26..b7b5b505a0 100644
--- a/tests/auto/opengl/qglthreads/tst_qglthreads.cpp
+++ b/tests/auto/opengl/qglthreads/tst_qglthreads.cpp
@@ -355,6 +355,11 @@ void tst_QGLThreads::renderInThread()
QFETCH(bool, resize);
QFETCH(bool, update);
+#if defined(Q_OS_MACOS)
+ if (resize)
+ QSKIP("gldSetZero crashes in render thread, QTBUG-68524");
+#endif
+
ThreadSafeGLWidget widget;
widget.resize(200, 200);
SceneRenderingThread thread(&widget);
diff --git a/tests/auto/other/gestures/BLACKLIST b/tests/auto/other/gestures/BLACKLIST
index 269bac5750..c465ff316e 100644
--- a/tests/auto/other/gestures/BLACKLIST
+++ b/tests/auto/other/gestures/BLACKLIST
@@ -1,5 +1,6 @@
[]
rhel-7.4
+rhel-7.6
ubuntu-18.04
[customGesture]
# QTBUG-67254
diff --git a/tests/auto/other/lancelot/paintcommands.cpp b/tests/auto/other/lancelot/paintcommands.cpp
index 65a688ec40..8aa3a035e3 100644
--- a/tests/auto/other/lancelot/paintcommands.cpp
+++ b/tests/auto/other/lancelot/paintcommands.cpp
@@ -36,6 +36,7 @@
#include <qtextlayout.h>
#include <qdebug.h>
#include <QStaticText>
+#include <QTextDocument>
#include <private/qimage_p.h>
#ifndef QT_NO_OPENGL
@@ -441,6 +442,10 @@ void PaintCommands::staticInit()
"^drawStaticText\\s+(-?\\w*)\\s+(-?\\w*)\\s+\"(.*)\"$",
"drawStaticText <x> <y> <text>",
"drawStaticText 10 10 \"my text\"");
+ DECL_PAINTCOMMAND("drawTextDocument", command_drawTextDocument,
+ "^drawTextDocument\\s+(-?\\w*)\\s+(-?\\w*)\\s+\"(.*)\"$",
+ "drawTextDocument <x> <y> <html>",
+ "drawTextDocument 10 10 \"html\"");
DECL_PAINTCOMMAND("drawTiledPixmap", command_drawTiledPixmap,
"^drawTiledPixmap\\s+([\\w.:\\/]*)"
"\\s+(-?\\w*)\\s+(-?\\w*)\\s*(-?\\w*)\\s*(-?\\w*)"
@@ -1295,6 +1300,29 @@ void PaintCommands::command_drawStaticText(QRegularExpressionMatch re)
m_painter->drawStaticText(x, y, QStaticText(txt));
}
+void PaintCommands::command_drawTextDocument(QRegularExpressionMatch re)
+{
+ if (!m_shouldDrawText)
+ return;
+ QStringList caps = re.capturedTexts();
+ int x = convertToInt(caps.at(1));
+ int y = convertToInt(caps.at(2));
+ QString txt = caps.at(3);
+
+ if (m_verboseMode)
+ printf(" -(lance) drawTextDocument(%d, %d, %s)\n", x, y, qPrintable(txt));
+
+ QTextDocument doc;
+ doc.setBaseUrl(QUrl::fromLocalFile(QDir::currentPath() + QLatin1String("/")));
+ doc.setHtml(txt);
+
+ m_painter->save();
+ m_painter->translate(x, y);
+ doc.drawContents(m_painter);
+ m_painter->restore();
+}
+
+
/***************************************************************************************************/
void PaintCommands::command_noop(QRegularExpressionMatch)
{
diff --git a/tests/auto/other/lancelot/paintcommands.h b/tests/auto/other/lancelot/paintcommands.h
index 83e3bbc11c..79bdab634a 100644
--- a/tests/auto/other/lancelot/paintcommands.h
+++ b/tests/auto/other/lancelot/paintcommands.h
@@ -198,6 +198,7 @@ private:
void command_drawRoundRect(QRegularExpressionMatch re);
void command_drawText(QRegularExpressionMatch re);
void command_drawStaticText(QRegularExpressionMatch re);
+ void command_drawTextDocument(QRegularExpressionMatch re);
void command_drawTiledPixmap(QRegularExpressionMatch re);
void command_path_addEllipse(QRegularExpressionMatch re);
void command_path_addPolygon(QRegularExpressionMatch re);
diff --git a/tests/auto/other/lancelot/scripts/degeneratebeziers.qps b/tests/auto/other/lancelot/scripts/degeneratebeziers.qps
index fb223d5b1f..6c069fd82f 100644
--- a/tests/auto/other/lancelot/scripts/degeneratebeziers.qps
+++ b/tests/auto/other/lancelot/scripts/degeneratebeziers.qps
@@ -7,4 +7,30 @@ path_cubicTo degenerate 3427.0918499999997948 3872.1318999999994048 4729.4590867
scale 0.05 0.05
translate -2500 -3000
setPen black 800
-drawPath degenerate \ No newline at end of file
+drawPath degenerate
+
+resetMatrix
+path_moveTo revbez 0 20
+path_cubicTo revbez 0 0 120 0 120 -20
+
+path_moveTo revbez 0 80
+path_cubicTo revbez 0 100 120 100 120 120
+
+translate 50 250
+
+setPen blue 40 solidline flatcap
+drawPath revbez
+setPen red 0
+drawPath revbez
+
+translate 200 0
+setPen blue 40 solidline squarecap
+drawPath revbez
+setPen red 0
+drawPath revbez
+
+translate 200 0
+setPen blue 40 solidline roundcap
+drawPath revbez
+setPen red 0
+drawPath revbez
diff --git a/tests/auto/other/lancelot/scripts/richtext.qps b/tests/auto/other/lancelot/scripts/richtext.qps
new file mode 100644
index 0000000000..787c97421b
--- /dev/null
+++ b/tests/auto/other/lancelot/scripts/richtext.qps
@@ -0,0 +1,9 @@
+drawTextDocument 10 10 "<img height=50 width=50 align=top src=:/images/border.png /><img height=10 width=10 valign=bottom src=:/images/border.png /><span style='font-size: 100px'>Xy</span>"
+drawTextDocument 10 210 "<img height=50 width=50 align=top src=:/images/border.png /><img height=10 width=10 valign=bottom src=:/images/border.png /><span style='font-size: 25px'>Xy</span>"
+drawTextDocument 310 210 "<img height=10 width=10 align=top src=:/images/border.png /><img height=50 width=50 valign=bottom src=:/images/border.png /><span style='font-size: 25px'>Xy</span>"
+drawTextDocument 10 310 "<img height=50 width=50 align=top src=:/images/border.png /><img height=50 width=50 valign=bottom src=:/images/border.png /><span style='font-size: 25px'>Xy</span>"
+
+drawTextDocument 10 410 "<img height=10 width=10 align=top src=:/images/border.png /><img height=50 width=50 src=:/images/border.png /><span style='font-size: 25px'>Xy</span>"
+drawTextDocument 10 510 "<img height=10 width=10 valign=bottom src=:/images/border.png /><img height=50 width=50 src=:/images/border.png /><span style='font-size: 25px'>Xy</span>"
+drawTextDocument 310 410 "<img height=50 width=50 align=top src=:/images/border.png /><img height=10 width=10 src=:/images/border.png /><span style='font-size: 25px'>Xy</span>"
+drawTextDocument 310 510 "<img height=50 width=50 valign=bottom src=:/images/border.png /><img height=10 width=10 src=:/images/border.png /><span style='font-size: 25px'>Xy</span>"
diff --git a/tests/auto/other/macgui/macgui.pro b/tests/auto/other/macgui/macgui.pro
index 75e0d595cb..6ee22bdaec 100644
--- a/tests/auto/other/macgui/macgui.pro
+++ b/tests/auto/other/macgui/macgui.pro
@@ -9,3 +9,4 @@ QT = core-private widgets-private testlib
osx: LIBS += -framework ApplicationServices
requires(mac)
+requires(widgets)
diff --git a/tests/auto/other/macnativeevents/BLACKLIST b/tests/auto/other/macnativeevents/BLACKLIST
index 32e0b1d50b..2922e22d9f 100644
--- a/tests/auto/other/macnativeevents/BLACKLIST
+++ b/tests/auto/other/macnativeevents/BLACKLIST
@@ -32,7 +32,6 @@ osx
osx
# QTQAINFRA-1292
[testPushButtonPressRelease]
-osx-10.11 ci
osx-10.12 ci
# QTQAINFRA-1292
diff --git a/tests/auto/other/macplist/macplist.pro b/tests/auto/other/macplist/macplist.pro
index 5820793cbc..df7143031a 100644
--- a/tests/auto/other/macplist/macplist.pro
+++ b/tests/auto/other/macplist/macplist.pro
@@ -1,3 +1,5 @@
+requires(widgets)
+
TEMPLATE = subdirs
test.depends = app
diff --git a/tests/auto/other/other.pro b/tests/auto/other/other.pro
index 61a464356c..c5426202e8 100644
--- a/tests/auto/other/other.pro
+++ b/tests/auto/other/other.pro
@@ -30,6 +30,8 @@ SUBDIRS=\
gestures \
lancelot \
languagechange \
+ macgui \
+ macplist \
qaccessibility \
qfocusevent \
qnetworkaccessmanager_and_qprogressdialog \
@@ -48,13 +50,13 @@ cross_compile: SUBDIRS -= \
atwrapper \
compiler
-winrt|!qtConfig(accessibility): SUBDIRS -= qaccessibility
+winrt|!qtHaveModule(gui)|!qtConfig(accessibility): SUBDIRS -= qaccessibility
-!qtConfig(accessibility-atspi-bridge): SUBDIRS -= qaccessibilitylinux
+!qtHaveModule(gui)|!qtConfig(accessibility-atspi-bridge): SUBDIRS -= qaccessibilitylinux
!qtConfig(process): SUBDIRS -= qprocess_and_guieventloop
-!mac: SUBDIRS -= \
+!macos|!qtHaveModule(gui): SUBDIRS -= \
macgui \
macnativeevents \
macplist \
@@ -65,3 +67,8 @@ winrt|!qtConfig(accessibility): SUBDIRS -= qaccessibility
android: SUBDIRS += \
android
+
+qtConfig(xkbcommon): {
+ SUBDIRS += \
+ xkbkeyboard
+}
diff --git a/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp b/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp
index 2575f22309..48594b2fa1 100644
--- a/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp
+++ b/tests/auto/other/qaccessibilitylinux/tst_qaccessibilitylinux.cpp
@@ -211,6 +211,27 @@ void tst_QAccessibilityLinux::registerDbus()
mainWindow = getInterface(window, "org.a11y.atspi.Accessible");
}
+quint64 getAtspiState(QDBusInterface *interface)
+{
+ QDBusMessage msg = interface->call(QDBus::Block, "GetState");
+ const QDBusArgument arg = msg.arguments().at(0).value<QDBusArgument>();
+ quint32 state1 = 0;
+ quint64 state2 = 0;
+ arg.beginArray();
+ arg >> state1;
+ arg >> state2;
+ arg.endArray();
+
+ state2 = state2 << 32;
+ return state2 | state1;
+}
+
+bool hasState(QDBusInterface *interface, AtspiStateType state)
+{
+ quint64 intState = quint64(1) << state;
+ return getAtspiState(interface) & intState;
+}
+
#define ROOTPATH "/org/a11y/atspi/accessible"
void tst_QAccessibilityLinux::testLabel()
@@ -353,13 +374,21 @@ void tst_QAccessibilityLinux::testTreeWidget()
QDBusInterface *cell3 = getInterface(tableChildren.at(2), "org.a11y.atspi.Accessible");
QCOMPARE(cell3->property("Name").toString(), QLatin1String("0.0"));
+ QVERIFY(!hasState(cell3, ATSPI_STATE_EXPANDABLE));
+ QVERIFY(!hasState(cell3, ATSPI_STATE_EXPANDED));
QDBusInterface *cell4 = getInterface(tableChildren.at(3), "org.a11y.atspi.Accessible");
QCOMPARE(cell4->property("Name").toString(), QLatin1String("0.1"));
+ QDBusInterface *dbus_top2 = getInterface(tableChildren.at(4), "org.a11y.atspi.Accessible");
+ QCOMPARE(dbus_top2->property("Name").toString(), QLatin1String("1.0"));
+ QVERIFY(hasState(dbus_top2, ATSPI_STATE_EXPANDABLE));
+ QVERIFY(!hasState(dbus_top2, ATSPI_STATE_EXPANDED));
+
tree->expandItem(top2);
tableChildren = getChildren(treeIface);
QCOMPARE(tableChildren.size(), 8);
+ QVERIFY(hasState(dbus_top2, ATSPI_STATE_EXPANDED));
QDBusInterface *cell5 = getInterface(tableChildren.at(6), "org.a11y.atspi.Accessible");
QCOMPARE(cell5->property("Name").toString(), QLatin1String("1.0 0.0"));
@@ -471,23 +500,10 @@ void tst_QAccessibilityLinux::testSlider()
m_window->clearChildren();
}
-quint64 getAtspiState(QDBusInterface *interface)
-{
- QDBusMessage msg = interface->call(QDBus::Block, "GetState");
- const QDBusArgument arg = msg.arguments().at(0).value<QDBusArgument>();
- quint32 state1 = 0;
- quint64 state2 = 0;
- arg.beginArray();
- arg >> state1;
- arg >> state2;
- arg.endArray();
-
- state2 = state2 << 32;
- return state2 | state1;
-}
-
void tst_QAccessibilityLinux::testFocus()
{
+ m_window->activateWindow();
+ QVERIFY(QTest::qWaitForWindowActive(m_window));
QLineEdit *lineEdit1 = new QLineEdit(m_window);
lineEdit1->setText("lineEdit 1");
QLineEdit *lineEdit2 = new QLineEdit(m_window);
@@ -508,15 +524,14 @@ void tst_QAccessibilityLinux::testFocus()
QDBusInterface *componentInterfaceLineEdit2 = getInterface(children.at(1), "org.a11y.atspi.Component");
QVERIFY(componentInterfaceLineEdit2->isValid());
- quint64 focusedState = quint64(1) << ATSPI_STATE_FOCUSED;
- QVERIFY(getAtspiState(accessibleInterfaceLineEdit1) & focusedState);
- QVERIFY(!(getAtspiState(accessibleInterfaceLineEdit2) & focusedState));
+ QVERIFY(hasState(accessibleInterfaceLineEdit1, ATSPI_STATE_FOCUSED));
+ QVERIFY(!hasState(accessibleInterfaceLineEdit2, ATSPI_STATE_FOCUSED));
QDBusMessage focusReply = componentInterfaceLineEdit2->call(QDBus::Block, "GrabFocus");
QVERIFY(focusReply.arguments().at(0).toBool());
QVERIFY(lineEdit2->hasFocus());
- QVERIFY(!(getAtspiState(accessibleInterfaceLineEdit1) & focusedState));
- QVERIFY(getAtspiState(accessibleInterfaceLineEdit2) & focusedState);
+ QVERIFY(!hasState(accessibleInterfaceLineEdit1, ATSPI_STATE_FOCUSED));
+ QVERIFY(hasState(accessibleInterfaceLineEdit2, ATSPI_STATE_FOCUSED));
m_window->clearChildren();
delete accessibleInterfaceLineEdit1;
delete accessibleInterfaceLineEdit2;
diff --git a/tests/auto/other/qcomplextext/bidireorderstring.h b/tests/auto/other/qcomplextext/bidireorderstring.h
index a7401d2c18..b537bf45e4 100644
--- a/tests/auto/other/qcomplextext/bidireorderstring.h
+++ b/tests/auto/other/qcomplextext/bidireorderstring.h
@@ -78,7 +78,7 @@ const LV logical_visual[] = {
{ "data42", "foo\nfoo", "foo\nfoo", QChar::DirL },
{ "data43", "\327\251\327\234\327\225\327\235\n\327\251\327\234\327\225\327\235", "\327\235\327\225\327\234\327\251\n\327\235\327\225\327\234\327\251", QChar::DirR },
{ "data44", "foo\n\327\251\327\234\327\225\327\235", "foo\n\327\235\327\225\327\234\327\251", QChar::DirL },
- { "data45", "\327\251\327\234\327\225\327\235\nfoo", "\327\235\327\225\327\234\327\251\nfoo", QChar::DirR },
+ { "data45", "\327\251\327\234\327\225\327\235\nfoo", "foo\n\327\235\327\225\327\234\327\251", QChar::DirR },
{ "data46", "\330\250 1.23 \330\250", "\330\250 1.23 \330\250", QChar::DirR },
{ "data47", "\331\204\330\250 1.23 \331\202\330\250", "\330\250\331\202 1.23 \330\250\331\204", QChar::DirR },
{ "data48", "\330\250 1.2 \330\250", "\330\250 1.2 \330\250", QChar::DirR },
diff --git a/tests/auto/other/qcomplextext/tst_qcomplextext.cpp b/tests/auto/other/qcomplextext/tst_qcomplextext.cpp
index 0116e546a0..9ca61a69b4 100644
--- a/tests/auto/other/qcomplextext/tst_qcomplextext.cpp
+++ b/tests/auto/other/qcomplextext/tst_qcomplextext.cpp
@@ -66,8 +66,19 @@ void tst_QComplexText::bidiReorderString_data()
<< QString::fromUtf8( data->logical )
<< QString::fromUtf8( data->visual )
<< (int) data->basicDir;
+
+ QTest::newRow( QByteArray(data->name) + " (doubled)" )
+ << (QString::fromUtf8( data->logical ) + QChar(QChar::ParagraphSeparator) + QString::fromUtf8( data->logical ))
+ << (QString::fromUtf8( data->visual ) + QChar(QChar::ParagraphSeparator) + QString::fromUtf8( data->visual ))
+ << (int) data->basicDir;
data++;
}
+
+ QString isolateAndBoundary = QString(QChar(0x2068 /* DirFSI */)) + QChar(0x1c /* DirB */) + QChar(0x2069 /* DirPDI */);
+ QTest::newRow( "isolateAndBoundary" )
+ << QString::fromUtf8( data->logical )
+ << QString::fromUtf8( data->visual )
+ << (int) QChar::DirL;
}
void tst_QComplexText::bidiReorderString()
@@ -426,7 +437,7 @@ ushort unicodeForDirection(const QByteArray &direction)
{ "ET", 0x24 },
{ "AN", 0x660 },
{ "CS", 0x2c },
- { "B", QChar::ParagraphSeparator },
+ { "B", '\n' },
{ "S", 0x9 },
{ "WS", 0x20 },
{ "ON", 0x2a },
diff --git a/tests/auto/other/qobjectrace/qobjectrace.pro b/tests/auto/other/qobjectrace/qobjectrace.pro
index 94e7928585..6536810534 100644
--- a/tests/auto/other/qobjectrace/qobjectrace.pro
+++ b/tests/auto/other/qobjectrace/qobjectrace.pro
@@ -2,3 +2,6 @@ CONFIG += testcase
SOURCES += tst_qobjectrace.cpp
QT = core testlib
+INCLUDEPATH += ../../../shared/
+HEADERS += ../../../shared/emulationdetector.h
+
diff --git a/tests/auto/other/qobjectrace/tst_qobjectrace.cpp b/tests/auto/other/qobjectrace/tst_qobjectrace.cpp
index e6eb51500b..22782f6b09 100644
--- a/tests/auto/other/qobjectrace/tst_qobjectrace.cpp
+++ b/tests/auto/other/qobjectrace/tst_qobjectrace.cpp
@@ -30,6 +30,7 @@
#include <QtCore>
#include <QtTest/QtTest>
+#include "emulationdetector.h"
enum { OneMinute = 60 * 1000,
TwoMinutes = OneMinute * 2 };
@@ -256,6 +257,9 @@ public:
void tst_QObjectRace::destroyRace()
{
+ if (EmulationDetector::isRunningArmOnX86())
+ QSKIP("Test is too slow to run on emulator");
+
enum { ThreadCount = 10, ObjectCountPerThread = 2777,
ObjectCount = ThreadCount * ObjectCountPerThread };
@@ -374,6 +378,10 @@ public:
connect(timer, &QTimer::timeout, this, &DeleteReceiverRaceReceiver::onTimeout);
timer->start(1);
}
+ ~DeleteReceiverRaceReceiver()
+ {
+ delete receiver;
+ }
void onTimeout()
{
@@ -424,12 +432,12 @@ void tst_QObjectRace::disconnectRace()
for (int i = 0; i < ThreadCount; ++i) {
threads[i]->requestInterruption();
- QVERIFY(threads[i]->wait(300));
+ QVERIFY(threads[i]->wait());
delete threads[i];
}
senderThread->quit();
- QVERIFY(senderThread->wait(300));
+ QVERIFY(senderThread->wait());
}
QCOMPARE(countedStructObjectsCount.load(), 0u);
@@ -449,11 +457,11 @@ void tst_QObjectRace::disconnectRace()
QTest::qWait(TimeLimit);
senderThread->requestInterruption();
- QVERIFY(senderThread->wait(300));
+ QVERIFY(senderThread->wait());
for (int i = 0; i < ThreadCount; ++i) {
threads[i]->quit();
- QVERIFY(threads[i]->wait(300));
+ QVERIFY(threads[i]->wait());
delete threads[i];
}
}
diff --git a/tests/auto/other/qprocess_and_guieventloop/write-read-write/write-read-write.pro b/tests/auto/other/qprocess_and_guieventloop/write-read-write/write-read-write.pro
index e236e05c7d..6a23e52d95 100644
--- a/tests/auto/other/qprocess_and_guieventloop/write-read-write/write-read-write.pro
+++ b/tests/auto/other/qprocess_and_guieventloop/write-read-write/write-read-write.pro
@@ -1,4 +1,4 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
DESTDIR = ./
diff --git a/tests/auto/other/toolsupport/tst_toolsupport.cpp b/tests/auto/other/toolsupport/tst_toolsupport.cpp
index f31a755f9e..8c129adaf3 100644
--- a/tests/auto/other/toolsupport/tst_toolsupport.cpp
+++ b/tests/auto/other/toolsupport/tst_toolsupport.cpp
@@ -126,9 +126,9 @@ void tst_toolsupport::offsets_data()
#ifdef Q_PROCESSOR_X86
// x86 32-bit has weird alignment rules. Refer to QtPrivate::AlignOf in
// qglobal.h for more details.
- data << 168 << 248;
+ data << 152 << 224;
#else
- data << 172 << 248;
+ data << 156 << 224;
#endif
}
#endif
diff --git a/tests/auto/testlib/selftests/alive/CMakeLists.txt b/tests/auto/other/xkbkeyboard/CMakeLists.txt
index 610fa3006c..610fa3006c 100644
--- a/tests/auto/testlib/selftests/alive/CMakeLists.txt
+++ b/tests/auto/other/xkbkeyboard/CMakeLists.txt
diff --git a/tests/auto/other/xkbkeyboard/tst_xkbkeyboard.cpp b/tests/auto/other/xkbkeyboard/tst_xkbkeyboard.cpp
new file mode 100644
index 0000000000..65364eddf4
--- /dev/null
+++ b/tests/auto/other/xkbkeyboard/tst_xkbkeyboard.cpp
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <QtGui>
+#include <QtTest>
+
+#include <qpa/qplatforminputcontextfactory_p.h>
+#include <qpa/qplatforminputcontext.h>
+
+class tst_XkbKeyboard : public QObject
+{
+ Q_OBJECT
+private slots:
+ void verifyComposeInputContextInterface();
+};
+
+void tst_XkbKeyboard::verifyComposeInputContextInterface()
+{
+ QPlatformInputContext *inputContext = QPlatformInputContextFactory::create(QStringLiteral("compose"));
+ QVERIFY(inputContext);
+
+ const char *const inputContextClassName = "QComposeInputContext";
+ const char *const normalizedSignature = "setXkbContext(xkb_context*)";
+
+ QVERIFY(inputContext->objectName() == QLatin1String(inputContextClassName));
+
+ int methodIndex = inputContext->metaObject()->indexOfMethod(normalizedSignature);
+ QMetaMethod method = inputContext->metaObject()->method(methodIndex);
+ Q_ASSERT(method.isValid());
+}
+
+QTEST_MAIN(tst_XkbKeyboard)
+#include "tst_xkbkeyboard.moc"
+
diff --git a/tests/auto/other/xkbkeyboard/xkbkeyboard.pro b/tests/auto/other/xkbkeyboard/xkbkeyboard.pro
new file mode 100644
index 0000000000..17396ee475
--- /dev/null
+++ b/tests/auto/other/xkbkeyboard/xkbkeyboard.pro
@@ -0,0 +1,7 @@
+CONFIG += testcase
+TARGET = tst_xkbkeyboard
+
+SOURCES += tst_xkbkeyboard.cpp
+
+QT = core-private gui-private testlib
+
diff --git a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
index a65dd0bf8f..abe4325278 100644
--- a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
+++ b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp
@@ -644,7 +644,7 @@ void tst_QPrinter::taskQTBUG4497_reusePrinterOnDifferentFiles()
QByteArray file1Line = file1.readLine();
QByteArray file2Line = file2.readLine();
- if (!file1Line.startsWith("%%CreationDate"))
+ if (!file1Line.contains("CreationDate"))
QCOMPARE(file1Line, file2Line);
}
diff --git a/tests/auto/shared/resources/testfont_italic.ttf b/tests/auto/shared/resources/testfont_italic.ttf
new file mode 100644
index 0000000000..0a01f883f4
--- /dev/null
+++ b/tests/auto/shared/resources/testfont_italic.ttf
Binary files differ
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
index 97397e3159..55875359ff 100644
--- a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
@@ -79,14 +79,14 @@ inline QString fixupTableName(const QString &tableName, QSqlDatabase db)
return tbName;
}
-inline static QString qTableName(const QString& prefix, const char *sourceFileName, QSqlDatabase db)
+inline static QString qTableName(const QString &prefix, const char *sourceFileName,
+ QSqlDatabase db, bool escape = true)
{
- QString tableStr = QLatin1String("dbtst");
- if (db.driverName().toLower().contains("ODBC"))
- tableStr += QLatin1String("_odbc");
- return fixupTableName(QString(QLatin1String("dbtst") + db.driverName() +
- QString::number(qHash(QLatin1String(sourceFileName) +
- "_" + qGetHostName().replace( "-", "_" )), 16) + "_" + prefix), db);
+ const auto tableStr = fixupTableName(QString(QLatin1String("dbtst") + db.driverName() +
+ QString::number(qHash(QLatin1String(sourceFileName) +
+ "_" + qGetHostName().replace("-", "_")), 16) +
+ "_" + prefix), db);
+ return escape ? db.driver()->escapeIdentifier(tableStr, QSqlDriver::TableName) : tableStr;
}
inline static QString qTableName(const QString& prefix, QSqlDatabase db)
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
index bdfa957083..f309231b10 100644
--- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
@@ -314,10 +314,8 @@ void tst_QSqlDatabase::createTestTables(QSqlDatabase db)
" (id integer not null, t_varchar varchar(40) not null, "
"t_char char(40), t_numeric numeric(6, 3), primary key (id, t_varchar))"));
}
-
if (testWhiteSpaceNames(db.driverName())) {
- QString qry = "create table "
- + db.driver()->escapeIdentifier(tableName + " test", QSqlDriver::TableName)
+ QString qry = "create table " + qTableName("qtest test", __FILE__, db)
+ '('
+ db.driver()->escapeIdentifier(QLatin1String("test test"), QSqlDriver::FieldName)
+ " int not null primary key)";
@@ -341,6 +339,7 @@ void tst_QSqlDatabase::dropTestTables(QSqlDatabase db)
const QString qtestTable = qTableName("qtest", __FILE__, db);
QStringList tableNames;
tableNames << qtestTable
+ << qTableName("qtest test", __FILE__, db)
<< qTableName("qtestfields", __FILE__, db)
<< qTableName("qtestalter", __FILE__, db)
<< qTableName("qtest_temp", __FILE__, db)
@@ -513,7 +512,9 @@ void tst_QSqlDatabase::tables()
CHECK_DATABASE(db);
QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
- const QString qtest(qTableName("qtest", __FILE__, db)), qtest_view(qTableName("qtest_view", __FILE__, db)), temp_tab(qTableName("test_tab", __FILE__, db));
+ const auto qtest(qTableName("qtest", __FILE__, db, false)),
+ qtest_view(qTableName("qtest_view", __FILE__, db, false)),
+ temp_tab(qTableName("test_tab", __FILE__, db, false));
bool views = true;
bool tempTables = false;
@@ -578,10 +579,10 @@ void tst_QSqlDatabase::whitespaceInIdentifiers()
const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
if (testWhiteSpaceNames(db.driverName())) {
- const QString tableName(qTableName("qtest", __FILE__, db) + " test");
+ const auto tableName(qTableName("qtest test", __FILE__, db, false));
QVERIFY(db.tables().contains(tableName, Qt::CaseInsensitive));
- QSqlRecord rec = db.record(db.driver()->escapeIdentifier(tableName, QSqlDriver::TableName));
+ QSqlRecord rec = db.record(tableName);
QCOMPARE(rec.count(), 1);
QCOMPARE(rec.fieldName(0), QString("test test"));
if (dbType == QSqlDriver::Oracle)
@@ -589,7 +590,7 @@ void tst_QSqlDatabase::whitespaceInIdentifiers()
else
QCOMPARE(rec.field(0).type(), QVariant::Int);
- QSqlIndex idx = db.primaryIndex(db.driver()->escapeIdentifier(tableName, QSqlDriver::TableName));
+ QSqlIndex idx = db.primaryIndex(tableName);
QCOMPARE(idx.count(), 1);
QCOMPARE(idx.fieldName(0), QString("test test"));
if (dbType == QSqlDriver::Oracle)
@@ -607,11 +608,12 @@ void tst_QSqlDatabase::alterTable()
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
const QString qtestalter(qTableName("qtestalter", __FILE__, db));
+ const auto noEscapeAlterTable = qTableName("qtestalter", __FILE__, db, false);
QSqlQuery q(db);
QVERIFY_SQL(q, exec("create table " + qtestalter + " (F1 char(20), F2 char(20), F3 char(20))"));
- QSqlRecord rec = db.record(qtestalter);
+ QSqlRecord rec = db.record(noEscapeAlterTable);
QCOMPARE((int)rec.count(), 3);
int i;
@@ -623,7 +625,7 @@ void tst_QSqlDatabase::alterTable()
QSKIP("DBMS doesn't support dropping columns in ALTER TABLE statement");
}
- rec = db.record(qtestalter);
+ rec = db.record(noEscapeAlterTable);
QCOMPARE((int)rec.count(), 2);
@@ -681,13 +683,16 @@ void tst_QSqlDatabase::testRecord(const FieldDef fieldDefs[], const QSqlRecord&
void tst_QSqlDatabase::commonFieldTest(const FieldDef fieldDefs[], QSqlDatabase db, const int fieldCount)
{
CHECK_DATABASE(db);
- const QString tableName = qTableName("qtestfields", __FILE__, db);
- QSqlRecord rec = db.record(tableName);
- QCOMPARE((int)rec.count(), fieldCount+1);
- testRecord(fieldDefs, rec, db);
-
+ const QStringList tableNames = { qTableName("qtestfields", __FILE__, db),
+ qTableName("qtestfields", __FILE__, db, false) };
+ for (const QString table : tableNames) {
+ QSqlRecord rec = db.record(table);
+ QCOMPARE(rec.count(), fieldCount + 1);
+ testRecord(fieldDefs, rec, db);
+ }
QSqlQuery q(db);
- QVERIFY_SQL(q, exec("select * from " + tableName));
+ // Only check the escaped entry
+ QVERIFY_SQL(q, exec("select * from " + tableNames.at(0)));
}
void tst_QSqlDatabase::recordTDS()
@@ -846,12 +851,8 @@ void tst_QSqlDatabase::recordPSQL()
QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
if (dbType == QSqlDriver::PostgreSQL)
QVERIFY_SQL( q, exec("set client_min_messages='warning'"));
- const QString tableName = qTableName("qtestfields", __FILE__, db);
- q.exec("drop sequence " + tableName + "_t_bigserial_seq");
- q.exec("drop sequence " + tableName + "_t_serial_seq");
- // older psql cut off the table name
- q.exec("drop sequence " + tableName + "_t_bigserial_seq");
- q.exec("drop sequence " + tableName + "_t_serial_seq");
+ q.exec("drop sequence " + qTableName("qtestfields_t_bigserial_seq", __FILE__, db));
+ q.exec("drop sequence " + qTableName("qtestfields_t_serial_seq", __FILE__, db));
const int fieldCount = createFieldTable(fieldDefs, db);
QVERIFY(fieldCount > 0);
@@ -912,7 +913,7 @@ void tst_QSqlDatabase::recordMySQL()
FieldDef("date", QVariant::Date, QDate::currentDate()),
FieldDef("datetime", QVariant::DateTime, dt),
FieldDef("timestamp", QVariant::DateTime, dt, false),
- FieldDef("time", QVariant::Time, dt.time()),
+ FieldDef("time", QVariant::String, dt.time()),
FieldDef("year", QVariant::Int, 2003),
FieldDef("char(20)", QVariant::String, "Blah"),
FieldDef("varchar(20)", QVariant::String, "BlahBlah"),
@@ -1205,27 +1206,40 @@ void tst_QSqlDatabase::caseSensivity()
const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
bool cs = false;
- if (dbType == QSqlDriver::MySqlServer || dbType == QSqlDriver::SQLite || dbType == QSqlDriver::Sybase
+ if (dbType == QSqlDriver::MySqlServer || dbType == QSqlDriver::SQLite
+ || dbType == QSqlDriver::Sybase || dbType == QSqlDriver::PostgreSQL
|| dbType == QSqlDriver::MSSqlServer || db.driverName().startsWith("QODBC"))
cs = true;
- QSqlRecord rec = db.record(qTableName("qtest", __FILE__, db));
+ QSqlRecord rec = db.record(qTableName("qtest", __FILE__, db, false));
QVERIFY((int)rec.count() > 0);
if (!cs) {
- rec = db.record(qTableName("QTEST", __FILE__, db).toUpper());
+ rec = db.record(qTableName("QTEST", __FILE__, db, false).toUpper());
QVERIFY((int)rec.count() > 0);
- rec = db.record(qTableName("qTesT", __FILE__, db));
+ rec = db.record(qTableName("qTesT", __FILE__, db, false));
QVERIFY((int)rec.count() > 0);
}
- rec = db.primaryIndex(qTableName("qtest", __FILE__, db));
+ rec = db.primaryIndex(qTableName("qtest", __FILE__, db, false));
QVERIFY((int)rec.count() > 0);
if (!cs) {
- rec = db.primaryIndex(qTableName("QTEST", __FILE__, db).toUpper());
+ rec = db.primaryIndex(qTableName("QTEST", __FILE__, db, false).toUpper());
QVERIFY((int)rec.count() > 0);
- rec = db.primaryIndex(qTableName("qTesT", __FILE__, db));
+ rec = db.primaryIndex(qTableName("qTesT", __FILE__, db, false));
QVERIFY((int)rec.count() > 0);
}
+
+ // Explicit test for case sensitive table creation without quoting
+ QSqlQuery qry(db);
+ const auto noQuotesTable = qTableName("NoQuotes", __FILE__, db, false);
+ tst_Databases::safeDropTable(db, noQuotesTable);
+ QVERIFY_SQL(qry, exec("CREATE TABLE " + noQuotesTable + " (id INTEGER)"));
+ QVERIFY_SQL(qry, exec("INSERT INTO " + noQuotesTable + " VALUES(1)"));
+ QVERIFY_SQL(qry, exec("SELECT * FROM " + noQuotesTable));
+ QVERIFY_SQL(qry, next());
+ QCOMPARE(qry.value(0).toInt(), 1);
+ rec = db.record(cs ? noQuotesTable.toLower() : noQuotesTable);
+ QVERIFY(rec.count() > 0);
}
void tst_QSqlDatabase::noEscapedFieldNamesInRecord()
@@ -1260,17 +1274,19 @@ void tst_QSqlDatabase::psql_schemas()
const QString schemaName = qTableName("qtestschema", __FILE__, db);
QVERIFY_SQL(q, exec("CREATE SCHEMA " + schemaName));
- QString table = schemaName + '.' + qTableName("qtesttable", __FILE__, db);
+ const auto table = schemaName + '.' + qTableName("qtesttable", __FILE__, db);
+ const auto noescapeTable = qTableName("qtestschema", __FILE__, db, false) + '.' +
+ qTableName("qtesttable", __FILE__, db, false);
QVERIFY_SQL(q, exec("CREATE TABLE " + table + " (id int primary key, name varchar(20))"));
- QVERIFY(db.tables().contains(table, Qt::CaseInsensitive));
+ QVERIFY(db.tables().contains(noescapeTable, Qt::CaseInsensitive));
- QSqlRecord rec = db.record(table);
+ QSqlRecord rec = db.record(noescapeTable);
QCOMPARE(rec.count(), 2);
QCOMPARE(rec.fieldName(0), QString("id"));
QCOMPARE(rec.fieldName(1), QString("name"));
- QSqlIndex idx = db.primaryIndex(table);
+ QSqlIndex idx = db.primaryIndex(noescapeTable);
QCOMPARE(idx.count(), 1);
QCOMPARE(idx.fieldName(0), QString("id"));
}
@@ -1288,18 +1304,21 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
QSqlQuery q(db);
QVERIFY_SQL( q, exec("set client_min_messages='warning'"));
- const QString schemaName(qTableName("qtestScHeMa", __FILE__, db)),
+ const char bumpyCase[] = "qtestScHeMa";
+ const QString schemaName(qTableName(bumpyCase, __FILE__, db)),
tableName(qTableName("qtest", __FILE__, db)),
field1Name(QLatin1String("fIeLdNaMe")),
field2Name(QLatin1String("ZuLu"));
- q.exec(QString("DROP SCHEMA \"%1\" CASCADE").arg(schemaName));
- QString createSchema = QString("CREATE SCHEMA \"%1\"").arg(schemaName);
+ q.exec(QString("DROP SCHEMA %1 CASCADE").arg(schemaName));
+ const auto createSchema = QString("CREATE SCHEMA %1").arg(schemaName);
QVERIFY_SQL(q, exec(createSchema));
- QString createTable = QString("CREATE TABLE \"%1\".\"%2\" (\"%3\" int PRIMARY KEY, \"%4\" varchar(20))").arg(schemaName).arg(tableName).arg(field1Name).arg(field2Name);
+ const auto createTable = QString("CREATE TABLE %1.%2 (\"%3\" int PRIMARY KEY, \"%4\" varchar(20))")
+ .arg(schemaName, tableName, field1Name, field2Name);
QVERIFY_SQL(q, exec(createTable));
- QVERIFY(db.tables().contains(schemaName + '.' + tableName, Qt::CaseSensitive));
+ QVERIFY(db.tables().contains(qTableName(bumpyCase, __FILE__, db, false) + '.' +
+ qTableName("qtest", __FILE__, db, false), Qt::CaseSensitive));
QSqlField fld1(field1Name, QVariant::Int);
QSqlField fld2(field2Name, QVariant::String);
@@ -1307,7 +1326,9 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
rec.append(fld1);
rec.append(fld2);
- QVERIFY_SQL(q, exec(drv->sqlStatement(QSqlDriver::SelectStatement, db.driver()->escapeIdentifier(schemaName, QSqlDriver::TableName) + '.' + db.driver()->escapeIdentifier(tableName, QSqlDriver::TableName), rec, false)));
+ QVERIFY_SQL(q, exec(drv->sqlStatement(QSqlDriver::SelectStatement,
+ schemaName + '.' + tableName,
+ rec, false)));
rec = q.record();
QCOMPARE(rec.count(), 2);
@@ -1315,7 +1336,7 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
QCOMPARE(rec.fieldName(1), field2Name);
QCOMPARE(rec.field(0).type(), QVariant::Int);
- q.exec(QString("DROP SCHEMA \"%1\" CASCADE").arg(schemaName));
+ q.exec(QString("DROP SCHEMA %1 CASCADE").arg(schemaName));
}
void tst_QSqlDatabase::psql_escapeBytea()
@@ -2146,7 +2167,7 @@ void tst_QSqlDatabase::eventNotificationPSQL()
CHECK_DATABASE(db);
QSqlQuery query(db);
- QString procedureName = qTableName("posteventProc", __FILE__, db);
+ const auto procedureName = qTableName("posteventProc", __FILE__, db, false);
QString payload = "payload";
QSqlDriver &driver=*(db.driver());
QVERIFY_SQL(driver, subscribeToNotification(procedureName));
@@ -2170,21 +2191,22 @@ void tst_QSqlDatabase::eventNotificationSQLite()
QSKIP("QSQLITE specific test");
}
const QString tableName(qTableName("sqlitnotifytest", __FILE__, db));
+ const auto noEscapeTableName(qTableName("sqlitnotifytest", __FILE__, db, false));
tst_Databases::safeDropTable(db, tableName);
QSignalSpy notificationSpy(db.driver(), SIGNAL(notification(QString)));
QSignalSpy notificationSpyExt(db.driver(), SIGNAL(notification(QString,QSqlDriver::NotificationSource,QVariant)));
QSqlQuery q(db);
QVERIFY_SQL(q, exec("CREATE TABLE " + tableName + " (id INTEGER, realVal REAL)"));
- db.driver()->subscribeToNotification(tableName);
+ db.driver()->subscribeToNotification(noEscapeTableName);
QVERIFY_SQL(q, exec("INSERT INTO " + tableName + " (id, realVal) VALUES (1, 2.3)"));
QTRY_COMPARE(notificationSpy.count(), 1);
QTRY_COMPARE(notificationSpyExt.count(), 1);
QList<QVariant> arguments = notificationSpy.takeFirst();
- QCOMPARE(arguments.at(0).toString(), tableName);
+ QCOMPARE(arguments.at(0).toString(), noEscapeTableName);
arguments = notificationSpyExt.takeFirst();
- QCOMPARE(arguments.at(0).toString(), tableName);
- db.driver()->unsubscribeFromNotification(tableName);
+ QCOMPARE(arguments.at(0).toString(), noEscapeTableName);
+ db.driver()->unsubscribeFromNotification(noEscapeTableName);
QVERIFY_SQL(q, exec("INSERT INTO " + tableName + " (id, realVal) VALUES (1, 2.3)"));
QTRY_COMPARE(notificationSpy.count(), 0);
QTRY_COMPARE(notificationSpyExt.count(), 0);
@@ -2422,6 +2444,16 @@ public slots:
QSqlDatabase invalidDb = QSqlDatabase::database("invalid");
QVERIFY(!invalidDb.isValid());
+
+ {
+ QSqlDatabase clonedDatabase = QSqlDatabase::cloneDatabase(dbName, "CloneDB");
+ QVERIFY(!clonedDatabase.isOpen());
+ QVERIFY(clonedDatabase.isValid());
+ QVERIFY(clonedDatabase.open());
+ QVERIFY(clonedDatabase.isOpen());
+ clonedDatabase.close();
+ }
+
QThread::currentThread()->exit();
}
private:
diff --git a/tests/auto/sql/kernel/qsqlerror/tst_qsqlerror.cpp b/tests/auto/sql/kernel/qsqlerror/tst_qsqlerror.cpp
index 08c6039e37..be0285537e 100644
--- a/tests/auto/sql/kernel/qsqlerror/tst_qsqlerror.cpp
+++ b/tests/auto/sql/kernel/qsqlerror/tst_qsqlerror.cpp
@@ -46,6 +46,7 @@ private slots:
void construction();
void moveOperator();
void operators();
+ void qtbug_74575();
};
tst_QSqlError::tst_QSqlError()
@@ -113,6 +114,7 @@ void tst_QSqlError::construction()
QVERIFY(!obj4.isValid());
QCOMPARE(obj4.driverText(), QString());
QCOMPARE(obj4.databaseText(), QString());
+ QCOMPARE(obj4.text(), QString());
QCOMPARE(obj4.type(), QSqlError::NoError);
QCOMPARE(obj4.number(), -1);
QCOMPARE(obj4.nativeErrorCode(), QString());
@@ -180,6 +182,28 @@ void tst_QSqlError::operators()
QVERIFY(error1 != error3);
}
+void tst_QSqlError::qtbug_74575()
+{
+ const QString driverText(QStringLiteral("drivertext"));
+ const QString databaseText(QStringLiteral("databasetext"));
+ const QString databaseTextNewline(QStringLiteral("databasetext\n"));
+
+ QSqlError error1(driverText, databaseText,
+ QSqlError::UnknownError, QStringLiteral("123"));
+ QCOMPARE(error1.text(), databaseText + QLatin1Char(' ') + driverText);
+
+ QSqlError error2(QString(), databaseText,
+ QSqlError::UnknownError, QStringLiteral("123"));
+ QCOMPARE(error2.text(), databaseText);
+
+ QSqlError error3(driverText, QString(),
+ QSqlError::UnknownError, QStringLiteral("123"));
+ QCOMPARE(error3.text(), driverText);
+
+ QSqlError error4(driverText, databaseTextNewline,
+ QSqlError::UnknownError, QStringLiteral("123"));
+ QCOMPARE(error4.text(), databaseTextNewline + driverText);
+}
QTEST_MAIN(tst_QSqlError)
#include "tst_qsqlerror.moc"
diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
index 4ce1009c90..784d0a70d7 100644
--- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
@@ -158,6 +158,8 @@ private slots:
void lastInsertId();
void lastQuery_data() { generic_data(); }
void lastQuery();
+ void lastQueryTwoQueries_data() { generic_data(); }
+ void lastQueryTwoQueries();
void bindBool_data() { generic_data(); }
void bindBool();
void psql_bindWithDoubleColonCastOperator_data() { generic_data("QPSQL"); }
@@ -633,13 +635,20 @@ void tst_QSqlQuery::bindBool()
QVERIFY_SQL(q, exec());
}
- QVERIFY_SQL(q, exec("SELECT id, flag FROM " + tableName));
+ QVERIFY_SQL(q, exec("SELECT id, flag FROM " + tableName + " ORDER BY id"));
for (int i = 0; i < 2; ++i) {
bool flag = i;
QVERIFY_SQL(q, next());
QCOMPARE(q.value(0).toInt(), i);
QCOMPARE(q.value(1).toBool(), flag);
}
+ QVERIFY_SQL(q, prepare("SELECT flag FROM " + tableName + " WHERE flag = :filter"));
+ const bool filter = true;
+ q.bindValue(":filter", filter);
+ QVERIFY_SQL(q, exec());
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toBool(), filter);
+ QFAIL_SQL(q, next());
QVERIFY_SQL(q, exec("DROP TABLE " + tableName));
}
@@ -1089,7 +1098,7 @@ void tst_QSqlQuery::record()
for (int i = 0; i < 3; ++i)
QCOMPARE(q.record().field(i).tableName().toLower(), lowerQTest);
q.clear();
- const auto tst_record = qTableName("tst_record", __FILE__, db).toLower();
+ const auto tst_record = qTableName("tst_record", __FILE__, db, false).toLower();
SETUP_RECORD_TABLE;
CHECK_RECORD;
q.clear();
@@ -2806,6 +2815,25 @@ void tst_QSqlQuery::lastQuery()
QCOMPARE( q.executedQuery(), sql );
}
+void tst_QSqlQuery::lastQueryTwoQueries()
+{
+ QFETCH(QString, dbName);
+ QSqlDatabase db = QSqlDatabase::database(dbName);
+ CHECK_DATABASE(db);
+
+ QSqlQuery q(db);
+
+ QString sql = QLatin1String("select * from ") + qtest;
+ QVERIFY_SQL(q, exec(sql));
+ QCOMPARE(q.lastQuery(), sql);
+ QCOMPARE(q.executedQuery(), sql);
+
+ sql = QLatin1String("select id from ") + qtest;
+ QVERIFY_SQL(q, exec(sql));
+ QCOMPARE(q.lastQuery(), sql);
+ QCOMPARE(q.executedQuery(), sql);
+}
+
void tst_QSqlQuery::psql_bindWithDoubleColonCastOperator()
{
QFETCH( QString, dbName );
@@ -3735,15 +3763,13 @@ void tst_QSqlQuery::QTBUG_5251()
const QString timetest(qTableName("timetest", __FILE__, db));
tst_Databases::safeDropTable(db, timetest);
QSqlQuery q(db);
- QVERIFY_SQL(q, exec(QStringLiteral("CREATE TABLE \"") + timetest + QStringLiteral("\" (t TIME)")));
- QVERIFY_SQL(q, exec(QStringLiteral("INSERT INTO \"") + timetest +
- QStringLiteral("\" VALUES ('1:2:3.666')")));
+ QVERIFY_SQL(q, exec(QStringLiteral("CREATE TABLE ") + timetest + QStringLiteral(" (t TIME)")));
+ QVERIFY_SQL(q, exec(QStringLiteral("INSERT INTO ") + timetest +
+ QStringLiteral(" VALUES ('1:2:3.666')")));
QSqlTableModel timetestModel(0,db);
timetestModel.setEditStrategy(QSqlTableModel::OnManualSubmit);
timetestModel.setTable(timetest);
- if (tst_Databases::getDatabaseType(db) == QSqlDriver::PostgreSQL)
- QEXPECT_FAIL("", "Currently broken for PostgreSQL due to case sensitivity problems - see QTBUG-65788", Abort);
QVERIFY_SQL(timetestModel, select());
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("01:02:03.666"));
@@ -3752,8 +3778,8 @@ void tst_QSqlQuery::QTBUG_5251()
QVERIFY_SQL(timetestModel, submitAll());
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:12:34.500"));
- QVERIFY_SQL(q, exec(QStringLiteral("UPDATE \"") + timetest +
- QStringLiteral("\" SET t = '0:11:22.33'")));
+ QVERIFY_SQL(q, exec(QStringLiteral("UPDATE ") + timetest +
+ QStringLiteral(" SET t = '0:11:22.33'")));
QVERIFY_SQL(timetestModel, select());
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:11:22.330"));
diff --git a/tests/auto/sql/models/models.pro b/tests/auto/sql/models/models.pro
index 2c3ae4ef0a..da807f4351 100644
--- a/tests/auto/sql/models/models.pro
+++ b/tests/auto/sql/models/models.pro
@@ -1,8 +1,8 @@
TEMPLATE=subdirs
-SUBDIRS=\
+qtHaveModule(widgets): SUBDIRS = \
qsqlquerymodel \
- qsqlrelationaltablemodel \
+ qsqlrelationaldelegate
+
+SUBDIRS += qsqlrelationaltablemodel \
qsqltablemodel \
-!qtHaveModule(widgets): SUBDIRS -= \
- qsqlquerymodel
diff --git a/tests/auto/sql/models/qsqlrelationaldelegate/tst_qsqlrelationaldelegate.cpp b/tests/auto/sql/models/qsqlrelationaldelegate/tst_qsqlrelationaldelegate.cpp
index 36f592395e..a7089c06a1 100644
--- a/tests/auto/sql/models/qsqlrelationaldelegate/tst_qsqlrelationaldelegate.cpp
+++ b/tests/auto/sql/models/qsqlrelationaldelegate/tst_qsqlrelationaldelegate.cpp
@@ -158,12 +158,13 @@ void tst_QSqlRelationalDelegate::comboBoxEditor()
QTest::keyClick(editor, Qt::Key_Down);
QTest::keyClick(editor, Qt::Key_Enter);
QCOMPARE(editor->currentText(), "mister");
+ QTest::keyClick(tv.viewport(), Qt::Key_Tab);
QVERIFY_SQL(model, submitAll());
QSqlQuery qry(db);
QVERIFY_SQL(qry, exec("SELECT title_key FROM " + reltest1 + " WHERE id=1"));
QVERIFY(qry.next());
- QCOMPARE(qry.value(0).toString(), "mister");
+ QCOMPARE(qry.value(0).toString(), "2");
}
QTEST_MAIN(tst_QSqlRelationalDelegate)
diff --git a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
index e4a277e096..722ef9c570 100644
--- a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
+++ b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
@@ -122,13 +122,13 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
QVERIFY_SQL( q, exec("insert into " + reltest5 + " values('mister', 'Mr')"));
if (testWhiteSpaceNames(db.driverName())) {
- QString reltest6 = db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test6", QSqlDriver::TableName);
+ const auto reltest6 = qTableName("rel test6", __FILE__, db);
QVERIFY_SQL( q, exec("create table " + reltest6 + " (id int not null primary key, " + db.driver()->escapeIdentifier("city key", QSqlDriver::FieldName) +
" int, " + db.driver()->escapeIdentifier("extra field", QSqlDriver::FieldName) + " int)"));
QVERIFY_SQL( q, exec("insert into " + reltest6 + " values(1, 1,9)"));
QVERIFY_SQL( q, exec("insert into " + reltest6 + " values(2, 2,8)"));
- QString reltest7 = db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test7", QSqlDriver::TableName);
+ const auto reltest7 = qTableName("rel test7", __FILE__, db);
QVERIFY_SQL( q, exec("create table " + reltest7 + " (" + db.driver()->escapeIdentifier("city id", QSqlDriver::TableName) + " int not null primary key, " + db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName) + " varchar(20))"));
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(1, 'New York')"));
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(2, 'Washington')"));
@@ -170,8 +170,8 @@ void tst_QSqlRelationalTableModel::dropTestTables( QSqlDatabase db )
<< reltest3
<< reltest4
<< reltest5
- << (qTableName("rel", __FILE__, db) + " test6")
- << (qTableName( "rel", __FILE__, db) + " test7")
+ << qTableName("rel test6", __FILE__, db)
+ << qTableName("rel test7", __FILE__, db)
<< qTableName("CASETEST1", db)
<< qTableName("casetest1", db);
tst_Databases::safeDropTables( db, tableNames );
@@ -1379,9 +1379,9 @@ void tst_QSqlRelationalTableModel::whiteSpaceInIdentifiers()
if (!testWhiteSpaceNames(db.driverName()))
QSKIP("White space test irrelevant for driver");
QSqlRelationalTableModel model(0, db);
- model.setTable(db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test6", QSqlDriver::TableName));
+ model.setTable(qTableName("rel test6", __FILE__, db));
model.setSort(0, Qt::DescendingOrder);
- model.setRelation(1, QSqlRelation(db.driver()->escapeIdentifier(qTableName("rel", __FILE__, db) + " test7", QSqlDriver::TableName),
+ model.setRelation(1, QSqlRelation(qTableName("rel test7", __FILE__, db),
db.driver()->escapeIdentifier("city id", QSqlDriver::FieldName),
db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName)));
QVERIFY_SQL(model, select());
@@ -1547,8 +1547,6 @@ void tst_QSqlRelationalTableModel::relationOnFirstColumn()
//modify the model data
QVERIFY_SQL(model, setData(model.index(0, 0), 40));
- if (tst_Databases::getDatabaseType(db) == QSqlDriver::PostgreSQL)
- QEXPECT_FAIL("", "Currently broken for PostgreSQL due to case sensitivity problems - see QTBUG-65788", Abort);
QVERIFY_SQL(model, submit());
QVERIFY_SQL(model, setData(model.index(1, 0), 50));
QVERIFY_SQL(model, submit());
diff --git a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
index da31f437d9..b617151a36 100644
--- a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
+++ b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
@@ -383,8 +383,6 @@ void tst_QSqlTableModel::selectRow()
q.exec("UPDATE " + tbl + " SET a = 'Qt' WHERE id = 1");
QCOMPARE(model.data(idx).toString(), QString("b"));
model.selectRow(1);
- if (tst_Databases::getDatabaseType(db) == QSqlDriver::PostgreSQL)
- QEXPECT_FAIL("", "Currently broken for PostgreSQL due to case sensitivity problems - see QTBUG-65788", Abort);
QCOMPARE(model.data(idx).toString(), QString("Qt"));
// Check if selectRow() refreshes a changed row.
@@ -441,8 +439,6 @@ void tst_QSqlTableModel::selectRowOverride()
// both rows should have changed
QCOMPARE(model.data(idx).toString(), QString("Qt"));
idx = model.index(2, 1);
- if (tst_Databases::getDatabaseType(db) == QSqlDriver::PostgreSQL)
- QEXPECT_FAIL("", "Currently broken for PostgreSQL due to case sensitivity problems - see QTBUG-65788", Abort);
QCOMPARE(model.data(idx).toString(), QString("Qt"));
q.exec("DELETE FROM " + tbl);
@@ -854,8 +850,6 @@ void tst_QSqlTableModel::insertRowFailure()
// populate 1 row
const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
- if (dbType == QSqlDriver::PostgreSQL && submitpolicy != QSqlTableModel::OnManualSubmit)
- QEXPECT_FAIL("", "Currently broken for PostgreSQL due to case sensitivity problems - see QTBUG-65788", Abort);
QVERIFY_SQL(model, insertRecord(0, values));
QVERIFY_SQL(model, submitAll());
QVERIFY_SQL(model, select());
@@ -899,8 +893,6 @@ void tst_QSqlTableModel::insertRowFailure()
// restore empty table
model.revertAll();
QVERIFY_SQL(model, removeRow(0));
- if (dbType == QSqlDriver::PostgreSQL)
- QEXPECT_FAIL("", "Currently broken for PostgreSQL due to case sensitivity problems - see QTBUG-65788", Abort);
QVERIFY_SQL(model, submitAll());
QVERIFY_SQL(model, select());
QCOMPARE(model.rowCount(), 0);
@@ -2009,8 +2001,6 @@ void tst_QSqlTableModel::tableModifyWithBlank()
//Should be equivalent to QSqlQuery INSERT INTO... command)
QVERIFY_SQL(model, insertRow(0));
QVERIFY_SQL(model, setData(model.index(0,0),timeString));
- if (tst_Databases::getDatabaseType(db) == QSqlDriver::PostgreSQL)
- QEXPECT_FAIL("", "Currently broken for PostgreSQL due to case sensitivity problems - see QTBUG-65788", Abort);
QVERIFY_SQL(model, submitAll());
//set a filter on the table so the only record we get is the one we just made
diff --git a/tests/auto/testlib/outformat/outformat.pro b/tests/auto/testlib/outformat/outformat.pro
new file mode 100644
index 0000000000..ea02f3167f
--- /dev/null
+++ b/tests/auto/testlib/outformat/outformat.pro
@@ -0,0 +1,7 @@
+CONFIG += testcase
+QT = core testlib
+
+SOURCES += tst_outformat.cpp
+TARGET = outformat
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/outformat/tst_outformat.cpp b/tests/auto/testlib/outformat/tst_outformat.cpp
new file mode 100644
index 0000000000..5d131159a9
--- /dev/null
+++ b/tests/auto/testlib/outformat/tst_outformat.cpp
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+
+class tst_OutFormat : public QObject
+{
+ Q_OBJECT
+private slots:
+ void toHex_data() const;
+ void toHex() const;
+ // other formats of interest ?
+};
+
+void tst_OutFormat::toHex_data() const
+{
+ QTest::addColumn<QByteArray>("raw");
+ QTest::addColumn<QByteArray>("hex");
+
+ QTest::newRow("empty") << QByteArray("") << QByteArray("");
+ QTest::newRow("long")
+ << QByteArray("Truncates in ellipsis when more than fifty characters long")
+ << QByteArray("54 72 75 6E 63 61 74 65 73 20 69 6E 20 65 6C 6C "
+ "69 70 73 69 73 20 77 68 65 6E 20 6D 6F 72 65 20 "
+ "74 68 61 6E 20 66 69 66 74 79 20 63 68 61 72 61 "
+ "63 74 ...");
+ QTest::newRow("spaces")
+ << QByteArray(" \t\n\v\f\r") << QByteArray("20 09 0A 0B 0C 0D");
+ QTest::newRow("ASCII-escapes")
+ << QByteArray("\a\b\\\"'\177") << QByteArray("07 08 5C 22 27 7F");
+ // These are the ISO Latin-15 &nbsp;, pound, Euro, ..., y-umlaut
+ QTest::newRow("8-bit-sampler")
+ << QByteArray("\240\243\244\261\327\360\377") << QByteArray("A0 A3 A4 B1 D7 F0 FF");
+}
+
+void tst_OutFormat::toHex() const
+{
+ QFETCH(QByteArray, raw);
+ QFETCH(QByteArray, hex);
+ QScopedArrayPointer<char> repr(QTest::toHexRepresentation(raw.constData(), raw.size()));
+ QCOMPARE(repr.data(), hex);
+}
+
+QTEST_APPLESS_MAIN(tst_OutFormat)
+
+#include "tst_outformat.moc"
diff --git a/tests/auto/testlib/qabstractitemmodeltester/qabstractitemmodeltester.pro b/tests/auto/testlib/qabstractitemmodeltester/qabstractitemmodeltester.pro
index 306e8089f3..1aefc544d1 100644
--- a/tests/auto/testlib/qabstractitemmodeltester/qabstractitemmodeltester.pro
+++ b/tests/auto/testlib/qabstractitemmodeltester/qabstractitemmodeltester.pro
@@ -11,3 +11,5 @@ SOURCES += \
HEADERS += \
$${mtdir}/dynamictreemodel.h
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp
index 0593ae74bf..60aa350145 100644
--- a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp
+++ b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp
@@ -79,9 +79,9 @@ void tst_QAbstractItemModelTester::treeWidgetModel()
root->removeChild(remove);
QTreeWidgetItem *parent = new QTreeWidgetItem(&widget, QStringList("parent"));
new QTreeWidgetItem(parent, QStringList("child"));
- widget.setItemHidden(parent, true);
+ parent->setHidden(true);
- widget.sortByColumn(0);
+ widget.sortByColumn(0, Qt::AscendingOrder);
}
void tst_QAbstractItemModelTester::standardItemModel()
diff --git a/tests/auto/testlib/qsignalspy/qsignalspy.pro b/tests/auto/testlib/qsignalspy/qsignalspy.pro
index 1578802bf8..5343a98c14 100644
--- a/tests/auto/testlib/qsignalspy/qsignalspy.pro
+++ b/tests/auto/testlib/qsignalspy/qsignalspy.pro
@@ -2,3 +2,5 @@ CONFIG += testcase
TARGET = tst_qsignalspy
SOURCES += tst_qsignalspy.cpp
QT = core testlib
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/alive/.gitignore b/tests/auto/testlib/selftests/alive/.gitignore
deleted file mode 100644
index 561285c5d0..0000000000
--- a/tests/auto/testlib/selftests/alive/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-tst_alive
diff --git a/tests/auto/testlib/selftests/alive/alive.pro b/tests/auto/testlib/selftests/alive/alive.pro
deleted file mode 100644
index d3df09b10d..0000000000
--- a/tests/auto/testlib/selftests/alive/alive.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-SOURCES += tst_alive.cpp
-QT = core testlib
-
-mac:CONFIG -= app_bundle
-CONFIG -= debug_and_release_target
-
-
-TARGET = alive
diff --git a/tests/auto/testlib/selftests/alive/qtestalive.cpp b/tests/auto/testlib/selftests/alive/qtestalive.cpp
deleted file mode 100644
index 0200f2a563..0000000000
--- a/tests/auto/testlib/selftests/alive/qtestalive.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <qcoreapplication.h>
-#include <qcoreevent.h>
-#include <qthread.h>
-
-class QTestAliveEvent: public QEvent
-{
-public:
-
- enum { AliveEventType = QEvent::User + 422 };
-
- explicit inline QTestAliveEvent(int aSequenceId)
- : QEvent(QEvent::Type(AliveEventType)), seqId(aSequenceId)
- {}
- inline int sequenceId() const { return seqId; }
-
-private:
- int seqId;
-};
-
-class QTestAlivePinger: public QObject
-{
-public:
- QTestAlivePinger(QObject *receiver, QObject *parent = 0);
- bool event(QEvent *e);
-
-protected:
- void timerEvent(QTimerEvent *event);
-
-private:
- QObject *rec;
- int timerId;
- int currentSequenceId;
- int lastSequenceId;
-};
-
-QTestAlivePinger::QTestAlivePinger(QObject *receiver, QObject *parent)
- : QObject(parent), rec(receiver), currentSequenceId(0), lastSequenceId(0)
-{
- if (!rec)
- qFatal("Null receiver object passed to QTestAlivePinger::QTestAlivePinger()");
- timerId = startTimer(850);
-}
-
-bool QTestAlivePinger::event(QEvent *event)
-{
- // pong received
- if (int(event->type()) == QTestAliveEvent::AliveEventType) {
- QTestAliveEvent *e = static_cast<QTestAliveEvent *>(event);
- //qDebug("PONG %d received", e->sequenceId());
- // if the events are not delivered in order, we don't care.
- if (e->sequenceId() > lastSequenceId)
- lastSequenceId = e->sequenceId();
- return true;
- }
- return QObject::event(event);
-}
-
-void QTestAlivePinger::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() != timerId)
- return;
-
- if (lastSequenceId < currentSequenceId - 2) {
- qWarning("TEST LAGS %d PINGS behind!", currentSequenceId - lastSequenceId);
- }
- ++currentSequenceId;
- //qDebug("PING %d", currentSequenceId);
- QCoreApplication::postEvent(rec, new QTestAliveEvent(currentSequenceId));
-}
-
-class QTestAlive: public QThread
-{
-public:
- QTestAlive(QObject *parent = 0);
- ~QTestAlive();
- void run();
-
- bool event(QEvent *e);
-
-private:
- QTestAlivePinger *pinger;
-};
-
-QTestAlive::QTestAlive(QObject *parent)
- : QThread(parent), pinger(0)
-{
-}
-
-QTestAlive::~QTestAlive()
-{
- quit();
- while (isRunning());
-}
-
-bool QTestAlive::event(QEvent *e)
-{
- if (int(e->type()) == QTestAliveEvent::AliveEventType && pinger) {
- // ping received, send back the pong
- //qDebug("PONG %d", static_cast<QTestAliveEvent *>(e)->sequenceId());
- QCoreApplication::postEvent(pinger,
- new QTestAliveEvent(static_cast<QTestAliveEvent *>(e)->sequenceId()));
- return true;
- }
- return QThread::event(e);
-}
-
-void QTestAlive::run()
-{
- if (!QCoreApplication::instance())
- qFatal("QTestAlive::run(): Cannot start QTestAlive without a QCoreApplication instance.");
-
- QTestAlivePinger p(this);
- pinger = &p;
- exec();
- pinger = 0;
-}
-
-
diff --git a/tests/auto/testlib/selftests/assert/assert.pro b/tests/auto/testlib/selftests/assert/assert.pro
index cfc6a0c6b3..0692b6bdf2 100644
--- a/tests/auto/testlib/selftests/assert/assert.pro
+++ b/tests/auto/testlib/selftests/assert/assert.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = assert
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/badxml/badxml.pro b/tests/auto/testlib/selftests/badxml/badxml.pro
index 7b3b0f701c..4e15886504 100644
--- a/tests/auto/testlib/selftests/badxml/badxml.pro
+++ b/tests/auto/testlib/selftests/badxml/badxml.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = badxml
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/benchlibcallgrind/benchlibcallgrind.pro b/tests/auto/testlib/selftests/benchlibcallgrind/benchlibcallgrind.pro
index 6cbefe518c..12f068843e 100644
--- a/tests/auto/testlib/selftests/benchlibcallgrind/benchlibcallgrind.pro
+++ b/tests/auto/testlib/selftests/benchlibcallgrind/benchlibcallgrind.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = benchlibcallgrind
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp b/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp
index 0d3e884a56..fe83ee6608 100644
--- a/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp
+++ b/tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp
@@ -68,9 +68,9 @@ void tst_BenchlibCallgrind::twoHundredMillionInstructions()
QBENCHMARK {
__asm__ __volatile__(
"mov $100000000,%%eax \n"
- "LOOPTOP: \n"
+ "1: \n"
"dec %%eax \n"
- "jnz LOOPTOP \n"
+ "jnz 1b \n"
: /* no output */
: /* no input */
: /* clobber */ "eax"
diff --git a/tests/auto/testlib/selftests/benchlibcounting/benchlibcounting.pro b/tests/auto/testlib/selftests/benchlibcounting/benchlibcounting.pro
index b495995eac..786511d057 100644
--- a/tests/auto/testlib/selftests/benchlibcounting/benchlibcounting.pro
+++ b/tests/auto/testlib/selftests/benchlibcounting/benchlibcounting.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = benchlibcounting
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/benchlibeventcounter/benchlibeventcounter.pro b/tests/auto/testlib/selftests/benchlibeventcounter/benchlibeventcounter.pro
index 5e2b963491..98fa0e4567 100644
--- a/tests/auto/testlib/selftests/benchlibeventcounter/benchlibeventcounter.pro
+++ b/tests/auto/testlib/selftests/benchlibeventcounter/benchlibeventcounter.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = benchlibeventcounter
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/benchliboptions/benchliboptions.pro b/tests/auto/testlib/selftests/benchliboptions/benchliboptions.pro
index f4bcc92129..0b627ecb10 100644
--- a/tests/auto/testlib/selftests/benchliboptions/benchliboptions.pro
+++ b/tests/auto/testlib/selftests/benchliboptions/benchliboptions.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = benchliboptions
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/benchlibtickcounter/benchlibtickcounter.pro b/tests/auto/testlib/selftests/benchlibtickcounter/benchlibtickcounter.pro
index ce0ec7012c..f0741d5c26 100644
--- a/tests/auto/testlib/selftests/benchlibtickcounter/benchlibtickcounter.pro
+++ b/tests/auto/testlib/selftests/benchlibtickcounter/benchlibtickcounter.pro
@@ -6,3 +6,5 @@ CONFIG -= debug_and_release_target
TARGET = benchlibtickcounter
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/benchlibwalltime/benchlibwalltime.pro b/tests/auto/testlib/selftests/benchlibwalltime/benchlibwalltime.pro
index 0e689871ab..80d97a2422 100644
--- a/tests/auto/testlib/selftests/benchlibwalltime/benchlibwalltime.pro
+++ b/tests/auto/testlib/selftests/benchlibwalltime/benchlibwalltime.pro
@@ -6,3 +6,5 @@ CONFIG -= debug_and_release_target
TARGET = benchlibwalltime
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/blacklisted/BLACKLIST b/tests/auto/testlib/selftests/blacklisted/BLACKLIST
index 36b7699cbd..a923c11416 100644
--- a/tests/auto/testlib/selftests/blacklisted/BLACKLIST
+++ b/tests/auto/testlib/selftests/blacklisted/BLACKLIST
@@ -1,12 +1,20 @@
-[pass]
+obscure # no such platform; is ignored
*
+
+[pass]
+!*
+
[skip]
*
+
[fail]
*
-[xpass]
-*
+
[xfail]
*
+
+[xpass]
+*
+
[messages]
*
diff --git a/tests/auto/testlib/selftests/blacklisted/blacklisted.pro b/tests/auto/testlib/selftests/blacklisted/blacklisted.pro
index 5bd22910b1..a8602ee266 100644
--- a/tests/auto/testlib/selftests/blacklisted/blacklisted.pro
+++ b/tests/auto/testlib/selftests/blacklisted/blacklisted.pro
@@ -5,3 +5,5 @@ mac: CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = blacklisted
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp b/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
index 8578752e22..49c08982ad 100644
--- a/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
+++ b/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
@@ -45,7 +45,8 @@ private slots:
void messages();
};
-// All the tests below have been blacklisted in blacklisted/BLACKLIST
+// All the tests below except pass() have been blacklisted in blacklisted/BLACKLIST
+// Contrast with ../silent/, for the same tests without blacklisting but with -silent
void tst_Blacklisted::pass()
{
@@ -64,16 +65,27 @@ void tst_Blacklisted::fail()
void tst_Blacklisted::xfail()
{
- QEXPECT_FAIL("", "This test should XFAIL then BFAIL", Abort);
+ QEXPECT_FAIL("", "This test should BXFAIL then BPASS", Abort);
QVERIFY(false);
}
void tst_Blacklisted::xpass()
{
- QEXPECT_FAIL("", "This test should XPASS", Abort);
- QVERIFY2(true, "This test should XPASS, blacklist ignored for XPASS");
+ QEXPECT_FAIL("", "This test should BXPASS", Abort);
+ QVERIFY2(true, "This test should BXPASS");
}
+#ifndef Q_OS_WIN
+#include <signal.h>
+#include <setjmp.h>
+
+static jmp_buf state;
+static void abort_handler(int signal)
+{
+ longjmp(state, 1);
+}
+#endif
+
void tst_Blacklisted::messages()
{
qWarning("This is a warning that should not appear in silent test output");
@@ -82,7 +94,15 @@ void tst_Blacklisted::messages()
qCritical("This is a critical message that should not appear in silent test output");
qInfo("This is an info message that should not appear in silent test output");
QTestLog::info("This is an internal testlib info message that should not appear in silent test output", __FILE__, __LINE__);
- qFatal("This is a fatal error message that should still appear in silent test output");
+
+#ifndef Q_OS_WIN
+ // We're testing qFatal, but we don't want to actually std::abort() !
+ auto prior = signal(SIGABRT, abort_handler);
+ if (setjmp(state))
+ signal(SIGABRT, prior);
+ else
+#endif
+ qFatal("This is a fatal error message that should still appear in silent test output");
}
QTEST_MAIN(tst_Blacklisted)
diff --git a/tests/auto/testlib/selftests/cmptest/cmptest.pro b/tests/auto/testlib/selftests/cmptest/cmptest.pro
index 2d5dd071a9..f38f5ecce1 100644
--- a/tests/auto/testlib/selftests/cmptest/cmptest.pro
+++ b/tests/auto/testlib/selftests/cmptest/cmptest.pro
@@ -6,3 +6,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = cmptest
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/cmptest/tst_cmptest.cpp b/tests/auto/testlib/selftests/cmptest/tst_cmptest.cpp
index 8e2c7694a5..467c53088e 100644
--- a/tests/auto/testlib/selftests/cmptest/tst_cmptest.cpp
+++ b/tests/auto/testlib/selftests/cmptest/tst_cmptest.cpp
@@ -256,7 +256,7 @@ void tst_Cmptest::compare_boolfuncs()
namespace {
template <typename T>
-T *null() Q_DECL_NOTHROW { return nullptr; }
+T *null() noexcept { return nullptr; }
}
void tst_Cmptest::compare_to_nullptr()
diff --git a/tests/auto/testlib/selftests/commandlinedata/commandlinedata.pro b/tests/auto/testlib/selftests/commandlinedata/commandlinedata.pro
index 056388333a..8032ba5a02 100644
--- a/tests/auto/testlib/selftests/commandlinedata/commandlinedata.pro
+++ b/tests/auto/testlib/selftests/commandlinedata/commandlinedata.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = commandlinedata
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/counting/counting.pro b/tests/auto/testlib/selftests/counting/counting.pro
index 8aa2fe5753..be3a5339b0 100644
--- a/tests/auto/testlib/selftests/counting/counting.pro
+++ b/tests/auto/testlib/selftests/counting/counting.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = counting
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/crashes/crashes.pro b/tests/auto/testlib/selftests/crashes/crashes.pro
index 25e24243d1..00fa07a415 100644
--- a/tests/auto/testlib/selftests/crashes/crashes.pro
+++ b/tests/auto/testlib/selftests/crashes/crashes.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = crashes
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/datatable/datatable.pro b/tests/auto/testlib/selftests/datatable/datatable.pro
index 72fa851ae6..12a1f697b1 100644
--- a/tests/auto/testlib/selftests/datatable/datatable.pro
+++ b/tests/auto/testlib/selftests/datatable/datatable.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = datatable
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/datetime/datetime.pro b/tests/auto/testlib/selftests/datetime/datetime.pro
index d65c59354f..1524281090 100644
--- a/tests/auto/testlib/selftests/datetime/datetime.pro
+++ b/tests/auto/testlib/selftests/datetime/datetime.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = datetime
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/deleteLater/deleteLater.pro b/tests/auto/testlib/selftests/deleteLater/deleteLater.pro
index 6847238b1d..9a10096461 100644
--- a/tests/auto/testlib/selftests/deleteLater/deleteLater.pro
+++ b/tests/auto/testlib/selftests/deleteLater/deleteLater.pro
@@ -5,3 +5,5 @@ CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = tst_deleteLater
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro b/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro
index f860a767cd..6f2b253c14 100644
--- a/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro
+++ b/tests/auto/testlib/selftests/deleteLater_noApp/deleteLater_noApp.pro
@@ -5,3 +5,5 @@ CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = tst_deleteLater_noApp
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/differentexec/differentexec.pro b/tests/auto/testlib/selftests/differentexec/differentexec.pro
index 7f148ba996..339962f609 100644
--- a/tests/auto/testlib/selftests/differentexec/differentexec.pro
+++ b/tests/auto/testlib/selftests/differentexec/differentexec.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = differentexec
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/exceptionthrow/exceptionthrow.pro b/tests/auto/testlib/selftests/exceptionthrow/exceptionthrow.pro
index fe89f6f3cd..5473ec32c3 100644
--- a/tests/auto/testlib/selftests/exceptionthrow/exceptionthrow.pro
+++ b/tests/auto/testlib/selftests/exceptionthrow/exceptionthrow.pro
@@ -6,3 +6,5 @@ CONFIG -= debug_and_release_target
CONFIG += exceptions
TARGET = exceptionthrow
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/expected_benchlibcallgrind.tap b/tests/auto/testlib/selftests/expected_benchlibcallgrind.tap
new file mode 100644
index 0000000000..953756ac9e
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_benchlibcallgrind.tap
@@ -0,0 +1,15 @@
+TAP version 13
+# tst_BenchlibCallgrind
+TAP version 13
+# tst_BenchlibCallgrind
+ok 1 - initTestCase()
+ok 2 - twoHundredMillionInstructions() # SKIP This test is only defined for gcc and x86.
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 2
+# fail 0
+1..0
+# tests 0
+# pass 0
+# fail 0
diff --git a/tests/auto/testlib/selftests/expected_benchliboptions.tap b/tests/auto/testlib/selftests/expected_benchliboptions.tap
new file mode 100644
index 0000000000..6a006ea881
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_benchliboptions.tap
@@ -0,0 +1,27 @@
+TAP version 13
+# tst_BenchlibOptions
+ok 1 - initTestCase()
+ok 2 - threeEvents()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
+TAP version 13
+# tst_BenchlibFifteenIterations
+ok 1 - initTestCase()
+ok 2 - threeEvents()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
+TAP version 13
+# tst_BenchlibOneHundredMinimum
+ok 1 - initTestCase()
+ok 2 - threeEvents()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
diff --git a/tests/auto/testlib/selftests/expected_blacklisted.lightxml b/tests/auto/testlib/selftests/expected_blacklisted.lightxml
index 4193628e7c..5cf62ed104 100644
--- a/tests/auto/testlib/selftests/expected_blacklisted.lightxml
+++ b/tests/auto/testlib/selftests/expected_blacklisted.lightxml
@@ -24,15 +24,15 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="xfail">
-<Incident type="xfail" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
- <Description><![CDATA[This test should XFAIL then BFAIL]]></Description>
+<Incident type="bxfail" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
+ <Description><![CDATA[This test should BXFAIL then BPASS]]></Description>
</Incident>
<Incident type="bpass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="xpass">
-<Incident type="xpass" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
- <Description><![CDATA['true' returned TRUE unexpectedly. (This test should XPASS, blacklist ignored for XPASS)]]></Description>
+<Incident type="bxpass" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
+ <Description><![CDATA['true' returned TRUE unexpectedly. (This test should BXPASS)]]></Description>
</Incident>
<Duration msecs="0"/>
</TestFunction>
diff --git a/tests/auto/testlib/selftests/expected_blacklisted.tap b/tests/auto/testlib/selftests/expected_blacklisted.tap
new file mode 100644
index 0000000000..35f6d3df50
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_blacklisted.tap
@@ -0,0 +1,44 @@
+TAP version 13
+# tst_Blacklisted
+ok 1 - initTestCase()
+ok 2 - pass() # TODO
+ok 3 - skip() # SKIP This test should SKIP
+not ok 4 - fail() # TODO 'false' returned FALSE. (This test should BFAIL)
+ ---
+ type: QVERIFY
+ message: This test should BFAIL
+ wanted: true (false)
+ found: false (false)
+ expected: true (false)
+ actual: false (false)
+ at: tst_Blacklisted::fail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:63)
+ file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
+ line: 63
+ ...
+not ok 4 - xfail() # TODO This test should BXFAIL then BPASS
+ ---
+ # This test should BXFAIL then BPASS
+ at: tst_Blacklisted::xfail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:69)
+ file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
+ line: 69
+ ...
+ok 5 - xfail() # TODO
+ok 6 - xpass() # TODO 'true' returned TRUE unexpectedly. (This test should BXPASS)
+# This is a warning that should not appear in silent test output
+# This is an internal testlib warning that should not appear in silent test output
+# This is a debug message that should not appear in silent test output
+# This is a critical message that should not appear in silent test output
+# This is an info message that should not appear in silent test output
+# This is an internal testlib info message that should not appear in silent test output
+# This is a fatal error message that should still appear in silent test output
+not ok 7 - messages() # TODO Received a fatal error.
+ ---
+ # Received a fatal error.
+ at: tst_Blacklisted::messages() (Unknown file:0)
+ file: Unknown file
+ line: 0
+ ...
+1..7
+# tests 7
+# pass 1
+# fail 0
diff --git a/tests/auto/testlib/selftests/expected_blacklisted.teamcity b/tests/auto/testlib/selftests/expected_blacklisted.teamcity
index 8180a7ce76..42b75b752b 100644
--- a/tests/auto/testlib/selftests/expected_blacklisted.teamcity
+++ b/tests/auto/testlib/selftests/expected_blacklisted.teamcity
@@ -7,10 +7,9 @@
##teamcity[testStarted name='fail()' flowId='tst_Blacklisted']
##teamcity[testFinished name='fail()' flowId='tst_Blacklisted']
##teamcity[testStarted name='xfail()' flowId='tst_Blacklisted']
-##teamcity[testStdOut name='xfail()' out='XFAIL |[Loc: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)|]: This test should XFAIL then BFAIL' flowId='tst_Blacklisted']
+##teamcity[testFinished name='xfail()' flowId='tst_Blacklisted']
##teamcity[testFinished name='xfail()' flowId='tst_Blacklisted']
##teamcity[testStarted name='xpass()' flowId='tst_Blacklisted']
-##teamcity[testFailed name='xpass()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)|]' details='|'true|' returned TRUE unexpectedly. (This test should XPASS, blacklist ignored for XPASS)' flowId='tst_Blacklisted']
##teamcity[testFinished name='xpass()' flowId='tst_Blacklisted']
##teamcity[testStarted name='messages()' flowId='tst_Blacklisted']
##teamcity[testStdOut name='messages()' out='QWARN: This is a warning that should not appear in silent test output|nWARNING |[Loc: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)|]: This is an internal testlib warning that should not appear in silent test output|nQDEBUG: This is a debug message that should not appear in silent test output|nQSYSTEM: This is a critical message that should not appear in silent test output|nQINFO: This is an info message that should not appear in silent test output|nINFO |[Loc: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)|]: This is an internal testlib info message that should not appear in silent test output|nQFATAL: This is a fatal error message that should still appear in silent test output' flowId='tst_Blacklisted']
diff --git a/tests/auto/testlib/selftests/expected_blacklisted.txt b/tests/auto/testlib/selftests/expected_blacklisted.txt
index 6fa2403b59..fccaa7d8c3 100644
--- a/tests/auto/testlib/selftests/expected_blacklisted.txt
+++ b/tests/auto/testlib/selftests/expected_blacklisted.txt
@@ -6,10 +6,10 @@ SKIP : tst_Blacklisted::skip() This test should SKIP
Loc: [qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)]
BFAIL : tst_Blacklisted::fail() 'false' returned FALSE. (This test should BFAIL)
Loc: [qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)]
-XFAIL : tst_Blacklisted::xfail() This test should XFAIL then BFAIL
+BXFAIL : tst_Blacklisted::xfail() This test should BXFAIL then BPASS
Loc: [qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)]
BPASS : tst_Blacklisted::xfail()
-XPASS : tst_Blacklisted::xpass() 'true' returned TRUE unexpectedly. (This test should XPASS, blacklist ignored for XPASS)
+BXPASS : tst_Blacklisted::xpass() 'true' returned TRUE unexpectedly. (This test should BXPASS)
Loc: [qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp(0)]
QWARN : tst_Blacklisted::messages() This is a warning that should not appear in silent test output
WARNING: tst_Blacklisted::messages() This is an internal testlib warning that should not appear in silent test output
@@ -22,5 +22,5 @@ INFO : tst_Blacklisted::messages() This is an internal testlib info message th
QFATAL : tst_Blacklisted::messages() This is a fatal error message that should still appear in silent test output
BFAIL : tst_Blacklisted::messages() Received a fatal error.
Loc: [Unknown file(0)]
-Totals: 1 passed, 1 failed, 1 skipped, 4 blacklisted, 0ms
+Totals: 1 passed, 0 failed, 1 skipped, 5 blacklisted, 0ms
********* Finished testing of tst_Blacklisted *********
diff --git a/tests/auto/testlib/selftests/expected_blacklisted.xml b/tests/auto/testlib/selftests/expected_blacklisted.xml
index 443bc6b199..04d7e6c828 100644
--- a/tests/auto/testlib/selftests/expected_blacklisted.xml
+++ b/tests/auto/testlib/selftests/expected_blacklisted.xml
@@ -26,15 +26,15 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="xfail">
-<Incident type="xfail" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
- <Description><![CDATA[This test should XFAIL then BFAIL]]></Description>
+<Incident type="bxfail" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
+ <Description><![CDATA[This test should BXFAIL then BPASS]]></Description>
</Incident>
<Incident type="bpass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="xpass">
-<Incident type="xpass" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
- <Description><![CDATA['true' returned TRUE unexpectedly. (This test should XPASS, blacklist ignored for XPASS)]]></Description>
+<Incident type="bxpass" file="qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp" line="0">
+ <Description><![CDATA['true' returned TRUE unexpectedly. (This test should BXPASS)]]></Description>
</Incident>
<Duration msecs="0"/>
</TestFunction>
diff --git a/tests/auto/testlib/selftests/expected_blacklisted.xunitxml b/tests/auto/testlib/selftests/expected_blacklisted.xunitxml
index 2752bc18b4..6e192687fb 100644
--- a/tests/auto/testlib/selftests/expected_blacklisted.xunitxml
+++ b/tests/auto/testlib/selftests/expected_blacklisted.xunitxml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite errors="9" failures="3" tests="7" name="tst_Blacklisted">
+<testsuite errors="8" failures="3" tests="7" name="tst_Blacklisted">
<properties>
<property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
<property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
@@ -11,12 +11,8 @@
<!-- message="This test should SKIP" type="skip" -->
</testcase>
<testcase result="bfail" name="fail"/>
- <testcase result="xfail" name="xfail">
- <!-- message="This test should XFAIL then BFAIL" type="info" -->
- </testcase>
- <testcase result="xpass" name="xpass">
- <failure message="&apos;true&apos; returned TRUE unexpectedly. (This test should XPASS, blacklist ignored for XPASS)" result="xpass"/>
- </testcase>
+ <testcase result="bxfail" name="xfail"/>
+ <testcase result="bxpass" name="xpass"/>
<testcase result="bfail" name="messages">
<!-- message="This is a warning that should not appear in silent test output" type="qwarn" -->
<!-- message="This is an internal testlib warning that should not appear in silent test output" type="warn" -->
@@ -28,7 +24,6 @@
</testcase>
<system-err>
<![CDATA[This test should SKIP]]>
-<![CDATA[This test should XFAIL then BFAIL]]>
<![CDATA[This is a warning that should not appear in silent test output]]>
<![CDATA[This is an internal testlib warning that should not appear in silent test output]]>
<![CDATA[This is a debug message that should not appear in silent test output]]>
diff --git a/tests/auto/testlib/selftests/expected_crashes_5.txt b/tests/auto/testlib/selftests/expected_crashes_5.txt
new file mode 100644
index 0000000000..088b9c5324
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_crashes_5.txt
@@ -0,0 +1,5 @@
+********* Start testing of tst_Crashes *********
+Config: Using QtTest library @INSERT_QT_VERSION_HERE@, Qt @INSERT_QT_VERSION_HERE@
+PASS : tst_Crashes::initTestCase()
+QFATAL : tst_Crashes::crash() Received signal 11
+ Function time: ms Total time: ms
diff --git a/tests/auto/testlib/selftests/expected_differentexec.tap b/tests/auto/testlib/selftests/expected_differentexec.tap
new file mode 100644
index 0000000000..30ee50bc08
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_differentexec.tap
@@ -0,0 +1,21 @@
+********* Start testing of tst_TestA *********
+Config: Using QtTest library
+PASS : tst_TestA::initTestCase()
+PASS : tst_TestA::slotName()
+PASS : tst_TestA::cleanupTestCase()
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_TestA *********
+********* Start testing of tst_TestA *********
+Config: Using QtTest library
+PASS : tst_TestA::initTestCase()
+PASS : tst_TestA::slotName()
+PASS : tst_TestA::cleanupTestCase()
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_TestA *********
+********* Start testing of tst_TestB *********
+Config: Using QtTest library
+PASS : tst_TestB::initTestCase()
+PASS : tst_TestB::slotName()
+PASS : tst_TestB::cleanupTestCase()
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_TestB *********
diff --git a/tests/auto/testlib/selftests/expected_faildatatype.lightxml b/tests/auto/testlib/selftests/expected_faildatatype.lightxml
new file mode 100644
index 0000000000..24992b78af
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_faildatatype.lightxml
@@ -0,0 +1,22 @@
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="value">
+<Message type="qdebug" file="" line="0">
+ <Description><![CDATA[expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string']]></Description>
+</Message>
+<Message type="qfatal" file="" line="0">
+ <Description><![CDATA[ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0]]></Description>
+</Message>
+<Incident type="fail" file="Unknown file" line="0">
+ <Description><![CDATA[Received a fatal error.]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
diff --git a/tests/auto/testlib/selftests/expected_faildatatype.tap b/tests/auto/testlib/selftests/expected_faildatatype.tap
new file mode 100644
index 0000000000..684cea4126
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_faildatatype.tap
@@ -0,0 +1,16 @@
+TAP version 13
+# tst_FailDataType
+ok 1 - initTestCase()
+# expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string'
+# ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0
+not ok 2 - value()
+ ---
+ # Received a fatal error.
+ at: tst_FailDataType::value() (Unknown file:0)
+ file: Unknown file
+ line: 0
+ ...
+1..2
+# tests 2
+# pass 1
+# fail 1
diff --git a/tests/auto/testlib/selftests/expected_faildatatype.teamcity b/tests/auto/testlib/selftests/expected_faildatatype.teamcity
new file mode 100644
index 0000000000..82731ae09e
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_faildatatype.teamcity
@@ -0,0 +1,8 @@
+##teamcity[testSuiteStarted name='tst_FailDataType' flowId='tst_FailDataType']
+##teamcity[testStarted name='initTestCase()' flowId='tst_FailDataType']
+##teamcity[testFinished name='initTestCase()' flowId='tst_FailDataType']
+##teamcity[testStarted name='value()' flowId='tst_FailDataType']
+##teamcity[testFailed name='value()' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_FailDataType']
+##teamcity[testStdOut name='value()' out='QDEBUG: expected data of type |'QString|', got |'bool|' for element 0 of data with tag |'bool-as-string|'|nQFATAL: ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0' flowId='tst_FailDataType']
+##teamcity[testFinished name='value()' flowId='tst_FailDataType']
+##teamcity[testSuiteFinished name='tst_FailDataType' flowId='tst_FailDataType']
diff --git a/tests/auto/testlib/selftests/expected_faildatatype.txt b/tests/auto/testlib/selftests/expected_faildatatype.txt
new file mode 100644
index 0000000000..4cfe3b7654
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_faildatatype.txt
@@ -0,0 +1,9 @@
+********* Start testing of tst_FailDataType *********
+Config: Using QtTest library
+PASS : tst_FailDataType::initTestCase()
+QDEBUG : tst_FailDataType::value() expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string'
+QFATAL : tst_FailDataType::value() ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0
+FAIL! : tst_FailDataType::value() Received a fatal error.
+ Loc: [Unknown file(0)]
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_FailDataType *********
diff --git a/tests/auto/testlib/selftests/expected_faildatatype.xml b/tests/auto/testlib/selftests/expected_faildatatype.xml
new file mode 100644
index 0000000000..8812bfab71
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_faildatatype.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestCase name="tst_FailDataType">
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="value">
+<Message type="qdebug" file="" line="0">
+ <Description><![CDATA[expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string']]></Description>
+</Message>
+<Message type="qfatal" file="" line="0">
+ <Description><![CDATA[ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0]]></Description>
+</Message>
+<Incident type="fail" file="Unknown file" line="0">
+ <Description><![CDATA[Received a fatal error.]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
+</TestCase>
diff --git a/tests/auto/testlib/selftests/expected_faildatatype.xunitxml b/tests/auto/testlib/selftests/expected_faildatatype.xunitxml
new file mode 100644
index 0000000000..fcc0db3892
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_faildatatype.xunitxml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite errors="2" failures="1" tests="2" name="tst_FailDataType">
+ <properties>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
+ <property value="" name="QtBuild"/>
+ </properties>
+ <testcase result="pass" name="initTestCase"/>
+ <testcase result="fail" name="value">
+ <!-- message="expected data of type &apos;QString&apos;, got &apos;bool&apos; for element 0 of data with tag &apos;bool&#x002D;as&#x002D;string&apos;" type="qdebug" -->
+ <!-- message="ASSERT: &quot;false&quot; in file qtbase/src/testlib/qtestdata.cpp, line 92" type="qfatal" -->
+ <failure message="Received a fatal error." result="fail"/>
+ </testcase>
+ <system-err>
+<![CDATA[expected data of type 'QString', got 'bool' for element 0 of data with tag 'bool-as-string']]>
+<![CDATA[ASSERT: "false" in file qtbase/src/testlib/qtestdata.cpp, line 0]]>
+ </system-err>
+</testsuite>
diff --git a/tests/auto/testlib/selftests/expected_failfetchtype.lightxml b/tests/auto/testlib/selftests/expected_failfetchtype.lightxml
new file mode 100644
index 0000000000..f7c84a1876
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_failfetchtype.lightxml
@@ -0,0 +1,21 @@
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="fetch">
+<Message type="qfatal" file="" line="0">
+ <DataTag><![CDATA[bool]]></DataTag>
+ <Description><![CDATA[Requested type 'QString' does not match available type 'bool'.]]></Description>
+</Message>
+<Incident type="fail" file="Unknown file" line="0">
+ <DataTag><![CDATA[bool]]></DataTag>
+ <Description><![CDATA[Received a fatal error.]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
diff --git a/tests/auto/testlib/selftests/expected_failfetchtype.tap b/tests/auto/testlib/selftests/expected_failfetchtype.tap
new file mode 100644
index 0000000000..94c3b6e1b2
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_failfetchtype.tap
@@ -0,0 +1,15 @@
+TAP version 13
+# tst_FailFetchType
+ok 1 - initTestCase()
+# Requested type 'QString' does not match available type 'bool'.
+not ok 2 - fetch(bool)
+ ---
+ # Received a fatal error.
+ at: tst_FailFetchType::fetch() (Unknown file:0)
+ file: Unknown file
+ line: 0
+ ...
+1..2
+# tests 2
+# pass 1
+# fail 1
diff --git a/tests/auto/testlib/selftests/expected_failfetchtype.teamcity b/tests/auto/testlib/selftests/expected_failfetchtype.teamcity
new file mode 100644
index 0000000000..91cf0c6ae8
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_failfetchtype.teamcity
@@ -0,0 +1,8 @@
+##teamcity[testSuiteStarted name='tst_FailFetchType' flowId='tst_FailFetchType']
+##teamcity[testStarted name='initTestCase()' flowId='tst_FailFetchType']
+##teamcity[testFinished name='initTestCase()' flowId='tst_FailFetchType']
+##teamcity[testStarted name='fetch(bool)' flowId='tst_FailFetchType']
+##teamcity[testFailed name='fetch(bool)' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_FailFetchType']
+##teamcity[testStdOut name='fetch(bool)' out='QFATAL: Requested type |'QString|' does not match available type |'bool|'.' flowId='tst_FailFetchType']
+##teamcity[testFinished name='fetch(bool)' flowId='tst_FailFetchType']
+##teamcity[testSuiteFinished name='tst_FailFetchType' flowId='tst_FailFetchType']
diff --git a/tests/auto/testlib/selftests/expected_failfetchtype.txt b/tests/auto/testlib/selftests/expected_failfetchtype.txt
new file mode 100644
index 0000000000..d12cf0dc7d
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_failfetchtype.txt
@@ -0,0 +1,8 @@
+********* Start testing of tst_FailFetchType *********
+Config: Using QtTest library
+PASS : tst_FailFetchType::initTestCase()
+QFATAL : tst_FailFetchType::fetch(bool) Requested type 'QString' does not match available type 'bool'.
+FAIL! : tst_FailFetchType::fetch(bool) Received a fatal error.
+ Loc: [Unknown file(0)]
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_FailFetchType *********
diff --git a/tests/auto/testlib/selftests/expected_failfetchtype.xml b/tests/auto/testlib/selftests/expected_failfetchtype.xml
new file mode 100644
index 0000000000..a349baa710
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_failfetchtype.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestCase name="tst_FailFetchType">
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="fetch">
+<Message type="qfatal" file="" line="0">
+ <DataTag><![CDATA[bool]]></DataTag>
+ <Description><![CDATA[Requested type 'QString' does not match available type 'bool'.]]></Description>
+</Message>
+<Incident type="fail" file="Unknown file" line="0">
+ <DataTag><![CDATA[bool]]></DataTag>
+ <Description><![CDATA[Received a fatal error.]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
+</TestCase>
diff --git a/tests/auto/testlib/selftests/expected_failfetchtype.xunitxml b/tests/auto/testlib/selftests/expected_failfetchtype.xunitxml
new file mode 100644
index 0000000000..a54a37a913
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_failfetchtype.xunitxml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite errors="1" failures="1" tests="2" name="tst_FailFetchType">
+ <properties>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
+ <property value="" name="QtBuild"/>
+ </properties>
+ <testcase result="pass" name="initTestCase"/>
+ <testcase result="fail" name="fetch">
+ <!-- tag="bool" message="Requested type &apos;QString&apos; does not match available type &apos;bool&apos;." type="qfatal" -->
+ <failure tag="bool" message="Received a fatal error." result="fail"/>
+ </testcase>
+ <system-err>
+<![CDATA[Requested type 'QString' does not match available type 'bool'.]]>
+ </system-err>
+</testsuite>
diff --git a/tests/auto/testlib/selftests/expected_float.lightxml b/tests/auto/testlib/selftests/expected_float.lightxml
index 0dbc5dd8c8..54d6eabdbd 100644
--- a/tests/auto/testlib/selftests/expected_float.lightxml
+++ b/tests/auto/testlib/selftests/expected_float.lightxml
@@ -7,27 +7,447 @@
<Incident type="pass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
-<TestFunction name="floatComparisons">
+<TestFunction name="doubleComparisons">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3]]></Description>
+</Incident>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should SUCCEED 1]]></DataTag>
+ <DataTag><![CDATA[should PASS 1]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 2]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1e-07
+ Expected (operandRight): 3e-07]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 2]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 3]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 999999999999
+ Expected (operandRight): 999999999998]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 3]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 4]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e-311
+ Expected (operandRight): 9.99999999997e-311]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 4]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 5]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e+306
+ Expected (operandRight): 9.99999999997e+306]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): -inf]]></Description>
</Incident>
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -1.79769313486e+308
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): -1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -1.79769313486e+308
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="floatComparisons">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
<DataTag><![CDATA[should FAIL 1]]></DataTag>
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): 3]]></Description>
</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 1]]></DataTag>
+</Incident>
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
<DataTag><![CDATA[should FAIL 2]]></DataTag>
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1e-07
Expected (operandRight): 3e-07]]></Description>
</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 2]]></DataTag>
+</Incident>
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
<DataTag><![CDATA[should FAIL 3]]></DataTag>
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 99998
- Expected (operandRight): 99999]]></Description>
+ Actual (operandLeft) : 99999
+ Expected (operandRight): 99998]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 3]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 4]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e-40
+ Expected (operandRight): 9.99971e-40]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 4]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 5]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e+37
+ Expected (operandRight): 9.9997e+37]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -3.40282e+38
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): -3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -3.40282e+38
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="float16Comparisons">
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should SUCCEED 1]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 1]]></DataTag>
+ <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 2]]></DataTag>
+ <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 0.0001
+ Expected (operandRight): 0.0003]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 3]]></DataTag>
+ <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 98
+ Expected (operandRight): 99]]></Description>
</Incident>
<Incident type="pass" file="" line="0">
<DataTag><![CDATA[should SUCCEED 2]]></DataTag>
diff --git a/tests/auto/testlib/selftests/expected_float.tap b/tests/auto/testlib/selftests/expected_float.tap
index fae2dc9796..4a3b3906c2 100644
--- a/tests/auto/testlib/selftests/expected_float.tap
+++ b/tests/auto/testlib/selftests/expected_float.tap
@@ -1,8 +1,386 @@
TAP version 13
# tst_float
ok 1 - initTestCase()
-ok 2 - floatComparisons(should SUCCEED 1)
-not ok 3 - floatComparisons(should FAIL 1)
+not ok 2 - doubleComparisons(should FAIL 1)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 3 (operandRight)
+ found: 1 (operandLeft)
+ expected: 3 (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+ok 3 - doubleComparisons(should PASS 1)
+not ok 4 - doubleComparisons(should FAIL 2)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 3e-07 (operandRight)
+ found: 1e-07 (operandLeft)
+ expected: 3e-07 (operandRight)
+ actual: 1e-07 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+ok 5 - doubleComparisons(should PASS 2)
+not ok 6 - doubleComparisons(should FAIL 3)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 999999999998 (operandRight)
+ found: 999999999999 (operandLeft)
+ expected: 999999999998 (operandRight)
+ actual: 999999999999 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+ok 7 - doubleComparisons(should PASS 3)
+not ok 8 - doubleComparisons(should FAIL 4)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 9.99999999997e-311 (operandRight)
+ found: 9.99999999999e-311 (operandLeft)
+ expected: 9.99999999997e-311 (operandRight)
+ actual: 9.99999999999e-311 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+ok 9 - doubleComparisons(should PASS 4)
+not ok 10 - doubleComparisons(should FAIL 5)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 9.99999999997e+306 (operandRight)
+ found: 9.99999999999e+306 (operandLeft)
+ expected: 9.99999999997e+306 (operandRight)
+ actual: 9.99999999999e+306 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+ok 11 - doubleComparisons(should PASS: NaN == NaN)
+not ok 12 - doubleComparisons(should FAIL: NaN != 0)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 0 (operandRight)
+ found: nan (operandLeft)
+ expected: 0 (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 13 - doubleComparisons(should FAIL: 0 != NaN)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: 0 (operandLeft)
+ expected: nan (operandRight)
+ actual: 0 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 14 - doubleComparisons(should FAIL: NaN != 1)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 1 (operandRight)
+ found: nan (operandLeft)
+ expected: 1 (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 15 - doubleComparisons(should FAIL: 1 != NaN)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: 1 (operandLeft)
+ expected: nan (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+ok 16 - doubleComparisons(should PASS: inf == inf)
+ok 17 - doubleComparisons(should PASS: -inf == -inf)
+not ok 18 - doubleComparisons(should FAIL: inf != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: inf (operandLeft)
+ expected: -inf (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 19 - doubleComparisons(should FAIL: -inf != inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: -inf (operandLeft)
+ expected: inf (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 20 - doubleComparisons(should FAIL: inf != nan)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: inf (operandLeft)
+ expected: nan (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 21 - doubleComparisons(should FAIL: nan != inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: nan (operandLeft)
+ expected: inf (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 22 - doubleComparisons(should FAIL: -inf != nan)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: -inf (operandLeft)
+ expected: nan (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 23 - doubleComparisons(should FAIL: nan != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: nan (operandLeft)
+ expected: -inf (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 24 - doubleComparisons(should FAIL: inf != 0)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 0 (operandRight)
+ found: inf (operandLeft)
+ expected: 0 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 25 - doubleComparisons(should FAIL: 0 != inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: 0 (operandLeft)
+ expected: inf (operandRight)
+ actual: 0 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 26 - doubleComparisons(should FAIL: -inf != 0)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 0 (operandRight)
+ found: -inf (operandLeft)
+ expected: 0 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 27 - doubleComparisons(should FAIL: 0 != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: 0 (operandLeft)
+ expected: -inf (operandRight)
+ actual: 0 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 28 - doubleComparisons(should FAIL: inf != 1)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 1 (operandRight)
+ found: inf (operandLeft)
+ expected: 1 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 29 - doubleComparisons(should FAIL: 1 != inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: 1 (operandLeft)
+ expected: inf (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 30 - doubleComparisons(should FAIL: -inf != 1)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 1 (operandRight)
+ found: -inf (operandLeft)
+ expected: 1 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 31 - doubleComparisons(should FAIL: 1 != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: 1 (operandLeft)
+ expected: -inf (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 32 - doubleComparisons(should FAIL: inf != max)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 1.79769313486e+308 (operandRight)
+ found: inf (operandLeft)
+ expected: 1.79769313486e+308 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 33 - doubleComparisons(should FAIL: inf != -max)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -1.79769313486e+308 (operandRight)
+ found: inf (operandLeft)
+ expected: -1.79769313486e+308 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 34 - doubleComparisons(should FAIL: max != inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: 1.79769313486e+308 (operandLeft)
+ expected: inf (operandRight)
+ actual: 1.79769313486e+308 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 35 - doubleComparisons(should FAIL: -max != inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: -1.79769313486e+308 (operandLeft)
+ expected: inf (operandRight)
+ actual: -1.79769313486e+308 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 36 - doubleComparisons(should FAIL: -inf != max)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: 1.79769313486e+308 (operandRight)
+ found: -inf (operandLeft)
+ expected: 1.79769313486e+308 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 37 - doubleComparisons(should FAIL: -inf != -max)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -1.79769313486e+308 (operandRight)
+ found: -inf (operandLeft)
+ expected: -1.79769313486e+308 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 38 - doubleComparisons(should FAIL: max != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: 1.79769313486e+308 (operandLeft)
+ expected: -inf (operandRight)
+ actual: 1.79769313486e+308 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 39 - doubleComparisons(should FAIL: -max != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared doubles are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: -1.79769313486e+308 (operandLeft)
+ expected: -inf (operandRight)
+ actual: -1.79769313486e+308 (operandLeft)
+ at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 103
+ ...
+not ok 40 - floatComparisons(should FAIL 1)
---
type: QCOMPARE
message: Compared floats are not the same (fuzzy compare)
@@ -10,11 +388,12 @@ not ok 3 - floatComparisons(should FAIL 1)
found: 1 (operandLeft)
expected: 3 (operandRight)
actual: 1 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:48)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 48
+ line: 137
...
-not ok 4 - floatComparisons(should FAIL 2)
+ok 41 - floatComparisons(should PASS 1)
+not ok 42 - floatComparisons(should FAIL 2)
---
type: QCOMPARE
message: Compared floats are not the same (fuzzy compare)
@@ -22,24 +401,403 @@ not ok 4 - floatComparisons(should FAIL 2)
found: 1e-07 (operandLeft)
expected: 3e-07 (operandRight)
actual: 1e-07 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:48)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+ok 43 - floatComparisons(should PASS 2)
+not ok 44 - floatComparisons(should FAIL 3)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 99998 (operandRight)
+ found: 99999 (operandLeft)
+ expected: 99998 (operandRight)
+ actual: 99999 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+ok 45 - floatComparisons(should PASS 3)
+not ok 46 - floatComparisons(should FAIL 4)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 9.99971e-40 (operandRight)
+ found: 9.9999e-40 (operandLeft)
+ expected: 9.99971e-40 (operandRight)
+ actual: 9.9999e-40 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+ok 47 - floatComparisons(should PASS 4)
+not ok 48 - floatComparisons(should FAIL 5)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 9.9997e+37 (operandRight)
+ found: 9.9999e+37 (operandLeft)
+ expected: 9.9997e+37 (operandRight)
+ actual: 9.9999e+37 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+ok 49 - floatComparisons(should PASS: NaN == NaN)
+not ok 50 - floatComparisons(should FAIL: NaN != 0)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 0 (operandRight)
+ found: nan (operandLeft)
+ expected: 0 (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 51 - floatComparisons(should FAIL: 0 != NaN)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: 0 (operandLeft)
+ expected: nan (operandRight)
+ actual: 0 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 52 - floatComparisons(should FAIL: NaN != 1)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 1 (operandRight)
+ found: nan (operandLeft)
+ expected: 1 (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 53 - floatComparisons(should FAIL: 1 != NaN)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: 1 (operandLeft)
+ expected: nan (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+ok 54 - floatComparisons(should PASS: inf == inf)
+ok 55 - floatComparisons(should PASS: -inf == -inf)
+not ok 56 - floatComparisons(should FAIL: inf != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: inf (operandLeft)
+ expected: -inf (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 57 - floatComparisons(should FAIL: -inf != inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: -inf (operandLeft)
+ expected: inf (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 58 - floatComparisons(should FAIL: inf != nan)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: inf (operandLeft)
+ expected: nan (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 59 - floatComparisons(should FAIL: nan != inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: nan (operandLeft)
+ expected: inf (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 60 - floatComparisons(should FAIL: -inf != nan)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: nan (operandRight)
+ found: -inf (operandLeft)
+ expected: nan (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 61 - floatComparisons(should FAIL: nan != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: nan (operandLeft)
+ expected: -inf (operandRight)
+ actual: nan (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 62 - floatComparisons(should FAIL: inf != 0)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 0 (operandRight)
+ found: inf (operandLeft)
+ expected: 0 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 63 - floatComparisons(should FAIL: 0 != inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: 0 (operandLeft)
+ expected: inf (operandRight)
+ actual: 0 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 64 - floatComparisons(should FAIL: -inf != 0)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 0 (operandRight)
+ found: -inf (operandLeft)
+ expected: 0 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 65 - floatComparisons(should FAIL: 0 != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: 0 (operandLeft)
+ expected: -inf (operandRight)
+ actual: 0 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 48
+ line: 137
...
-not ok 5 - floatComparisons(should FAIL 3)
+not ok 66 - floatComparisons(should FAIL: inf != 1)
---
type: QCOMPARE
message: Compared floats are not the same (fuzzy compare)
- wanted: 99999 (operandRight)
- found: 99998 (operandLeft)
- expected: 99999 (operandRight)
- actual: 99998 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:48)
+ wanted: 1 (operandRight)
+ found: inf (operandLeft)
+ expected: 1 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 67 - floatComparisons(should FAIL: 1 != inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: 1 (operandLeft)
+ expected: inf (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 68 - floatComparisons(should FAIL: -inf != 1)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 1 (operandRight)
+ found: -inf (operandLeft)
+ expected: 1 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 69 - floatComparisons(should FAIL: 1 != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: 1 (operandLeft)
+ expected: -inf (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 70 - floatComparisons(should FAIL: inf != max)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 3.40282e+38 (operandRight)
+ found: inf (operandLeft)
+ expected: 3.40282e+38 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 71 - floatComparisons(should FAIL: inf != -max)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -3.40282e+38 (operandRight)
+ found: inf (operandLeft)
+ expected: -3.40282e+38 (operandRight)
+ actual: inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 72 - floatComparisons(should FAIL: max != inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: 3.40282e+38 (operandLeft)
+ expected: inf (operandRight)
+ actual: 3.40282e+38 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 73 - floatComparisons(should FAIL: -max != inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: inf (operandRight)
+ found: -3.40282e+38 (operandLeft)
+ expected: inf (operandRight)
+ actual: -3.40282e+38 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 74 - floatComparisons(should FAIL: -inf != max)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: 3.40282e+38 (operandRight)
+ found: -inf (operandLeft)
+ expected: 3.40282e+38 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 75 - floatComparisons(should FAIL: -inf != -max)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -3.40282e+38 (operandRight)
+ found: -inf (operandLeft)
+ expected: -3.40282e+38 (operandRight)
+ actual: -inf (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 76 - floatComparisons(should FAIL: max != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: 3.40282e+38 (operandLeft)
+ expected: -inf (operandRight)
+ actual: 3.40282e+38 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+not ok 77 - floatComparisons(should FAIL: -max != -inf)
+ ---
+ type: QCOMPARE
+ message: Compared floats are not the same (fuzzy compare)
+ wanted: -inf (operandRight)
+ found: -3.40282e+38 (operandLeft)
+ expected: -inf (operandRight)
+ actual: -3.40282e+38 (operandLeft)
+ at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:137)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 137
+ ...
+ok 78 - float16Comparisons(should SUCCEED 1)
+not ok 79 - float16Comparisons(should FAIL 1)
+ ---
+ type: QCOMPARE
+ message: Compared qfloat16s are not the same (fuzzy compare)
+ wanted: 3 (operandRight)
+ found: 1 (operandLeft)
+ expected: 3 (operandRight)
+ actual: 1 (operandLeft)
+ at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:171)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 171
+ ...
+not ok 80 - float16Comparisons(should FAIL 2)
+ ---
+ type: QCOMPARE
+ message: Compared qfloat16s are not the same (fuzzy compare)
+ wanted: 0.0003 (operandRight)
+ found: 0.0001 (operandLeft)
+ expected: 0.0003 (operandRight)
+ actual: 0.0001 (operandLeft)
+ at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:171)
+ file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
+ line: 171
+ ...
+not ok 81 - float16Comparisons(should FAIL 3)
+ ---
+ type: QCOMPARE
+ message: Compared qfloat16s are not the same (fuzzy compare)
+ wanted: 99 (operandRight)
+ found: 98 (operandLeft)
+ expected: 99 (operandRight)
+ actual: 98 (operandLeft)
+ at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:171)
file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 48
+ line: 171
...
-ok 6 - floatComparisons(should SUCCEED 2)
-not ok 7 - compareFloatTests(1e0)
+ok 82 - float16Comparisons(should SUCCEED 2)
+not ok 83 - compareFloatTests(1e0)
---
type: QCOMPARE
message: Compared floats are not the same (fuzzy compare)
@@ -47,11 +805,11 @@ not ok 7 - compareFloatTests(1e0)
found: 1 (t1)
expected: 3 (t3)
actual: 1 (t1)
- at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:96)
+ at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:216)
file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 96
+ line: 216
...
-not ok 8 - compareFloatTests(1e-7)
+not ok 84 - compareFloatTests(1e-7)
---
type: QCOMPARE
message: Compared floats are not the same (fuzzy compare)
@@ -59,11 +817,11 @@ not ok 8 - compareFloatTests(1e-7)
found: 1e-07 (t1)
expected: 3e-07 (t3)
actual: 1e-07 (t1)
- at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:96)
+ at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:216)
file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 96
+ line: 216
...
-not ok 9 - compareFloatTests(1e+7)
+not ok 85 - compareFloatTests(1e+7)
---
type: QCOMPARE
message: Compared floats are not the same (fuzzy compare)
@@ -71,12 +829,12 @@ not ok 9 - compareFloatTests(1e+7)
found: 1e+07 (t1)
expected: 3e+07 (t3)
actual: 1e+07 (t1)
- at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:96)
+ at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:216)
file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 96
+ line: 216
...
-ok 10 - cleanupTestCase()
-1..10
-# tests 10
-# pass 4
-# fail 6
+ok 86 - cleanupTestCase()
+1..86
+# tests 86
+# pass 18
+# fail 68
diff --git a/tests/auto/testlib/selftests/expected_float.teamcity b/tests/auto/testlib/selftests/expected_float.teamcity
index d5b81593d8..eb99d3f6ea 100644
--- a/tests/auto/testlib/selftests/expected_float.teamcity
+++ b/tests/auto/testlib/selftests/expected_float.teamcity
@@ -1,19 +1,233 @@
##teamcity[testSuiteStarted name='tst_float' flowId='tst_float']
##teamcity[testStarted name='initTestCase()' flowId='tst_float']
##teamcity[testFinished name='initTestCase()' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should SUCCEED 1)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should SUCCEED 1)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL 1)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): 3' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL 1)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should PASS 1)' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should PASS 1)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL 2)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL 2)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1e-07|n Expected (operandRight): 3e-07' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL 2)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should PASS 2)' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should PASS 2)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL 3)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL 3)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 999999999999|n Expected (operandRight): 999999999998' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL 3)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should PASS 3)' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should PASS 3)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL 4)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL 4)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 9.99999999999e-311|n Expected (operandRight): 9.99999999997e-311' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL 4)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should PASS 4)' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should PASS 4)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL 5)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL 5)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 9.99999999999e+306|n Expected (operandRight): 9.99999999997e+306' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL 5)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should PASS: NaN == NaN)' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should PASS: NaN == NaN)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: NaN != 0)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: NaN != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 0' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: NaN != 0)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: 0 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: NaN != 1)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: NaN != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 1' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: NaN != 1)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: 1 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should PASS: inf == inf)' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should PASS: inf == inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should PASS: -inf == -inf)' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should PASS: -inf == -inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: inf != -inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: inf != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: inf != -inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: inf != nan)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: inf != nan)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: nan != inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: nan != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: nan != inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != nan)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != nan)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: nan != -inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: nan != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: nan != -inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: inf != 0)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 0' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: inf != 0)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: 0 != inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: 0 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: 0 != inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != 0)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 0' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != 0)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: 0 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: inf != 1)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 1' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: inf != 1)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: 1 != inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: 1 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: 1 != inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != 1)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 1' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != 1)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: 1 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: inf != max)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 1.79769313486e+308' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: inf != max)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: inf != -max)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -1.79769313486e+308' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: inf != -max)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: max != inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1.79769313486e+308|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: max != inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -max != inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -1.79769313486e+308|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -max != inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != max)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 1.79769313486e+308' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != max)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != -max)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): -1.79769313486e+308' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != -max)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: max != -inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1.79769313486e+308|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: max != -inf)' flowId='tst_float']
+##teamcity[testStarted name='doubleComparisons(should FAIL: -max != -inf)' flowId='tst_float']
+##teamcity[testFailed name='doubleComparisons(should FAIL: -max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -1.79769313486e+308|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='doubleComparisons(should FAIL: -max != -inf)' flowId='tst_float']
##teamcity[testStarted name='floatComparisons(should FAIL 1)' flowId='tst_float']
##teamcity[testFailed name='floatComparisons(should FAIL 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): 3' flowId='tst_float']
##teamcity[testFinished name='floatComparisons(should FAIL 1)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should PASS 1)' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should PASS 1)' flowId='tst_float']
##teamcity[testStarted name='floatComparisons(should FAIL 2)' flowId='tst_float']
##teamcity[testFailed name='floatComparisons(should FAIL 2)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1e-07|n Expected (operandRight): 3e-07' flowId='tst_float']
##teamcity[testFinished name='floatComparisons(should FAIL 2)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should PASS 2)' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should PASS 2)' flowId='tst_float']
##teamcity[testStarted name='floatComparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL 3)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 99998|n Expected (operandRight): 99999' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL 3)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 99999|n Expected (operandRight): 99998' flowId='tst_float']
##teamcity[testFinished name='floatComparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should SUCCEED 2)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should SUCCEED 2)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should PASS 3)' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should PASS 3)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL 4)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL 4)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 9.9999e-40|n Expected (operandRight): 9.99971e-40' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL 4)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should PASS 4)' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should PASS 4)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL 5)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL 5)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 9.9999e+37|n Expected (operandRight): 9.9997e+37' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL 5)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should PASS: NaN == NaN)' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should PASS: NaN == NaN)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: NaN != 0)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: NaN != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 0' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: NaN != 0)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: 0 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: NaN != 1)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: NaN != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 1' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: NaN != 1)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: 1 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should PASS: inf == inf)' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should PASS: inf == inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should PASS: -inf == -inf)' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should PASS: -inf == -inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: inf != -inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: inf != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: inf != -inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -inf != inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -inf != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -inf != inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: inf != nan)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: inf != nan)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: nan != inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: nan != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: nan != inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -inf != nan)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): nan' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -inf != nan)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: nan != -inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: nan != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: nan != -inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: inf != 0)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 0' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: inf != 0)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: 0 != inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: 0 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: 0 != inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -inf != 0)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 0' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -inf != 0)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: 0 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: inf != 1)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 1' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: inf != 1)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: 1 != inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: 1 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: 1 != inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -inf != 1)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 1' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -inf != 1)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: 1 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: inf != max)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 3.40282e+38' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: inf != max)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: inf != -max)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -3.40282e+38' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: inf != -max)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: max != inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 3.40282e+38|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: max != inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -max != inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -3.40282e+38|n Expected (operandRight): inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -max != inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -inf != max)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 3.40282e+38' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -inf != max)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -inf != -max)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): -3.40282e+38' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -inf != -max)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: max != -inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 3.40282e+38|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: max != -inf)' flowId='tst_float']
+##teamcity[testStarted name='floatComparisons(should FAIL: -max != -inf)' flowId='tst_float']
+##teamcity[testFailed name='floatComparisons(should FAIL: -max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -3.40282e+38|n Expected (operandRight): -inf' flowId='tst_float']
+##teamcity[testFinished name='floatComparisons(should FAIL: -max != -inf)' flowId='tst_float']
+##teamcity[testStarted name='float16Comparisons(should SUCCEED 1)' flowId='tst_float']
+##teamcity[testFinished name='float16Comparisons(should SUCCEED 1)' flowId='tst_float']
+##teamcity[testStarted name='float16Comparisons(should FAIL 1)' flowId='tst_float']
+##teamcity[testFailed name='float16Comparisons(should FAIL 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): 3' flowId='tst_float']
+##teamcity[testFinished name='float16Comparisons(should FAIL 1)' flowId='tst_float']
+##teamcity[testStarted name='float16Comparisons(should FAIL 2)' flowId='tst_float']
+##teamcity[testFailed name='float16Comparisons(should FAIL 2)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 0.0001|n Expected (operandRight): 0.0003' flowId='tst_float']
+##teamcity[testFinished name='float16Comparisons(should FAIL 2)' flowId='tst_float']
+##teamcity[testStarted name='float16Comparisons(should FAIL 3)' flowId='tst_float']
+##teamcity[testFailed name='float16Comparisons(should FAIL 3)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 98|n Expected (operandRight): 99' flowId='tst_float']
+##teamcity[testFinished name='float16Comparisons(should FAIL 3)' flowId='tst_float']
+##teamcity[testStarted name='float16Comparisons(should SUCCEED 2)' flowId='tst_float']
+##teamcity[testFinished name='float16Comparisons(should SUCCEED 2)' flowId='tst_float']
##teamcity[testStarted name='compareFloatTests(1e0)' flowId='tst_float']
##teamcity[testFailed name='compareFloatTests(1e0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (t1): 1|n Expected (t3): 3' flowId='tst_float']
##teamcity[testFinished name='compareFloatTests(1e0)' flowId='tst_float']
diff --git a/tests/auto/testlib/selftests/expected_float.txt b/tests/auto/testlib/selftests/expected_float.txt
index 8abea6a67e..18a5bab628 100644
--- a/tests/auto/testlib/selftests/expected_float.txt
+++ b/tests/auto/testlib/selftests/expected_float.txt
@@ -1,20 +1,282 @@
********* Start testing of tst_float *********
Config: Using QtTest library
PASS : tst_float::initTestCase()
-PASS : tst_float::floatComparisons(should SUCCEED 1)
+FAIL! : tst_float::doubleComparisons(should FAIL 1) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::doubleComparisons(should PASS 1)
+FAIL! : tst_float::doubleComparisons(should FAIL 2) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1e-07
+ Expected (operandRight): 3e-07
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::doubleComparisons(should PASS 2)
+FAIL! : tst_float::doubleComparisons(should FAIL 3) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 999999999999
+ Expected (operandRight): 999999999998
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::doubleComparisons(should PASS 3)
+FAIL! : tst_float::doubleComparisons(should FAIL 4) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e-311
+ Expected (operandRight): 9.99999999997e-311
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::doubleComparisons(should PASS 4)
+FAIL! : tst_float::doubleComparisons(should FAIL 5) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e+306
+ Expected (operandRight): 9.99999999997e+306
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::doubleComparisons(should PASS: NaN == NaN)
+FAIL! : tst_float::doubleComparisons(should FAIL: NaN != 0) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: 0 != NaN) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: NaN != 1) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: 1 != NaN) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::doubleComparisons(should PASS: inf == inf)
+PASS : tst_float::doubleComparisons(should PASS: -inf == -inf)
+FAIL! : tst_float::doubleComparisons(should FAIL: inf != -inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -inf != inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: inf != nan) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: nan != inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -inf != nan) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: nan != -inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: inf != 0) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: 0 != inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -inf != 0) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 0
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: 0 != -inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: inf != 1) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: 1 != inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -inf != 1) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: 1 != -inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: inf != max) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1.79769313486e+308
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: inf != -max) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -1.79769313486e+308
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: max != inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -max != inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -1.79769313486e+308
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -inf != max) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1.79769313486e+308
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -inf != -max) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): -1.79769313486e+308
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: max != -inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::doubleComparisons(should FAIL: -max != -inf) Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -1.79769313486e+308
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
FAIL! : tst_float::floatComparisons(should FAIL 1) Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): 3
Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::floatComparisons(should PASS 1)
FAIL! : tst_float::floatComparisons(should FAIL 2) Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1e-07
Expected (operandRight): 3e-07
Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::floatComparisons(should PASS 2)
FAIL! : tst_float::floatComparisons(should FAIL 3) Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 99998
- Expected (operandRight): 99999
+ Actual (operandLeft) : 99999
+ Expected (operandRight): 99998
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::floatComparisons(should PASS 3)
+FAIL! : tst_float::floatComparisons(should FAIL 4) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e-40
+ Expected (operandRight): 9.99971e-40
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::floatComparisons(should PASS 4)
+FAIL! : tst_float::floatComparisons(should FAIL 5) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e+37
+ Expected (operandRight): 9.9997e+37
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::floatComparisons(should PASS: NaN == NaN)
+FAIL! : tst_float::floatComparisons(should FAIL: NaN != 0) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: 0 != NaN) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: NaN != 1) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: 1 != NaN) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::floatComparisons(should PASS: inf == inf)
+PASS : tst_float::floatComparisons(should PASS: -inf == -inf)
+FAIL! : tst_float::floatComparisons(should FAIL: inf != -inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -inf != inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: inf != nan) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: nan != inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -inf != nan) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): nan
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: nan != -inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: inf != 0) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: 0 != inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -inf != 0) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 0
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: 0 != -inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: inf != 1) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: 1 != inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -inf != 1) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: 1 != -inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: inf != max) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 3.40282e+38
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: inf != -max) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -3.40282e+38
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: max != inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -max != inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -3.40282e+38
+ Expected (operandRight): inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -inf != max) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 3.40282e+38
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -inf != -max) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): -3.40282e+38
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: max != -inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::floatComparisons(should FAIL: -max != -inf) Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -3.40282e+38
+ Expected (operandRight): -inf
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+PASS : tst_float::float16Comparisons(should SUCCEED 1)
+FAIL! : tst_float::float16Comparisons(should FAIL 1) Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::float16Comparisons(should FAIL 2) Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 0.0001
+ Expected (operandRight): 0.0003
+ Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
+FAIL! : tst_float::float16Comparisons(should FAIL 3) Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 98
+ Expected (operandRight): 99
Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
-PASS : tst_float::floatComparisons(should SUCCEED 2)
+PASS : tst_float::float16Comparisons(should SUCCEED 2)
FAIL! : tst_float::compareFloatTests(1e0) Compared floats are not the same (fuzzy compare)
Actual (t1): 1
Expected (t3): 3
@@ -28,5 +290,5 @@ FAIL! : tst_float::compareFloatTests(1e+7) Compared floats are not the same (fu
Expected (t3): 3e+07
Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
PASS : tst_float::cleanupTestCase()
-Totals: 4 passed, 6 failed, 0 skipped, 0 blacklisted, 0ms
+Totals: 18 passed, 68 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_float *********
diff --git a/tests/auto/testlib/selftests/expected_float.xml b/tests/auto/testlib/selftests/expected_float.xml
index 096e1a5b54..b8e1a23616 100644
--- a/tests/auto/testlib/selftests/expected_float.xml
+++ b/tests/auto/testlib/selftests/expected_float.xml
@@ -9,27 +9,447 @@
<Incident type="pass" file="" line="0" />
<Duration msecs="0"/>
</TestFunction>
-<TestFunction name="floatComparisons">
+<TestFunction name="doubleComparisons">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3]]></Description>
+</Incident>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should SUCCEED 1]]></DataTag>
+ <DataTag><![CDATA[should PASS 1]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 2]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1e-07
+ Expected (operandRight): 3e-07]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 2]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 3]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 999999999999
+ Expected (operandRight): 999999999998]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 3]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 4]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e-311
+ Expected (operandRight): 9.99999999997e-311]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 4]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 5]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e+306
+ Expected (operandRight): 9.99999999997e+306]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): -inf]]></Description>
</Incident>
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -1.79769313486e+308
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): -1.79769313486e+308]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
+ <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : -1.79769313486e+308
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="floatComparisons">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
<DataTag><![CDATA[should FAIL 1]]></DataTag>
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
Expected (operandRight): 3]]></Description>
</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 1]]></DataTag>
+</Incident>
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
<DataTag><![CDATA[should FAIL 2]]></DataTag>
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1e-07
Expected (operandRight): 3e-07]]></Description>
</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 2]]></DataTag>
+</Incident>
<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
<DataTag><![CDATA[should FAIL 3]]></DataTag>
<Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 99998
- Expected (operandRight): 99999]]></Description>
+ Actual (operandLeft) : 99999
+ Expected (operandRight): 99998]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 3]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 4]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e-40
+ Expected (operandRight): 9.99971e-40]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS 4]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 5]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e+37
+ Expected (operandRight): 9.9997e+37]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): nan]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 0]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 1]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): -3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -3.40282e+38
+ Expected (operandRight): inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): 3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -inf
+ Expected (operandRight): -3.40282e+38]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
+ <Description><![CDATA[Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : -3.40282e+38
+ Expected (operandRight): -inf]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="float16Comparisons">
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[should SUCCEED 1]]></DataTag>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 1]]></DataTag>
+ <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 2]]></DataTag>
+ <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 0.0001
+ Expected (operandRight): 0.0003]]></Description>
+</Incident>
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
+ <DataTag><![CDATA[should FAIL 3]]></DataTag>
+ <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 98
+ Expected (operandRight): 99]]></Description>
</Incident>
<Incident type="pass" file="" line="0">
<DataTag><![CDATA[should SUCCEED 2]]></DataTag>
diff --git a/tests/auto/testlib/selftests/expected_float.xunitxml b/tests/auto/testlib/selftests/expected_float.xunitxml
index 5de14e8d9b..9b2af9b616 100644
--- a/tests/auto/testlib/selftests/expected_float.xunitxml
+++ b/tests/auto/testlib/selftests/expected_float.xunitxml
@@ -1,11 +1,106 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite errors="0" failures="6" tests="4" name="tst_float">
+<testsuite errors="0" failures="68" tests="6" name="tst_float">
<properties>
<property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
<property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
<property value="" name="QtBuild"/>
</properties>
<testcase result="pass" name="initTestCase"/>
+ <testcase result="fail" name="doubleComparisons">
+ <failure tag="should FAIL 1" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3" result="fail"/>
+ <failure tag="should FAIL 2" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1e&#x002D;07
+ Expected (operandRight): 3e&#x002D;07" result="fail"/>
+ <failure tag="should FAIL 3" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 999999999999
+ Expected (operandRight): 999999999998" result="fail"/>
+ <failure tag="should FAIL 4" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e&#x002D;311
+ Expected (operandRight): 9.99999999997e&#x002D;311" result="fail"/>
+ <failure tag="should FAIL 5" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.99999999999e+306
+ Expected (operandRight): 9.99999999997e+306" result="fail"/>
+ <failure tag="should FAIL: NaN != 0" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0" result="fail"/>
+ <failure tag="should FAIL: 0 != NaN" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: NaN != 1" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1" result="fail"/>
+ <failure tag="should FAIL: 1 != NaN" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: inf != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: inf != nan" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: nan != inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != nan" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: nan != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: inf != 0" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0" result="fail"/>
+ <failure tag="should FAIL: 0 != inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != 0" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): 0" result="fail"/>
+ <failure tag="should FAIL: 0 != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: inf != 1" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1" result="fail"/>
+ <failure tag="should FAIL: 1 != inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != 1" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): 1" result="fail"/>
+ <failure tag="should FAIL: 1 != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: inf != max" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1.79769313486e+308" result="fail"/>
+ <failure tag="should FAIL: inf != &#x002D;max" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): &#x002D;1.79769313486e+308" result="fail"/>
+ <failure tag="should FAIL: max != inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;max != inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;1.79769313486e+308
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != max" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): 1.79769313486e+308" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): &#x002D;1.79769313486e+308" result="fail"/>
+ <failure tag="should FAIL: max != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : 1.79769313486e+308
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;1.79769313486e+308
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ </testcase>
<testcase result="fail" name="floatComparisons">
<failure tag="should FAIL 1" message="Compared floats are not the same (fuzzy compare)
Actual (operandLeft) : 1
@@ -14,8 +109,103 @@
Actual (operandLeft) : 1e&#x002D;07
Expected (operandRight): 3e&#x002D;07" result="fail"/>
<failure tag="should FAIL 3" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 99998
- Expected (operandRight): 99999" result="fail"/>
+ Actual (operandLeft) : 99999
+ Expected (operandRight): 99998" result="fail"/>
+ <failure tag="should FAIL 4" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e&#x002D;40
+ Expected (operandRight): 9.99971e&#x002D;40" result="fail"/>
+ <failure tag="should FAIL 5" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 9.9999e+37
+ Expected (operandRight): 9.9997e+37" result="fail"/>
+ <failure tag="should FAIL: NaN != 0" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 0" result="fail"/>
+ <failure tag="should FAIL: 0 != NaN" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: NaN != 1" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): 1" result="fail"/>
+ <failure tag="should FAIL: 1 != NaN" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: inf != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: inf != nan" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: nan != inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != nan" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): nan" result="fail"/>
+ <failure tag="should FAIL: nan != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : nan
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: inf != 0" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 0" result="fail"/>
+ <failure tag="should FAIL: 0 != inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != 0" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): 0" result="fail"/>
+ <failure tag="should FAIL: 0 != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 0
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: inf != 1" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 1" result="fail"/>
+ <failure tag="should FAIL: 1 != inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != 1" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): 1" result="fail"/>
+ <failure tag="should FAIL: 1 != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: inf != max" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): 3.40282e+38" result="fail"/>
+ <failure tag="should FAIL: inf != &#x002D;max" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : inf
+ Expected (operandRight): &#x002D;3.40282e+38" result="fail"/>
+ <failure tag="should FAIL: max != inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;max != inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;3.40282e+38
+ Expected (operandRight): inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != max" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): 3.40282e+38" result="fail"/>
+ <failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;inf
+ Expected (operandRight): &#x002D;3.40282e+38" result="fail"/>
+ <failure tag="should FAIL: max != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : 3.40282e+38
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ <failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
+ Actual (operandLeft) : &#x002D;3.40282e+38
+ Expected (operandRight): &#x002D;inf" result="fail"/>
+ </testcase>
+ <testcase result="fail" name="float16Comparisons">
+ <failure tag="should FAIL 1" message="Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 1
+ Expected (operandRight): 3" result="fail"/>
+ <failure tag="should FAIL 2" message="Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 0.0001
+ Expected (operandRight): 0.0003" result="fail"/>
+ <failure tag="should FAIL 3" message="Compared qfloat16s are not the same (fuzzy compare)
+ Actual (operandLeft) : 98
+ Expected (operandRight): 99" result="fail"/>
</testcase>
<testcase result="fail" name="compareFloatTests">
<failure tag="1e0" message="Compared floats are not the same (fuzzy compare)
diff --git a/tests/auto/testlib/selftests/expected_globaldata.lightxml b/tests/auto/testlib/selftests/expected_globaldata.lightxml
index f66c4c552d..1212e4b364 100644
--- a/tests/auto/testlib/selftests/expected_globaldata.lightxml
+++ b/tests/auto/testlib/selftests/expected_globaldata.lightxml
@@ -12,174 +12,195 @@
</TestFunction>
<TestFunction name="testGlobal">
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[init testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[init testGlobal local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[global: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[local: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=false]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[init testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[init testGlobal local=true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
<Description><![CDATA[global: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
<Description><![CDATA[local: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=true]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[init testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[init testGlobal local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
<Description><![CDATA[global: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
<Description><![CDATA[local: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=false]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[init testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[init testGlobal local=true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
<Description><![CDATA[global: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
<Description><![CDATA[local: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=true]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
</Incident>
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="skip">
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[1]]></DataTag>
+ <DataTag><![CDATA[global=false]]></DataTag>
<Description><![CDATA[skipping]]></Description>
</Message>
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="skipLocal">
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[init skipLocal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[init skipLocal local=false]]></Description>
</Message>
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[cleanup skipLocal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[init skipLocal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[init skipLocal local=true]]></Description>
</Message>
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
<Description><![CDATA[skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[cleanup skipLocal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=true]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[init skipLocal local=false]]></Description>
+</Message>
+<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[skipping]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=false]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[init skipLocal local=true]]></Description>
+</Message>
+<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[skipping]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=true]]></Description>
</Message>
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="skipSingle">
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[init skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[init skipSingle local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[global: false local: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=false]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[init skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[init skipSingle local=true]]></Description>
</Message>
-<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[global: false local: true]]></Description>
+<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[Skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=true]]></Description>
</Message>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
-</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[init skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[init skipSingle local=false]]></Description>
</Message>
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[skipping]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[Skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[init skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[init skipSingle local=true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
<Description><![CDATA[global: true local: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=true]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
</Incident>
<Duration msecs="0"/>
</TestFunction>
diff --git a/tests/auto/testlib/selftests/expected_globaldata.tap b/tests/auto/testlib/selftests/expected_globaldata.tap
index 580cf3a7a8..4d61b7437b 100644
--- a/tests/auto/testlib/selftests/expected_globaldata.tap
+++ b/tests/auto/testlib/selftests/expected_globaldata.tap
@@ -2,51 +2,56 @@ TAP version 13
# tst_globaldata
# initTestCase initTestCase (null)
ok 1 - initTestCase()
-# init testGlobal local 1
+# init testGlobal local=false
# global: false
# local: false
-# cleanup testGlobal local 1
-ok 2 - testGlobal(1:local 1)
-# init testGlobal local 2
+# cleanup testGlobal local=false
+ok 2 - testGlobal(global=false:local=false)
+# init testGlobal local=true
# global: false
# local: true
-# cleanup testGlobal local 2
-ok 3 - testGlobal(1:local 2)
-# init testGlobal local 1
+# cleanup testGlobal local=true
+ok 3 - testGlobal(global=false:local=true)
+# init testGlobal local=false
# global: true
# local: false
-# cleanup testGlobal local 1
-ok 4 - testGlobal(2:local 1)
-# init testGlobal local 2
+# cleanup testGlobal local=false
+ok 4 - testGlobal(global=true:local=false)
+# init testGlobal local=true
# global: true
# local: true
-# cleanup testGlobal local 2
-ok 5 - testGlobal(2:local 2)
-ok 6 - skip(1) # SKIP skipping
-# init skipLocal local 1
-ok 7 - skipLocal(1:local 1) # SKIP skipping
-# cleanup skipLocal local 1
-# init skipLocal local 2
-ok 8 - skipLocal(1:local 2) # SKIP skipping
-# cleanup skipLocal local 2
-# init skipSingle local 1
+# cleanup testGlobal local=true
+ok 5 - testGlobal(global=true:local=true)
+ok 6 - skip(global=false) # SKIP skipping
+# init skipLocal local=false
+ok 7 - skipLocal(global=false:local=false) # SKIP skipping
+# cleanup skipLocal local=false
+# init skipLocal local=true
+ok 8 - skipLocal(global=false:local=true) # SKIP skipping
+# cleanup skipLocal local=true
+# init skipLocal local=false
+ok 9 - skipLocal(global=true:local=false) # SKIP skipping
+# cleanup skipLocal local=false
+# init skipLocal local=true
+ok 10 - skipLocal(global=true:local=true) # SKIP skipping
+# cleanup skipLocal local=true
+# init skipSingle local=false
# global: false local: false
-# cleanup skipSingle local 1
-ok 9 - skipSingle(1:local 1)
-# init skipSingle local 2
-# global: false local: true
-# cleanup skipSingle local 2
-ok 10 - skipSingle(1:local 2)
-# init skipSingle local 1
-ok 11 - skipSingle(2:local 1) # SKIP skipping
-# cleanup skipSingle local 1
-# init skipSingle local 2
+# cleanup skipSingle local=false
+ok 11 - skipSingle(global=false:local=false)
+# init skipSingle local=true
+ok 12 - skipSingle(global=false:local=true) # SKIP Skipping
+# cleanup skipSingle local=true
+# init skipSingle local=false
+ok 13 - skipSingle(global=true:local=false) # SKIP Skipping
+# cleanup skipSingle local=false
+# init skipSingle local=true
# global: true local: true
-# cleanup skipSingle local 2
-ok 12 - skipSingle(2:local 2)
+# cleanup skipSingle local=true
+ok 14 - skipSingle(global=true:local=true)
# cleanupTestCase cleanupTestCase (null)
-ok 13 - cleanupTestCase()
-1..13
-# tests 13
-# pass 9
+ok 15 - cleanupTestCase()
+1..15
+# tests 15
+# pass 8
# fail 0
diff --git a/tests/auto/testlib/selftests/expected_globaldata.teamcity b/tests/auto/testlib/selftests/expected_globaldata.teamcity
index 5d623a3285..f76f6090ba 100644
--- a/tests/auto/testlib/selftests/expected_globaldata.teamcity
+++ b/tests/auto/testlib/selftests/expected_globaldata.teamcity
@@ -2,30 +2,31 @@
##teamcity[testStarted name='initTestCase()' flowId='tst_globaldata']
##teamcity[testStdOut name='initTestCase()' out='QDEBUG: initTestCase initTestCase (null)' flowId='tst_globaldata']
##teamcity[testFinished name='initTestCase()' flowId='tst_globaldata']
-##teamcity[testStarted name='testGlobal(local 1)' flowId='tst_globaldata']
-##teamcity[testStdOut name='testGlobal(local 1)' out='QDEBUG: init testGlobal local 1|nQDEBUG: global: false|nQDEBUG: local: false|nQDEBUG: cleanup testGlobal local 1' flowId='tst_globaldata']
-##teamcity[testFinished name='testGlobal(local 1)' flowId='tst_globaldata']
-##teamcity[testStarted name='testGlobal(local 2)' flowId='tst_globaldata']
-##teamcity[testStdOut name='testGlobal(local 2)' out='QDEBUG: init testGlobal local 2|nQDEBUG: global: false|nQDEBUG: local: true|nQDEBUG: cleanup testGlobal local 2' flowId='tst_globaldata']
-##teamcity[testFinished name='testGlobal(local 2)' flowId='tst_globaldata']
-##teamcity[testStarted name='testGlobal(local 1)' flowId='tst_globaldata']
-##teamcity[testStdOut name='testGlobal(local 1)' out='QDEBUG: init testGlobal local 1|nQDEBUG: global: true|nQDEBUG: local: false|nQDEBUG: cleanup testGlobal local 1' flowId='tst_globaldata']
-##teamcity[testFinished name='testGlobal(local 1)' flowId='tst_globaldata']
-##teamcity[testStarted name='testGlobal(local 2)' flowId='tst_globaldata']
-##teamcity[testStdOut name='testGlobal(local 2)' out='QDEBUG: init testGlobal local 2|nQDEBUG: global: true|nQDEBUG: local: true|nQDEBUG: cleanup testGlobal local 2' flowId='tst_globaldata']
-##teamcity[testFinished name='testGlobal(local 2)' flowId='tst_globaldata']
+##teamcity[testStarted name='testGlobal(local=false)' flowId='tst_globaldata']
+##teamcity[testStdOut name='testGlobal(local=false)' out='QDEBUG: init testGlobal local=false|nQDEBUG: global: false|nQDEBUG: local: false|nQDEBUG: cleanup testGlobal local=false' flowId='tst_globaldata']
+##teamcity[testFinished name='testGlobal(local=false)' flowId='tst_globaldata']
+##teamcity[testStarted name='testGlobal(local=true)' flowId='tst_globaldata']
+##teamcity[testStdOut name='testGlobal(local=true)' out='QDEBUG: init testGlobal local=true|nQDEBUG: global: false|nQDEBUG: local: true|nQDEBUG: cleanup testGlobal local=true' flowId='tst_globaldata']
+##teamcity[testFinished name='testGlobal(local=true)' flowId='tst_globaldata']
+##teamcity[testStarted name='testGlobal(local=false)' flowId='tst_globaldata']
+##teamcity[testStdOut name='testGlobal(local=false)' out='QDEBUG: init testGlobal local=false|nQDEBUG: global: true|nQDEBUG: local: false|nQDEBUG: cleanup testGlobal local=false' flowId='tst_globaldata']
+##teamcity[testFinished name='testGlobal(local=false)' flowId='tst_globaldata']
+##teamcity[testStarted name='testGlobal(local=true)' flowId='tst_globaldata']
+##teamcity[testStdOut name='testGlobal(local=true)' out='QDEBUG: init testGlobal local=true|nQDEBUG: global: true|nQDEBUG: local: true|nQDEBUG: cleanup testGlobal local=true' flowId='tst_globaldata']
+##teamcity[testFinished name='testGlobal(local=true)' flowId='tst_globaldata']
##teamcity[testIgnored name='skip()' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
-##teamcity[testIgnored name='skipLocal(local 1)' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
-##teamcity[testIgnored name='skipLocal(local 2)' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
-##teamcity[testStarted name='skipSingle(local 1)' flowId='tst_globaldata']
-##teamcity[testStdOut name='skipSingle(local 1)' out='QDEBUG: init skipLocal local 1|nQDEBUG: cleanup skipLocal local 1|nQDEBUG: init skipLocal local 2|nQDEBUG: cleanup skipLocal local 2|nQDEBUG: init skipSingle local 1|nQDEBUG: global: false local: false|nQDEBUG: cleanup skipSingle local 1' flowId='tst_globaldata']
-##teamcity[testFinished name='skipSingle(local 1)' flowId='tst_globaldata']
-##teamcity[testStarted name='skipSingle(local 2)' flowId='tst_globaldata']
-##teamcity[testStdOut name='skipSingle(local 2)' out='QDEBUG: init skipSingle local 2|nQDEBUG: global: false local: true|nQDEBUG: cleanup skipSingle local 2' flowId='tst_globaldata']
-##teamcity[testFinished name='skipSingle(local 2)' flowId='tst_globaldata']
-##teamcity[testIgnored name='skipSingle(local 1)' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
-##teamcity[testStdOut name='skipSingle(local 2)' out='QDEBUG: init skipSingle local 1|nQDEBUG: cleanup skipSingle local 1|nQDEBUG: init skipSingle local 2|nQDEBUG: global: true local: true|nQDEBUG: cleanup skipSingle local 2' flowId='tst_globaldata']
-##teamcity[testFinished name='skipSingle(local 2)' flowId='tst_globaldata']
+##teamcity[testIgnored name='skipLocal(local=false)' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
+##teamcity[testIgnored name='skipLocal(local=true)' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
+##teamcity[testIgnored name='skipLocal(local=false)' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
+##teamcity[testIgnored name='skipLocal(local=true)' message='skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
+##teamcity[testStarted name='skipSingle(local=false)' flowId='tst_globaldata']
+##teamcity[testStdOut name='skipSingle(local=false)' out='QDEBUG: init skipLocal local=false|nQDEBUG: cleanup skipLocal local=false|nQDEBUG: init skipLocal local=true|nQDEBUG: cleanup skipLocal local=true|nQDEBUG: init skipLocal local=false|nQDEBUG: cleanup skipLocal local=false|nQDEBUG: init skipLocal local=true|nQDEBUG: cleanup skipLocal local=true|nQDEBUG: init skipSingle local=false|nQDEBUG: global: false local: false|nQDEBUG: cleanup skipSingle local=false' flowId='tst_globaldata']
+##teamcity[testFinished name='skipSingle(local=false)' flowId='tst_globaldata']
+##teamcity[testIgnored name='skipSingle(local=true)' message='Skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
+##teamcity[testIgnored name='skipSingle(local=false)' message='Skipping |[Loc: qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)|]' flowId='tst_globaldata']
+##teamcity[testStarted name='skipSingle(local=true)' flowId='tst_globaldata']
+##teamcity[testStdOut name='skipSingle(local=true)' out='QDEBUG: init skipSingle local=true|nQDEBUG: cleanup skipSingle local=true|nQDEBUG: init skipSingle local=false|nQDEBUG: cleanup skipSingle local=false|nQDEBUG: init skipSingle local=true|nQDEBUG: global: true local: true|nQDEBUG: cleanup skipSingle local=true' flowId='tst_globaldata']
+##teamcity[testFinished name='skipSingle(local=true)' flowId='tst_globaldata']
##teamcity[testStarted name='cleanupTestCase()' flowId='tst_globaldata']
##teamcity[testStdOut name='cleanupTestCase()' out='QDEBUG: cleanupTestCase cleanupTestCase (null)' flowId='tst_globaldata']
##teamcity[testFinished name='cleanupTestCase()' flowId='tst_globaldata']
diff --git a/tests/auto/testlib/selftests/expected_globaldata.txt b/tests/auto/testlib/selftests/expected_globaldata.txt
index b12f4a2a69..016b5e8299 100644
--- a/tests/auto/testlib/selftests/expected_globaldata.txt
+++ b/tests/auto/testlib/selftests/expected_globaldata.txt
@@ -2,53 +2,61 @@
Config: Using QtTest library
QDEBUG : tst_globaldata::initTestCase() initTestCase initTestCase (null)
PASS : tst_globaldata::initTestCase()
-QDEBUG : tst_globaldata::testGlobal(1:local 1) init testGlobal local 1
-QDEBUG : tst_globaldata::testGlobal(1:local 1) global: false
-QDEBUG : tst_globaldata::testGlobal(1:local 1) local: false
-QDEBUG : tst_globaldata::testGlobal(1:local 1) cleanup testGlobal local 1
-PASS : tst_globaldata::testGlobal(1:local 1)
-QDEBUG : tst_globaldata::testGlobal(1:local 2) init testGlobal local 2
-QDEBUG : tst_globaldata::testGlobal(1:local 2) global: false
-QDEBUG : tst_globaldata::testGlobal(1:local 2) local: true
-QDEBUG : tst_globaldata::testGlobal(1:local 2) cleanup testGlobal local 2
-PASS : tst_globaldata::testGlobal(1:local 2)
-QDEBUG : tst_globaldata::testGlobal(2:local 1) init testGlobal local 1
-QDEBUG : tst_globaldata::testGlobal(2:local 1) global: true
-QDEBUG : tst_globaldata::testGlobal(2:local 1) local: false
-QDEBUG : tst_globaldata::testGlobal(2:local 1) cleanup testGlobal local 1
-PASS : tst_globaldata::testGlobal(2:local 1)
-QDEBUG : tst_globaldata::testGlobal(2:local 2) init testGlobal local 2
-QDEBUG : tst_globaldata::testGlobal(2:local 2) global: true
-QDEBUG : tst_globaldata::testGlobal(2:local 2) local: true
-QDEBUG : tst_globaldata::testGlobal(2:local 2) cleanup testGlobal local 2
-PASS : tst_globaldata::testGlobal(2:local 2)
-SKIP : tst_globaldata::skip(1) skipping
+QDEBUG : tst_globaldata::testGlobal(global=false:local=false) init testGlobal local=false
+QDEBUG : tst_globaldata::testGlobal(global=false:local=false) global: false
+QDEBUG : tst_globaldata::testGlobal(global=false:local=false) local: false
+QDEBUG : tst_globaldata::testGlobal(global=false:local=false) cleanup testGlobal local=false
+PASS : tst_globaldata::testGlobal(global=false:local=false)
+QDEBUG : tst_globaldata::testGlobal(global=false:local=true) init testGlobal local=true
+QDEBUG : tst_globaldata::testGlobal(global=false:local=true) global: false
+QDEBUG : tst_globaldata::testGlobal(global=false:local=true) local: true
+QDEBUG : tst_globaldata::testGlobal(global=false:local=true) cleanup testGlobal local=true
+PASS : tst_globaldata::testGlobal(global=false:local=true)
+QDEBUG : tst_globaldata::testGlobal(global=true:local=false) init testGlobal local=false
+QDEBUG : tst_globaldata::testGlobal(global=true:local=false) global: true
+QDEBUG : tst_globaldata::testGlobal(global=true:local=false) local: false
+QDEBUG : tst_globaldata::testGlobal(global=true:local=false) cleanup testGlobal local=false
+PASS : tst_globaldata::testGlobal(global=true:local=false)
+QDEBUG : tst_globaldata::testGlobal(global=true:local=true) init testGlobal local=true
+QDEBUG : tst_globaldata::testGlobal(global=true:local=true) global: true
+QDEBUG : tst_globaldata::testGlobal(global=true:local=true) local: true
+QDEBUG : tst_globaldata::testGlobal(global=true:local=true) cleanup testGlobal local=true
+PASS : tst_globaldata::testGlobal(global=true:local=true)
+SKIP : tst_globaldata::skip(global=false) skipping
Loc: [qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)]
-QDEBUG : tst_globaldata::skipLocal(1:local 1) init skipLocal local 1
-SKIP : tst_globaldata::skipLocal(1:local 1) skipping
+QDEBUG : tst_globaldata::skipLocal(global=false:local=false) init skipLocal local=false
+SKIP : tst_globaldata::skipLocal(global=false:local=false) skipping
Loc: [qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)]
-QDEBUG : tst_globaldata::skipLocal(1:local 1) cleanup skipLocal local 1
-QDEBUG : tst_globaldata::skipLocal(1:local 2) init skipLocal local 2
-SKIP : tst_globaldata::skipLocal(1:local 2) skipping
+QDEBUG : tst_globaldata::skipLocal(global=false:local=false) cleanup skipLocal local=false
+QDEBUG : tst_globaldata::skipLocal(global=false:local=true) init skipLocal local=true
+SKIP : tst_globaldata::skipLocal(global=false:local=true) skipping
Loc: [qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)]
-QDEBUG : tst_globaldata::skipLocal(1:local 2) cleanup skipLocal local 2
-QDEBUG : tst_globaldata::skipSingle(1:local 1) init skipSingle local 1
-QDEBUG : tst_globaldata::skipSingle(1:local 1) global: false local: false
-QDEBUG : tst_globaldata::skipSingle(1:local 1) cleanup skipSingle local 1
-PASS : tst_globaldata::skipSingle(1:local 1)
-QDEBUG : tst_globaldata::skipSingle(1:local 2) init skipSingle local 2
-QDEBUG : tst_globaldata::skipSingle(1:local 2) global: false local: true
-QDEBUG : tst_globaldata::skipSingle(1:local 2) cleanup skipSingle local 2
-PASS : tst_globaldata::skipSingle(1:local 2)
-QDEBUG : tst_globaldata::skipSingle(2:local 1) init skipSingle local 1
-SKIP : tst_globaldata::skipSingle(2:local 1) skipping
+QDEBUG : tst_globaldata::skipLocal(global=false:local=true) cleanup skipLocal local=true
+QDEBUG : tst_globaldata::skipLocal(global=true:local=false) init skipLocal local=false
+SKIP : tst_globaldata::skipLocal(global=true:local=false) skipping
Loc: [qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)]
-QDEBUG : tst_globaldata::skipSingle(2:local 1) cleanup skipSingle local 1
-QDEBUG : tst_globaldata::skipSingle(2:local 2) init skipSingle local 2
-QDEBUG : tst_globaldata::skipSingle(2:local 2) global: true local: true
-QDEBUG : tst_globaldata::skipSingle(2:local 2) cleanup skipSingle local 2
-PASS : tst_globaldata::skipSingle(2:local 2)
+QDEBUG : tst_globaldata::skipLocal(global=true:local=false) cleanup skipLocal local=false
+QDEBUG : tst_globaldata::skipLocal(global=true:local=true) init skipLocal local=true
+SKIP : tst_globaldata::skipLocal(global=true:local=true) skipping
+ Loc: [qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)]
+QDEBUG : tst_globaldata::skipLocal(global=true:local=true) cleanup skipLocal local=true
+QDEBUG : tst_globaldata::skipSingle(global=false:local=false) init skipSingle local=false
+QDEBUG : tst_globaldata::skipSingle(global=false:local=false) global: false local: false
+QDEBUG : tst_globaldata::skipSingle(global=false:local=false) cleanup skipSingle local=false
+PASS : tst_globaldata::skipSingle(global=false:local=false)
+QDEBUG : tst_globaldata::skipSingle(global=false:local=true) init skipSingle local=true
+SKIP : tst_globaldata::skipSingle(global=false:local=true) Skipping
+ Loc: [qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)]
+QDEBUG : tst_globaldata::skipSingle(global=false:local=true) cleanup skipSingle local=true
+QDEBUG : tst_globaldata::skipSingle(global=true:local=false) init skipSingle local=false
+SKIP : tst_globaldata::skipSingle(global=true:local=false) Skipping
+ Loc: [qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp(0)]
+QDEBUG : tst_globaldata::skipSingle(global=true:local=false) cleanup skipSingle local=false
+QDEBUG : tst_globaldata::skipSingle(global=true:local=true) init skipSingle local=true
+QDEBUG : tst_globaldata::skipSingle(global=true:local=true) global: true local: true
+QDEBUG : tst_globaldata::skipSingle(global=true:local=true) cleanup skipSingle local=true
+PASS : tst_globaldata::skipSingle(global=true:local=true)
QDEBUG : tst_globaldata::cleanupTestCase() cleanupTestCase cleanupTestCase (null)
PASS : tst_globaldata::cleanupTestCase()
-Totals: 9 passed, 0 failed, 4 skipped, 0 blacklisted, 0ms
+Totals: 8 passed, 0 failed, 7 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_globaldata *********
diff --git a/tests/auto/testlib/selftests/expected_globaldata.xml b/tests/auto/testlib/selftests/expected_globaldata.xml
index 0f705ef352..9aa48c8f16 100644
--- a/tests/auto/testlib/selftests/expected_globaldata.xml
+++ b/tests/auto/testlib/selftests/expected_globaldata.xml
@@ -14,174 +14,195 @@
</TestFunction>
<TestFunction name="testGlobal">
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[init testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[init testGlobal local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[global: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[local: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=false]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[init testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[init testGlobal local=true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
<Description><![CDATA[global: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
<Description><![CDATA[local: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=true]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[init testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[init testGlobal local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
<Description><![CDATA[global: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
<Description><![CDATA[local: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=false]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[init testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[init testGlobal local=true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
<Description><![CDATA[global: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
<Description><![CDATA[local: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[cleanup testGlobal local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[cleanup testGlobal local=true]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
</Incident>
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="skip">
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[1]]></DataTag>
+ <DataTag><![CDATA[global=false]]></DataTag>
<Description><![CDATA[skipping]]></Description>
</Message>
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="skipLocal">
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[init skipLocal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[init skipLocal local=false]]></Description>
</Message>
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[cleanup skipLocal local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[init skipLocal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[init skipLocal local=true]]></Description>
</Message>
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
<Description><![CDATA[skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[cleanup skipLocal local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=true]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[init skipLocal local=false]]></Description>
+</Message>
+<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[skipping]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=false]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[init skipLocal local=true]]></Description>
+</Message>
+<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[skipping]]></Description>
+</Message>
+<Message type="qdebug" file="" line="0">
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipLocal local=true]]></Description>
</Message>
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="skipSingle">
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[init skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[init skipSingle local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
<Description><![CDATA[global: false local: false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=false]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 1]]></DataTag>
+ <DataTag><![CDATA[global=false:local=false]]></DataTag>
</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[init skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[init skipSingle local=true]]></Description>
</Message>
-<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[global: false local: true]]></Description>
+<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[Skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=false:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=true]]></Description>
</Message>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[1:local 2]]></DataTag>
-</Incident>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[init skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[init skipSingle local=false]]></Description>
</Message>
<Message type="skip" file="qtbase/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[skipping]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[Skipping]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 1]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 1]]></Description>
+ <DataTag><![CDATA[global=true:local=false]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=false]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[init skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[init skipSingle local=true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
<Description><![CDATA[global: true local: true]]></Description>
</Message>
<Message type="qdebug" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
- <Description><![CDATA[cleanup skipSingle local 2]]></Description>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
+ <Description><![CDATA[cleanup skipSingle local=true]]></Description>
</Message>
<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[2:local 2]]></DataTag>
+ <DataTag><![CDATA[global=true:local=true]]></DataTag>
</Incident>
<Duration msecs="0"/>
</TestFunction>
diff --git a/tests/auto/testlib/selftests/expected_globaldata.xunitxml b/tests/auto/testlib/selftests/expected_globaldata.xunitxml
index bdd7e3f00a..de184c2fdd 100644
--- a/tests/auto/testlib/selftests/expected_globaldata.xunitxml
+++ b/tests/auto/testlib/selftests/expected_globaldata.xunitxml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite errors="37" failures="0" tests="6" name="tst_globaldata">
+<testsuite errors="43" failures="0" tests="6" name="tst_globaldata">
<properties>
<property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
<property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
@@ -9,88 +9,100 @@
<!-- message="initTestCase initTestCase (null)" type="qdebug" -->
</testcase>
<testcase result="pass" name="testGlobal">
- <!-- tag="1:local 1" message="init testGlobal local 1" type="qdebug" -->
- <!-- tag="1:local 1" message="global: false" type="qdebug" -->
- <!-- tag="1:local 1" message="local: false" type="qdebug" -->
- <!-- tag="1:local 1" message="cleanup testGlobal local 1" type="qdebug" -->
- <!-- tag="1:local 2" message="init testGlobal local 2" type="qdebug" -->
- <!-- tag="1:local 2" message="global: false" type="qdebug" -->
- <!-- tag="1:local 2" message="local: true" type="qdebug" -->
- <!-- tag="1:local 2" message="cleanup testGlobal local 2" type="qdebug" -->
- <!-- tag="2:local 1" message="init testGlobal local 1" type="qdebug" -->
- <!-- tag="2:local 1" message="global: true" type="qdebug" -->
- <!-- tag="2:local 1" message="local: false" type="qdebug" -->
- <!-- tag="2:local 1" message="cleanup testGlobal local 1" type="qdebug" -->
- <!-- tag="2:local 2" message="init testGlobal local 2" type="qdebug" -->
- <!-- tag="2:local 2" message="global: true" type="qdebug" -->
- <!-- tag="2:local 2" message="local: true" type="qdebug" -->
- <!-- tag="2:local 2" message="cleanup testGlobal local 2" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="init testGlobal local=false" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="global: false" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="local: false" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="cleanup testGlobal local=false" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="init testGlobal local=true" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="global: false" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="local: true" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="cleanup testGlobal local=true" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="init testGlobal local=false" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="global: true" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="local: false" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="cleanup testGlobal local=false" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="init testGlobal local=true" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="global: true" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="local: true" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="cleanup testGlobal local=true" type="qdebug" -->
</testcase>
<testcase name="skip">
- <!-- tag="1" message="skipping" type="skip" -->
+ <!-- tag="global=false" message="skipping" type="skip" -->
</testcase>
<testcase name="skipLocal">
- <!-- tag="1:local 1" message="init skipLocal local 1" type="qdebug" -->
- <!-- tag="1:local 1" message="skipping" type="skip" -->
- <!-- tag="1:local 1" message="cleanup skipLocal local 1" type="qdebug" -->
- <!-- tag="1:local 2" message="init skipLocal local 2" type="qdebug" -->
- <!-- tag="1:local 2" message="skipping" type="skip" -->
- <!-- tag="1:local 2" message="cleanup skipLocal local 2" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="init skipLocal local=false" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="skipping" type="skip" -->
+ <!-- tag="global=false:local=false" message="cleanup skipLocal local=false" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="init skipLocal local=true" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="skipping" type="skip" -->
+ <!-- tag="global=false:local=true" message="cleanup skipLocal local=true" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="init skipLocal local=false" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="skipping" type="skip" -->
+ <!-- tag="global=true:local=false" message="cleanup skipLocal local=false" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="init skipLocal local=true" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="skipping" type="skip" -->
+ <!-- tag="global=true:local=true" message="cleanup skipLocal local=true" type="qdebug" -->
</testcase>
<testcase result="pass" name="skipSingle">
- <!-- tag="1:local 1" message="init skipSingle local 1" type="qdebug" -->
- <!-- tag="1:local 1" message="global: false local: false" type="qdebug" -->
- <!-- tag="1:local 1" message="cleanup skipSingle local 1" type="qdebug" -->
- <!-- tag="1:local 2" message="init skipSingle local 2" type="qdebug" -->
- <!-- tag="1:local 2" message="global: false local: true" type="qdebug" -->
- <!-- tag="1:local 2" message="cleanup skipSingle local 2" type="qdebug" -->
- <!-- tag="2:local 1" message="init skipSingle local 1" type="qdebug" -->
- <!-- tag="2:local 1" message="skipping" type="skip" -->
- <!-- tag="2:local 1" message="cleanup skipSingle local 1" type="qdebug" -->
- <!-- tag="2:local 2" message="init skipSingle local 2" type="qdebug" -->
- <!-- tag="2:local 2" message="global: true local: true" type="qdebug" -->
- <!-- tag="2:local 2" message="cleanup skipSingle local 2" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="init skipSingle local=false" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="global: false local: false" type="qdebug" -->
+ <!-- tag="global=false:local=false" message="cleanup skipSingle local=false" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="init skipSingle local=true" type="qdebug" -->
+ <!-- tag="global=false:local=true" message="Skipping" type="skip" -->
+ <!-- tag="global=false:local=true" message="cleanup skipSingle local=true" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="init skipSingle local=false" type="qdebug" -->
+ <!-- tag="global=true:local=false" message="Skipping" type="skip" -->
+ <!-- tag="global=true:local=false" message="cleanup skipSingle local=false" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="init skipSingle local=true" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="global: true local: true" type="qdebug" -->
+ <!-- tag="global=true:local=true" message="cleanup skipSingle local=true" type="qdebug" -->
</testcase>
<testcase result="pass" name="cleanupTestCase">
<!-- message="cleanupTestCase cleanupTestCase (null)" type="qdebug" -->
</testcase>
<system-err>
<![CDATA[initTestCase initTestCase (null)]]>
-<![CDATA[init testGlobal local 1]]>
+<![CDATA[init testGlobal local=false]]>
<![CDATA[global: false]]>
<![CDATA[local: false]]>
-<![CDATA[cleanup testGlobal local 1]]>
-<![CDATA[init testGlobal local 2]]>
+<![CDATA[cleanup testGlobal local=false]]>
+<![CDATA[init testGlobal local=true]]>
<![CDATA[global: false]]>
<![CDATA[local: true]]>
-<![CDATA[cleanup testGlobal local 2]]>
-<![CDATA[init testGlobal local 1]]>
+<![CDATA[cleanup testGlobal local=true]]>
+<![CDATA[init testGlobal local=false]]>
<![CDATA[global: true]]>
<![CDATA[local: false]]>
-<![CDATA[cleanup testGlobal local 1]]>
-<![CDATA[init testGlobal local 2]]>
+<![CDATA[cleanup testGlobal local=false]]>
+<![CDATA[init testGlobal local=true]]>
<![CDATA[global: true]]>
<![CDATA[local: true]]>
-<![CDATA[cleanup testGlobal local 2]]>
+<![CDATA[cleanup testGlobal local=true]]>
<![CDATA[skipping]]>
-<![CDATA[init skipLocal local 1]]>
+<![CDATA[init skipLocal local=false]]>
<![CDATA[skipping]]>
-<![CDATA[cleanup skipLocal local 1]]>
-<![CDATA[init skipLocal local 2]]>
+<![CDATA[cleanup skipLocal local=false]]>
+<![CDATA[init skipLocal local=true]]>
<![CDATA[skipping]]>
-<![CDATA[cleanup skipLocal local 2]]>
-<![CDATA[init skipSingle local 1]]>
-<![CDATA[global: false local: false]]>
-<![CDATA[cleanup skipSingle local 1]]>
-<![CDATA[init skipSingle local 2]]>
-<![CDATA[global: false local: true]]>
-<![CDATA[cleanup skipSingle local 2]]>
-<![CDATA[init skipSingle local 1]]>
+<![CDATA[cleanup skipLocal local=true]]>
+<![CDATA[init skipLocal local=false]]>
+<![CDATA[skipping]]>
+<![CDATA[cleanup skipLocal local=false]]>
+<![CDATA[init skipLocal local=true]]>
<![CDATA[skipping]]>
-<![CDATA[cleanup skipSingle local 1]]>
-<![CDATA[init skipSingle local 2]]>
+<![CDATA[cleanup skipLocal local=true]]>
+<![CDATA[init skipSingle local=false]]>
+<![CDATA[global: false local: false]]>
+<![CDATA[cleanup skipSingle local=false]]>
+<![CDATA[init skipSingle local=true]]>
+<![CDATA[Skipping]]>
+<![CDATA[cleanup skipSingle local=true]]>
+<![CDATA[init skipSingle local=false]]>
+<![CDATA[Skipping]]>
+<![CDATA[cleanup skipSingle local=false]]>
+<![CDATA[init skipSingle local=true]]>
<![CDATA[global: true local: true]]>
-<![CDATA[cleanup skipSingle local 2]]>
+<![CDATA[cleanup skipSingle local=true]]>
<![CDATA[cleanupTestCase cleanupTestCase (null)]]>
</system-err>
</testsuite>
diff --git a/tests/auto/testlib/selftests/expected_multiexec.tap b/tests/auto/testlib/selftests/expected_multiexec.tap
new file mode 100644
index 0000000000..ce6a7b37dd
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_multiexec.tap
@@ -0,0 +1,45 @@
+TAP version 13
+# tst_Nothing
+ok 1 - initTestCase()
+ok 2 - nothing()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
+TAP version 13
+# tst_Nothing
+ok 1 - initTestCase()
+ok 2 - nothing()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
+TAP version 13
+# tst_Nothing
+ok 1 - initTestCase()
+ok 2 - nothing()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
+TAP version 13
+# tst_Nothing
+ok 1 - initTestCase()
+ok 2 - nothing()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
+TAP version 13
+# tst_Nothing
+ok 1 - initTestCase()
+ok 2 - nothing()
+ok 3 - cleanupTestCase()
+1..3
+# tests 3
+# pass 3
+# fail 0
diff --git a/tests/auto/testlib/selftests/expected_qexecstringlist.tap b/tests/auto/testlib/selftests/expected_qexecstringlist.tap
new file mode 100644
index 0000000000..45aa7c4a3c
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_qexecstringlist.tap
@@ -0,0 +1,54 @@
+TAP version 13
+# tst_QExecStringList
+ok 1 - initTestCase()
+ok 2 - testA()
+ok 3 - testB(Data1)
+ok 4 - testB(Data2)
+ok 5 - testB(Data3)
+ok 6 - testC()
+ok 7 - cleanupTestCase()
+1..7
+# tests 7
+# pass 7
+# fail 0
+********* Start testing of tst_QExecStringList *********
+Config: Using QtTest library
+PASS : tst_QExecStringList::initTestCase()
+PASS : tst_QExecStringList::testA()
+PASS : tst_QExecStringList::testB(Data1)
+PASS : tst_QExecStringList::testB(Data2)
+PASS : tst_QExecStringList::testB(Data3)
+PASS : tst_QExecStringList::testC()
+PASS : tst_QExecStringList::cleanupTestCase()
+Totals: 7 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_QExecStringList *********
+********* Start testing of tst_QExecStringList *********
+Config: Using QtTest library
+PASS : tst_QExecStringList::initTestCase()
+PASS : tst_QExecStringList::testA()
+PASS : tst_QExecStringList::cleanupTestCase()
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_QExecStringList *********
+********* Start testing of tst_QExecStringList *********
+Config: Using QtTest library
+PASS : tst_QExecStringList::initTestCase()
+PASS : tst_QExecStringList::testB(Data1)
+PASS : tst_QExecStringList::testB(Data2)
+PASS : tst_QExecStringList::testB(Data3)
+PASS : tst_QExecStringList::cleanupTestCase()
+Totals: 5 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_QExecStringList *********
+********* Start testing of tst_QExecStringList *********
+Config: Using QtTest library
+PASS : tst_QExecStringList::initTestCase()
+PASS : tst_QExecStringList::testB(Data2)
+PASS : tst_QExecStringList::cleanupTestCase()
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_QExecStringList *********
+********* Start testing of tst_QExecStringList *********
+Config: Using QtTest library
+PASS : tst_QExecStringList::initTestCase()
+PASS : tst_QExecStringList::testC()
+PASS : tst_QExecStringList::cleanupTestCase()
+Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_QExecStringList *********
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.lightxml b/tests/auto/testlib/selftests/expected_signaldumper.lightxml
new file mode 100644
index 0000000000..f68834e1a2
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_signaldumper.lightxml
@@ -0,0 +1,578 @@
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: QThread(_POINTER_) started ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="noConnections">
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="oneSlot">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="oneSlotOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="twoSlots">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="twoSlotsOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="signalForwarding">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="signalForwardingOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignal()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignal()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="slotEmittingSignal">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="slotEmittingSignalOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) emitSecondSignal()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="variousTypes">
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorSignal (QVector<int>())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QVector<int>&)@_POINTER_)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QVector<int>())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QVector<int>*)_POINTER_)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]></Description>
+</Message>
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="cleanupTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: QThread(_POINTER_) finished ()]]></Description>
+</Message>
+<Duration msecs="0"/>
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.tap b/tests/auto/testlib/selftests/expected_signaldumper.tap
new file mode 100644
index 0000000000..04d7d94745
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_signaldumper.tap
@@ -0,0 +1,151 @@
+TAP version 13
+# tst_Signaldumper
+# Signal: QThread(_POINTER_) started ()
+ok 1 - initTestCase()
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+ok 2 - noConnections()
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 3 - oneSlot(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 4 - oneSlot(queued)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 5 - oneSlotOldSyntax(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 6 - oneSlotOldSyntax(queued)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 7 - twoSlots(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 8 - twoSlots(queued)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
+# Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+# Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 9 - twoSlotsOldSyntax(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 10 - twoSlotsOldSyntax(queued)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 11 - signalForwarding(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+ok 12 - signalForwarding(queued)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Slot: SignalSlotClass(_POINTER_) nestedSignal()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)
+# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Slot: SignalSlotClass(_POINTER_) nestedSignal()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 13 - signalForwardingOldSyntax(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+# Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+ok 14 - signalForwardingOldSyntax(queued)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 15 - slotEmittingSignal(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+ok 16 - slotEmittingSignal(queued)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Slot: SignalSlotClass(_POINTER_) emitSecondSignal()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+ok 17 - slotEmittingSignalOldSyntax(direct)
+# Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+# Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+# Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+ok 18 - slotEmittingSignalOldSyntax(queued)
+# Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))
+# Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)
+# Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))
+# Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))
+# Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())
+# Signal: SignalSlotClass(_POINTER_) qVectorSignal (QVector<int>())
+# Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QVector<int>&)@_POINTER_)
+# Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QVector<int>())
+# Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QVector<int>*)_POINTER_)
+# Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ()
+# Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
+# Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
+ok 19 - variousTypes()
+ok 20 - cleanupTestCase()
+# Signal: QThread(_POINTER_) finished ()
+1..20
+# tests 20
+# pass 20
+# fail 0
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.teamcity b/tests/auto/testlib/selftests/expected_signaldumper.teamcity
new file mode 100644
index 0000000000..3b8cf8c54f
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_signaldumper.teamcity
@@ -0,0 +1,61 @@
+##teamcity[testSuiteStarted name='tst_Signaldumper' flowId='tst_Signaldumper']
+##teamcity[testStarted name='initTestCase()' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='initTestCase()' out='INFO: Signal: QThread(_POINTER_) started ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='initTestCase()' flowId='tst_Signaldumper']
+##teamcity[testStarted name='noConnections()' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='noConnections()' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))' flowId='tst_Signaldumper']
+##teamcity[testFinished name='noConnections()' flowId='tst_Signaldumper']
+##teamcity[testStarted name='oneSlot(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='oneSlot(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='oneSlot(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='oneSlot(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='oneSlot(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='oneSlot(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='oneSlotOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='oneSlotOldSyntax(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='oneSlotOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='oneSlotOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='oneSlotOldSyntax(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='oneSlotOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='twoSlots(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='twoSlots(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='twoSlots(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='twoSlots(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='twoSlots(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='twoSlots(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='twoSlotsOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='twoSlotsOldSyntax(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()|nINFO: Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='twoSlotsOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='twoSlotsOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='twoSlotsOldSyntax(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='twoSlotsOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='signalForwarding(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='signalForwarding(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='signalForwarding(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='signalForwarding(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='signalForwarding(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='signalForwarding(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='signalForwardingOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='signalForwardingOldSyntax(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Slot: SignalSlotClass(_POINTER_) nestedSignal()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Slot: SignalSlotClass(_POINTER_) nestedSignal()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='signalForwardingOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='signalForwardingOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='signalForwardingOldSyntax(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))|nINFO: Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='signalForwardingOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='slotEmittingSignal(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='slotEmittingSignal(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='slotEmittingSignal(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='slotEmittingSignal(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='slotEmittingSignal(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='slotEmittingSignal(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='slotEmittingSignalOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='slotEmittingSignalOldSyntax(direct)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Slot: SignalSlotClass(_POINTER_) emitSecondSignal()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='slotEmittingSignalOldSyntax(direct)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='slotEmittingSignalOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='slotEmittingSignalOldSyntax(queued)' out='INFO: Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()|nINFO: Signal: QEventDispatcherPlatform(_POINTER_) awake ()|nINFO: Signal: SignalSlotClass(_POINTER_) nestedSignal ()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='slotEmittingSignalOldSyntax(queued)' flowId='tst_Signaldumper']
+##teamcity[testStarted name='variousTypes()' flowId='tst_Signaldumper']
+##teamcity[testStdOut name='variousTypes()' out='INFO: Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))|nINFO: Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)|nINFO: Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))|nINFO: Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))|nINFO: Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())|nINFO: Signal: SignalSlotClass(_POINTER_) qVectorSignal (QVector<int>())|nINFO: Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QVector<int>&)@_POINTER_)|nINFO: Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QVector<int>())|nINFO: Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QVector<int>*)_POINTER_)|nINFO: Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ()|nINFO: Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())|nINFO: Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())' flowId='tst_Signaldumper']
+##teamcity[testFinished name='variousTypes()' flowId='tst_Signaldumper']
+##teamcity[testStarted name='cleanupTestCase()' flowId='tst_Signaldumper']
+##teamcity[testFinished name='cleanupTestCase()' flowId='tst_Signaldumper']
+##teamcity[testSuiteFinished name='tst_Signaldumper' flowId='tst_Signaldumper']
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.txt b/tests/auto/testlib/selftests/expected_signaldumper.txt
new file mode 100644
index 0000000000..f89c31afe5
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_signaldumper.txt
@@ -0,0 +1,149 @@
+********* Start testing of tst_Signaldumper *********
+Config: Using QtTest library
+INFO : tst_Signaldumper::initTestCase() Signal: QThread(_POINTER_) started ()
+PASS : tst_Signaldumper::initTestCase()
+INFO : tst_Signaldumper::noConnections() Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::noConnections() Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+PASS : tst_Signaldumper::noConnections()
+INFO : tst_Signaldumper::oneSlot(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::oneSlot(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlot(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlot(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlot(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlot(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::oneSlot(direct)
+INFO : tst_Signaldumper::oneSlot(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::oneSlot(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlot(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlot(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlot(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlot(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::oneSlot(queued)
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+INFO : tst_Signaldumper::oneSlotOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::oneSlotOldSyntax(direct)
+INFO : tst_Signaldumper::oneSlotOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::oneSlotOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlotOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlotOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::oneSlotOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::oneSlotOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::oneSlotOldSyntax(queued)
+INFO : tst_Signaldumper::twoSlots(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::twoSlots(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlots(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlots(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlots(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlots(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::twoSlots(direct)
+INFO : tst_Signaldumper::twoSlots(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::twoSlots(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlots(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlots(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlots(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlots(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::twoSlots(queued)
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::twoSlotsOldSyntax(direct)
+INFO : tst_Signaldumper::twoSlotsOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlotsOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::twoSlotsOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::twoSlotsOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::twoSlotsOldSyntax(queued)
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::signalForwarding(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::signalForwarding(direct)
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwarding(queued) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+PASS : tst_Signaldumper::signalForwarding(queued)
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) nestedSignal()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) nestedSignal()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::signalForwardingOldSyntax(direct)
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::signalForwardingOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+PASS : tst_Signaldumper::signalForwardingOldSyntax(queued)
+INFO : tst_Signaldumper::slotEmittingSignal(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::slotEmittingSignal(direct) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::slotEmittingSignal(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::slotEmittingSignal(direct)
+INFO : tst_Signaldumper::slotEmittingSignal(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::slotEmittingSignal(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::slotEmittingSignal(queued) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+PASS : tst_Signaldumper::slotEmittingSignal(queued)
+INFO : tst_Signaldumper::slotEmittingSignalOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::slotEmittingSignalOldSyntax(direct) Slot: SignalSlotClass(_POINTER_) emitSecondSignal()
+INFO : tst_Signaldumper::slotEmittingSignalOldSyntax(direct) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+INFO : tst_Signaldumper::slotEmittingSignalOldSyntax(direct) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+PASS : tst_Signaldumper::slotEmittingSignalOldSyntax(direct)
+INFO : tst_Signaldumper::slotEmittingSignalOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()
+INFO : tst_Signaldumper::slotEmittingSignalOldSyntax(queued) Signal: QEventDispatcherPlatform(_POINTER_) awake ()
+INFO : tst_Signaldumper::slotEmittingSignalOldSyntax(queued) Signal: SignalSlotClass(_POINTER_) nestedSignal ()
+PASS : tst_Signaldumper::slotEmittingSignalOldSyntax(queued)
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qVectorSignal (QVector<int>())
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QVector<int>&)@_POINTER_)
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QVector<int>())
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QVector<int>*)_POINTER_)
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ()
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
+INFO : tst_Signaldumper::variousTypes() Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())
+PASS : tst_Signaldumper::variousTypes()
+PASS : tst_Signaldumper::cleanupTestCase()
+INFO : tst_Signaldumper::UnknownTestFunc() Signal: QThread(_POINTER_) finished ()
+Totals: 20 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_Signaldumper *********
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.xml b/tests/auto/testlib/selftests/expected_signaldumper.xml
new file mode 100644
index 0000000000..82959c62df
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_signaldumper.xml
@@ -0,0 +1,581 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestCase name="tst_Signaldumper">
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: QThread(_POINTER_) started ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="noConnections">
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="oneSlot">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="oneSlotOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="twoSlots">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="twoSlotsOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="signalForwarding">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="signalForwardingOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignal()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignal()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="slotEmittingSignal">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="slotEmittingSignalOldSyntax">
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Slot: SignalSlotClass(_POINTER_) emitSecondSignal()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[direct]]></DataTag>
+</Incident>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]></Description>
+</Message>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[queued]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="variousTypes">
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorSignal (QVector<int>())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QVector<int>&)@_POINTER_)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QVector<int>())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QVector<int>*)_POINTER_)]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ()]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]></Description>
+</Message>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]></Description>
+</Message>
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="cleanupTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<Message type="info" file="" line="0">
+ <Description><![CDATA[Signal: QThread(_POINTER_) finished ()]]></Description>
+</Message>
+<Duration msecs="0"/>
+</TestCase>
diff --git a/tests/auto/testlib/selftests/expected_signaldumper.xunitxml b/tests/auto/testlib/selftests/expected_signaldumper.xunitxml
new file mode 100644
index 0000000000..930dc97262
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_signaldumper.xunitxml
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite errors="125" failures="0" tests="12" name="tst_Signaldumper">
+ <properties>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
+ <property value="" name="QtBuild"/>
+ </properties>
+ <testcase result="pass" name="initTestCase">
+ <!-- message="Signal: QThread(_POINTER_) started ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="noConnections">
+ <!-- message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ </testcase>
+ <testcase result="pass" name="oneSlot">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="oneSlotOldSyntax">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="twoSlots">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="twoSlotsOldSyntax">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="signalForwarding">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="signalForwardingOldSyntax">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) nestedSignal()" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) nestedSignal()" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="slotEmittingSignal">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="slotEmittingSignalOldSyntax">
+ <!-- tag="direct" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="direct" message=" Slot: SignalSlotClass(_POINTER_) emitSecondSignal()" type="info" -->
+ <!-- tag="direct" message=" Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ <!-- tag="direct" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()" type="info" -->
+ <!-- tag="queued" message="Signal: QEventDispatcherPlatform(_POINTER_) awake ()" type="info" -->
+ <!-- tag="queued" message="Signal: SignalSlotClass(_POINTER_) nestedSignal ()" type="info" -->
+ </testcase>
+ <testcase result="pass" name="variousTypes">
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&amp;)@_POINTER_)" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qListSignal (QList&lt;int&gt;())" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qVectorSignal (QVector&lt;int&gt;())" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QVector&lt;int&gt;&amp;)@_POINTER_)" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QVector&lt;int&gt;())" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QVector&lt;int&gt;*)_POINTER_)" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ()" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())" type="info" -->
+ <!-- message="Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())" type="info" -->
+ </testcase>
+ <testcase result="pass" name="cleanupTestCase">
+ <!-- message="Signal: QThread(_POINTER_) finished ()" type="info" -->
+ </testcase>
+ <system-err>
+<![CDATA[Signal: QThread(_POINTER_) started ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithParameters(int,char)]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) slotWithoutParameters()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignal()]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignalWithParameters(int,char)]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) nestedSignal()]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithParameters (int(242), char(m))]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[ Slot: SignalSlotClass(_POINTER_) emitSecondSignal()]]>
+<![CDATA[ Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) signalWithoutParameters ()]]>
+<![CDATA[Signal: QEventDispatcherPlatform(_POINTER_) awake ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) nestedSignal ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qStringSignal (QString(Test string))]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@_POINTER_)]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qStringConstRefSignal (QString(Test string))]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qByteArraySignal (QByteArray(Test bytearray))]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qListSignal (QList<int>())]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorSignal (QVector<int>())]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorRefSignal ((QVector<int>&)@_POINTER_)]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorConstRefSignal (QVector<int>())]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorConstPointerSignal ((const QVector<int>*)_POINTER_)]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qVectorPointerConstSignal ()]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]>
+<![CDATA[Signal: SignalSlotClass(_POINTER_) qVariantSignal (QVariant())]]>
+<![CDATA[Signal: QThread(_POINTER_) finished ()]]>
+ </system-err>
+</testsuite>
diff --git a/tests/auto/testlib/selftests/expected_silent.tap b/tests/auto/testlib/selftests/expected_silent.tap
new file mode 100644
index 0000000000..c5f7716390
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_silent.tap
@@ -0,0 +1,42 @@
+TAP version 13
+# tst_Silent
+ok 1 - initTestCase()
+ok 2 - pass()
+ok 3 - skip() # SKIP This test should skip
+not ok 4 - fail()
+ ---
+ type: QVERIFY
+ message: This test should fail
+ wanted: true (false)
+ found: false (false)
+ expected: true (false)
+ actual: false (false)
+ at: tst_Silent::fail() (qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp:60)
+ file: qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp
+ line: 60
+ ...
+not ok 5 - xfail() # TODO This test should XFAIL
+ ---
+ at: tst_Silent::xfail() (qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp:66)
+ file: qtbase/tests/auto/testlib/selftests/silent/tst_silent.cpp
+ line: 66
+ ...
+ok 6 - xpass() # TODO 'true' returned TRUE unexpectedly. (This test should XPASS)
+# This is a warning that should not appear in silent test output
+# This is an internal testlib warning that should not appear in silent test output
+# This is a debug message that should not appear in silent test output
+# This is a critical message that should not appear in silent test output
+# This is an info message that should not appear in silent test output
+# This is an internal testlib info message that should not appear in silent test output
+# This is a fatal error message that should still appear in silent test output
+not ok 7 - messages()
+ ---
+ # Received a fatal error.
+ at: tst_Silent::messages() (Unknown file:0)
+ file: Unknown file
+ line: 0
+ ...
+1..7
+# tests 7
+# pass 3
+# fail 3
diff --git a/tests/auto/testlib/selftests/expected_testlib.lightxml b/tests/auto/testlib/selftests/expected_testlib.lightxml
new file mode 100644
index 0000000000..47f5edc07d
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_testlib.lightxml
@@ -0,0 +1,45 @@
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="basics">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp" line="0">
+ <Description><![CDATA[Compared pointers are not the same]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="delays">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="reals">
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[zero]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[self-qQNaN]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[self-qInf]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[infineg]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[Sin(turn/4)]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[Cos(turn/2)]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="cleanupTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
diff --git a/tests/auto/testlib/selftests/expected_testlib.tap b/tests/auto/testlib/selftests/expected_testlib.tap
new file mode 100644
index 0000000000..d85b23b7d4
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_testlib.tap
@@ -0,0 +1,22 @@
+TAP version 13
+# tst_TestLib
+ok 1 - initTestCase()
+not ok 2 - basics()
+ ---
+ # Compared pointers are not the same
+ at: tst_TestLib::basics() (qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp:54)
+ file: qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp
+ line: 54
+ ...
+ok 3 - delays()
+ok 4 - reals(zero)
+ok 5 - reals(self-qQNaN)
+ok 6 - reals(self-qInf)
+ok 7 - reals(infineg)
+ok 8 - reals(Sin(turn/4))
+ok 9 - reals(Cos(turn/2))
+ok 10 - cleanupTestCase()
+1..10
+# tests 10
+# pass 9
+# fail 1
diff --git a/tests/auto/testlib/selftests/expected_testlib.teamcity b/tests/auto/testlib/selftests/expected_testlib.teamcity
new file mode 100644
index 0000000000..11617121e2
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_testlib.teamcity
@@ -0,0 +1,23 @@
+##teamcity[testSuiteStarted name='tst_TestLib' flowId='tst_TestLib']
+##teamcity[testStarted name='initTestCase()' flowId='tst_TestLib']
+##teamcity[testFinished name='initTestCase()' flowId='tst_TestLib']
+##teamcity[testStarted name='basics()' flowId='tst_TestLib']
+##teamcity[testFailed name='basics()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp(0)|]' details='Compared pointers are not the same' flowId='tst_TestLib']
+##teamcity[testFinished name='basics()' flowId='tst_TestLib']
+##teamcity[testStarted name='delays()' flowId='tst_TestLib']
+##teamcity[testFinished name='delays()' flowId='tst_TestLib']
+##teamcity[testStarted name='reals(zero)' flowId='tst_TestLib']
+##teamcity[testFinished name='reals(zero)' flowId='tst_TestLib']
+##teamcity[testStarted name='reals(self-qQNaN)' flowId='tst_TestLib']
+##teamcity[testFinished name='reals(self-qQNaN)' flowId='tst_TestLib']
+##teamcity[testStarted name='reals(self-qInf)' flowId='tst_TestLib']
+##teamcity[testFinished name='reals(self-qInf)' flowId='tst_TestLib']
+##teamcity[testStarted name='reals(infineg)' flowId='tst_TestLib']
+##teamcity[testFinished name='reals(infineg)' flowId='tst_TestLib']
+##teamcity[testStarted name='reals(Sin(turn/4))' flowId='tst_TestLib']
+##teamcity[testFinished name='reals(Sin(turn/4))' flowId='tst_TestLib']
+##teamcity[testStarted name='reals(Cos(turn/2))' flowId='tst_TestLib']
+##teamcity[testFinished name='reals(Cos(turn/2))' flowId='tst_TestLib']
+##teamcity[testStarted name='cleanupTestCase()' flowId='tst_TestLib']
+##teamcity[testFinished name='cleanupTestCase()' flowId='tst_TestLib']
+##teamcity[testSuiteFinished name='tst_TestLib' flowId='tst_TestLib']
diff --git a/tests/auto/testlib/selftests/expected_testlib.txt b/tests/auto/testlib/selftests/expected_testlib.txt
new file mode 100644
index 0000000000..a3f463e7d4
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_testlib.txt
@@ -0,0 +1,15 @@
+********* Start testing of tst_TestLib *********
+Config: Using QtTest library
+PASS : tst_TestLib::initTestCase()
+FAIL! : tst_TestLib::basics() Compared pointers are not the same
+ Loc: [qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp(0)]
+PASS : tst_TestLib::delays()
+PASS : tst_TestLib::reals(zero)
+PASS : tst_TestLib::reals(self-qQNaN)
+PASS : tst_TestLib::reals(self-qInf)
+PASS : tst_TestLib::reals(infineg)
+PASS : tst_TestLib::reals(Sin(turn/4))
+PASS : tst_TestLib::reals(Cos(turn/2))
+PASS : tst_TestLib::cleanupTestCase()
+Totals: 9 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_TestLib *********
diff --git a/tests/auto/testlib/selftests/expected_testlib.xml b/tests/auto/testlib/selftests/expected_testlib.xml
new file mode 100644
index 0000000000..3aca904ac1
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_testlib.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestCase name="tst_TestLib">
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="basics">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/testlib/tst_testlib.cpp" line="0">
+ <Description><![CDATA[Compared pointers are not the same]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="delays">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="reals">
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[zero]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[self-qQNaN]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[self-qInf]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[infineg]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[Sin(turn/4)]]></DataTag>
+</Incident>
+<Incident type="pass" file="" line="0">
+ <DataTag><![CDATA[Cos(turn/2)]]></DataTag>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="cleanupTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
+</TestCase>
diff --git a/tests/auto/testlib/selftests/expected_testlib.xunitxml b/tests/auto/testlib/selftests/expected_testlib.xunitxml
new file mode 100644
index 0000000000..c9c67c7c9a
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_testlib.xunitxml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite errors="0" failures="1" tests="5" name="tst_TestLib">
+ <properties>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
+ <property value="" name="QtBuild"/>
+ </properties>
+ <testcase result="pass" name="initTestCase"/>
+ <testcase result="fail" name="basics">
+ <failure message="Compared pointers are not the same" result="fail"/>
+ </testcase>
+ <testcase result="pass" name="delays"/>
+ <testcase result="pass" name="reals"/>
+ <testcase result="pass" name="cleanupTestCase"/>
+ <system-err/>
+</testsuite>
diff --git a/tests/auto/testlib/selftests/expected_tuplediagnostics.lightxml b/tests/auto/testlib/selftests/expected_tuplediagnostics.lightxml
index 810941d894..85f8fac42a 100644
--- a/tests/auto/testlib/selftests/expected_tuplediagnostics.lightxml
+++ b/tests/auto/testlib/selftests/expected_tuplediagnostics.lightxml
@@ -12,7 +12,7 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="testSimpleTuple">
-<Incident type="fail" file="/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
<Description><![CDATA[Compared values are not the same
Actual (std::tuple<int>{1}): std::tuple(1)
Expected (std::tuple<int>{2}): std::tuple(2)]]></Description>
@@ -20,7 +20,7 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="testTuple">
-<Incident type="fail" file="/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
<Description><![CDATA[Compared values are not the same
Actual (tuple1): std::tuple(42, 'Y', "tuple1")
Expected (tuple2): std::tuple(42, 'Y', "tuple2")]]></Description>
diff --git a/tests/auto/testlib/selftests/expected_tuplediagnostics.tap b/tests/auto/testlib/selftests/expected_tuplediagnostics.tap
index 9e007c14e1..a079a9bf40 100644
--- a/tests/auto/testlib/selftests/expected_tuplediagnostics.tap
+++ b/tests/auto/testlib/selftests/expected_tuplediagnostics.tap
@@ -10,8 +10,8 @@ not ok 3 - testSimpleTuple()
found: std::tuple(1) (std::tuple<int>{1})
expected: std::tuple(2) (std::tuple<int>{2})
actual: std::tuple(1) (std::tuple<int>{1})
- at: tst_TupleDiagnostics::testSimpleTuple() (/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp:53)
- file: /localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp
+ at: tst_TupleDiagnostics::testSimpleTuple() (qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp:53)
+ file: qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp
line: 53
...
not ok 4 - testTuple()
@@ -22,8 +22,8 @@ not ok 4 - testTuple()
found: std::tuple(42, 'Y', "tuple1") (tuple1)
expected: std::tuple(42, 'Y', "tuple2") (tuple2)
actual: std::tuple(42, 'Y', "tuple1") (tuple1)
- at: tst_TupleDiagnostics::testTuple() (/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp:60)
- file: /localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp
+ at: tst_TupleDiagnostics::testTuple() (qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp:60)
+ file: qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp
line: 60
...
ok 5 - cleanupTestCase()
diff --git a/tests/auto/testlib/selftests/expected_tuplediagnostics.teamcity b/tests/auto/testlib/selftests/expected_tuplediagnostics.teamcity
index a395857c60..7256992518 100644
--- a/tests/auto/testlib/selftests/expected_tuplediagnostics.teamcity
+++ b/tests/auto/testlib/selftests/expected_tuplediagnostics.teamcity
@@ -4,10 +4,10 @@
##teamcity[testStarted name='testEmptyTuple()' flowId='tst_TupleDiagnostics']
##teamcity[testFinished name='testEmptyTuple()' flowId='tst_TupleDiagnostics']
##teamcity[testStarted name='testSimpleTuple()' flowId='tst_TupleDiagnostics']
-##teamcity[testFailed name='testSimpleTuple()' message='Failure! |[Loc: /localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)|]' details='Compared values are not the same|n Actual (std::tuple<int>{1}): std::tuple(1)|n Expected (std::tuple<int>{2}): std::tuple(2)' flowId='tst_TupleDiagnostics']
+##teamcity[testFailed name='testSimpleTuple()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)|]' details='Compared values are not the same|n Actual (std::tuple<int>{1}): std::tuple(1)|n Expected (std::tuple<int>{2}): std::tuple(2)' flowId='tst_TupleDiagnostics']
##teamcity[testFinished name='testSimpleTuple()' flowId='tst_TupleDiagnostics']
##teamcity[testStarted name='testTuple()' flowId='tst_TupleDiagnostics']
-##teamcity[testFailed name='testTuple()' message='Failure! |[Loc: /localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)|]' details='Compared values are not the same|n Actual (tuple1): std::tuple(42, |'Y|', "tuple1")|n Expected (tuple2): std::tuple(42, |'Y|', "tuple2")' flowId='tst_TupleDiagnostics']
+##teamcity[testFailed name='testTuple()' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)|]' details='Compared values are not the same|n Actual (tuple1): std::tuple(42, |'Y|', "tuple1")|n Expected (tuple2): std::tuple(42, |'Y|', "tuple2")' flowId='tst_TupleDiagnostics']
##teamcity[testFinished name='testTuple()' flowId='tst_TupleDiagnostics']
##teamcity[testStarted name='cleanupTestCase()' flowId='tst_TupleDiagnostics']
##teamcity[testFinished name='cleanupTestCase()' flowId='tst_TupleDiagnostics']
diff --git a/tests/auto/testlib/selftests/expected_tuplediagnostics.txt b/tests/auto/testlib/selftests/expected_tuplediagnostics.txt
index ce568bf6c0..8d121acc83 100644
--- a/tests/auto/testlib/selftests/expected_tuplediagnostics.txt
+++ b/tests/auto/testlib/selftests/expected_tuplediagnostics.txt
@@ -5,11 +5,11 @@ PASS : tst_TupleDiagnostics::testEmptyTuple()
FAIL! : tst_TupleDiagnostics::testSimpleTuple() Compared values are not the same
Actual (std::tuple<int>{1}): std::tuple(1)
Expected (std::tuple<int>{2}): std::tuple(2)
- Loc: [/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)]
+ Loc: [qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)]
FAIL! : tst_TupleDiagnostics::testTuple() Compared values are not the same
Actual (tuple1): std::tuple(42, 'Y', "tuple1")
Expected (tuple2): std::tuple(42, 'Y', "tuple2")
- Loc: [/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)]
+ Loc: [qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp(0)]
PASS : tst_TupleDiagnostics::cleanupTestCase()
Totals: 3 passed, 2 failed, 0 skipped, 0 blacklisted, 0ms
********* Finished testing of tst_TupleDiagnostics *********
diff --git a/tests/auto/testlib/selftests/expected_tuplediagnostics.xml b/tests/auto/testlib/selftests/expected_tuplediagnostics.xml
index 4c55a6d393..f32974adb4 100644
--- a/tests/auto/testlib/selftests/expected_tuplediagnostics.xml
+++ b/tests/auto/testlib/selftests/expected_tuplediagnostics.xml
@@ -14,7 +14,7 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="testSimpleTuple">
-<Incident type="fail" file="/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
<Description><![CDATA[Compared values are not the same
Actual (std::tuple<int>{1}): std::tuple(1)
Expected (std::tuple<int>{2}): std::tuple(2)]]></Description>
@@ -22,7 +22,7 @@
<Duration msecs="0"/>
</TestFunction>
<TestFunction name="testTuple">
-<Incident type="fail" file="/localqtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
+<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/tuplediagnostics/tst_tuplediagnostics.cpp" line="0">
<Description><![CDATA[Compared values are not the same
Actual (tuple1): std::tuple(42, 'Y', "tuple1")
Expected (tuple2): std::tuple(42, 'Y', "tuple2")]]></Description>
diff --git a/tests/auto/testlib/selftests/expected_watchdog.lightxml b/tests/auto/testlib/selftests/expected_watchdog.lightxml
new file mode 100644
index 0000000000..1070324f2a
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_watchdog.lightxml
@@ -0,0 +1,19 @@
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="delay">
+<Message type="qfatal" file="" line="0">
+ <Description><![CDATA[Test function timed out]]></Description>
+</Message>
+<Incident type="fail" file="Unknown file" line="0">
+ <Description><![CDATA[Received a fatal error.]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
diff --git a/tests/auto/testlib/selftests/expected_watchdog.tap b/tests/auto/testlib/selftests/expected_watchdog.tap
new file mode 100644
index 0000000000..3d4890b67e
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_watchdog.tap
@@ -0,0 +1,15 @@
+TAP version 13
+# tst_Watchdog
+ok 1 - initTestCase()
+# Test function timed out
+not ok 2 - delay()
+ ---
+ # Received a fatal error.
+ at: tst_Watchdog::delay() (Unknown file:0)
+ file: Unknown file
+ line: 0
+ ...
+1..2
+# tests 2
+# pass 1
+# fail 1
diff --git a/tests/auto/testlib/selftests/expected_watchdog.teamcity b/tests/auto/testlib/selftests/expected_watchdog.teamcity
new file mode 100644
index 0000000000..0d77bf70d5
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_watchdog.teamcity
@@ -0,0 +1,8 @@
+##teamcity[testSuiteStarted name='tst_Watchdog' flowId='tst_Watchdog']
+##teamcity[testStarted name='initTestCase()' flowId='tst_Watchdog']
+##teamcity[testFinished name='initTestCase()' flowId='tst_Watchdog']
+##teamcity[testStarted name='delay()' flowId='tst_Watchdog']
+##teamcity[testFailed name='delay()' message='Failure! |[Loc: Unknown file(0)|]' details='Received a fatal error.' flowId='tst_Watchdog']
+##teamcity[testStdOut name='delay()' out='QFATAL: Test function timed out' flowId='tst_Watchdog']
+##teamcity[testFinished name='delay()' flowId='tst_Watchdog']
+##teamcity[testSuiteFinished name='tst_Watchdog' flowId='tst_Watchdog']
diff --git a/tests/auto/testlib/selftests/expected_watchdog.txt b/tests/auto/testlib/selftests/expected_watchdog.txt
new file mode 100644
index 0000000000..4c9cde4ea2
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_watchdog.txt
@@ -0,0 +1,8 @@
+********* Start testing of tst_Watchdog *********
+Config: Using QtTest library
+PASS : tst_Watchdog::initTestCase()
+QFATAL : tst_Watchdog::delay() Test function timed out
+FAIL! : tst_Watchdog::delay() Received a fatal error.
+ Loc: [Unknown file(0)]
+Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted, 0ms
+********* Finished testing of tst_Watchdog *********
diff --git a/tests/auto/testlib/selftests/expected_watchdog.xml b/tests/auto/testlib/selftests/expected_watchdog.xml
new file mode 100644
index 0000000000..f1642fba79
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_watchdog.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestCase name="tst_Watchdog">
+<Environment>
+ <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
+ <QtBuild/>
+ <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
+</Environment>
+<TestFunction name="initTestCase">
+<Incident type="pass" file="" line="0" />
+ <Duration msecs="0"/>
+</TestFunction>
+<TestFunction name="delay">
+<Message type="qfatal" file="" line="0">
+ <Description><![CDATA[Test function timed out]]></Description>
+</Message>
+<Incident type="fail" file="Unknown file" line="0">
+ <Description><![CDATA[Received a fatal error.]]></Description>
+</Incident>
+ <Duration msecs="0"/>
+</TestFunction>
+<Duration msecs="0"/>
+</TestCase>
diff --git a/tests/auto/testlib/selftests/expected_watchdog.xunitxml b/tests/auto/testlib/selftests/expected_watchdog.xunitxml
new file mode 100644
index 0000000000..7e16ab2c34
--- /dev/null
+++ b/tests/auto/testlib/selftests/expected_watchdog.xunitxml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<testsuite errors="1" failures="1" tests="2" name="tst_Watchdog">
+ <properties>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
+ <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
+ <property value="" name="QtBuild"/>
+ </properties>
+ <testcase result="pass" name="initTestCase"/>
+ <testcase result="fail" name="delay">
+ <!-- message="Test function timed out" type="qfatal" -->
+ <failure message="Received a fatal error." result="fail"/>
+ </testcase>
+ <system-err>
+<![CDATA[Test function timed out]]>
+ </system-err>
+</testsuite>
diff --git a/tests/auto/testlib/selftests/expectfail/expectfail.pro b/tests/auto/testlib/selftests/expectfail/expectfail.pro
index c1849990f2..db383bee6a 100644
--- a/tests/auto/testlib/selftests/expectfail/expectfail.pro
+++ b/tests/auto/testlib/selftests/expectfail/expectfail.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = expectfail
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/failcleanup/failcleanup.pro b/tests/auto/testlib/selftests/failcleanup/failcleanup.pro
index 426d7cc45b..12da5920fb 100644
--- a/tests/auto/testlib/selftests/failcleanup/failcleanup.pro
+++ b/tests/auto/testlib/selftests/failcleanup/failcleanup.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = failcleanup
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/faildatatype/BLACKLIST b/tests/auto/testlib/selftests/faildatatype/BLACKLIST
new file mode 100644
index 0000000000..bb1cae98e5
--- /dev/null
+++ b/tests/auto/testlib/selftests/faildatatype/BLACKLIST
@@ -0,0 +1,4 @@
+# See qtbase/src/testlib/qtestblacklist.cpp for format
+# Incidental test: exercise more of the blacklisting code
+[value:bool-as-string]
+*
diff --git a/tests/auto/testlib/selftests/faildatatype/faildatatype.pro b/tests/auto/testlib/selftests/faildatatype/faildatatype.pro
new file mode 100644
index 0000000000..4ff7352555
--- /dev/null
+++ b/tests/auto/testlib/selftests/faildatatype/faildatatype.pro
@@ -0,0 +1,9 @@
+SOURCES += tst_faildatatype.cpp
+QT = core testlib
+
+darwin: CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
+
+TARGET = faildatatype
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/faildatatype/tst_faildatatype.cpp b/tests/auto/testlib/selftests/faildatatype/tst_faildatatype.cpp
new file mode 100644
index 0000000000..b49c7723ef
--- /dev/null
+++ b/tests/auto/testlib/selftests/faildatatype/tst_faildatatype.cpp
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+class tst_FailDataType: public QObject
+{
+Q_OBJECT
+private slots:
+ void value_data() const;
+ void value() const;
+};
+
+void tst_FailDataType::value_data() const
+{
+ QTest::addColumn<QString>("value");
+
+ QTest::newRow("bool-as-string") << true; // assertion should fail here
+}
+
+/*! \internal
+ This function should never be run because its _data() fails.
+ */
+void tst_FailDataType::value() const
+{
+ QFAIL("ERROR: this function is NOT supposed to be run.");
+}
+
+QTEST_APPLESS_MAIN(tst_FailDataType)
+
+#include "tst_faildatatype.moc"
diff --git a/tests/auto/testlib/selftests/failfetchtype/BLACKLIST b/tests/auto/testlib/selftests/failfetchtype/BLACKLIST
new file mode 100644
index 0000000000..20a502724a
--- /dev/null
+++ b/tests/auto/testlib/selftests/failfetchtype/BLACKLIST
@@ -0,0 +1,4 @@
+# See qtbase/src/testlib/qtestblacklist.cpp for format
+# Incidental test: exercise more of the blacklisting code
+[fetch:no-such-dataset]
+*
diff --git a/tests/auto/testlib/selftests/failfetchtype/failfetchtype.pro b/tests/auto/testlib/selftests/failfetchtype/failfetchtype.pro
new file mode 100644
index 0000000000..5821018af4
--- /dev/null
+++ b/tests/auto/testlib/selftests/failfetchtype/failfetchtype.pro
@@ -0,0 +1,9 @@
+SOURCES += tst_failfetchtype.cpp
+QT = core testlib
+
+darwin: CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
+
+TARGET = failfetchtype
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/failfetchtype/tst_failfetchtype.cpp b/tests/auto/testlib/selftests/failfetchtype/tst_failfetchtype.cpp
new file mode 100644
index 0000000000..2dd32a5a5e
--- /dev/null
+++ b/tests/auto/testlib/selftests/failfetchtype/tst_failfetchtype.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+class tst_FailFetchType: public QObject
+{
+Q_OBJECT
+private slots:
+ void fetch_data() const;
+ void fetch() const;
+};
+
+void tst_FailFetchType::fetch_data() const
+{
+ QTest::addColumn<bool>("value");
+
+ QTest::newRow("bool") << true;
+}
+
+void tst_FailFetchType::fetch() const
+{
+ QFETCH(QString, value); // assertion should fail here
+ QFAIL("ERROR: this function is NOT supposed to be run.");
+}
+
+QTEST_APPLESS_MAIN(tst_FailFetchType)
+
+#include "tst_failfetchtype.moc"
diff --git a/tests/auto/testlib/selftests/failinit/failinit.pro b/tests/auto/testlib/selftests/failinit/failinit.pro
index 6a30a5af68..46b1c3a6c4 100644
--- a/tests/auto/testlib/selftests/failinit/failinit.pro
+++ b/tests/auto/testlib/selftests/failinit/failinit.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = failinit
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/failinitdata/failinitdata.pro b/tests/auto/testlib/selftests/failinitdata/failinitdata.pro
index b608c67dbb..63b32cb6d6 100644
--- a/tests/auto/testlib/selftests/failinitdata/failinitdata.pro
+++ b/tests/auto/testlib/selftests/failinitdata/failinitdata.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = failinitdata
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/fetchbogus/fetchbogus.pro b/tests/auto/testlib/selftests/fetchbogus/fetchbogus.pro
index 33b306ca75..0fbb5e4c00 100644
--- a/tests/auto/testlib/selftests/fetchbogus/fetchbogus.pro
+++ b/tests/auto/testlib/selftests/fetchbogus/fetchbogus.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = fetchbogus
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/findtestdata/findtestdata.pro b/tests/auto/testlib/selftests/findtestdata/findtestdata.pro
index f04a640c59..7fbdaea3a3 100644
--- a/tests/auto/testlib/selftests/findtestdata/findtestdata.pro
+++ b/tests/auto/testlib/selftests/findtestdata/findtestdata.pro
@@ -7,3 +7,5 @@ CONFIG -= debug_and_release_target
RESOURCES = findtestdata.qrc
TARGET = findtestdata
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/float/float.pro b/tests/auto/testlib/selftests/float/float.pro
index 95980eeac8..479eb152c5 100644
--- a/tests/auto/testlib/selftests/float/float.pro
+++ b/tests/auto/testlib/selftests/float/float.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = float
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/float/tst_float.cpp b/tests/auto/testlib/selftests/float/tst_float.cpp
index 2fffcc7803..621dd1ccd9 100644
--- a/tests/auto/testlib/selftests/float/tst_float.cpp
+++ b/tests/auto/testlib/selftests/float/tst_float.cpp
@@ -27,19 +27,108 @@
****************************************************************************/
#include <QtCore/QCoreApplication>
+#include <QtCore/qfloat16.h>
#include <QtTest/QtTest>
#include <QDebug>
+// Test proper handling of floating-point types
class tst_float: public QObject
{
Q_OBJECT
private slots:
+ void doubleComparisons() const;
+ void doubleComparisons_data() const;
void floatComparisons() const;
void floatComparisons_data() const;
+ void float16Comparisons() const;
+ void float16Comparisons_data() const;
void compareFloatTests() const;
void compareFloatTests_data() const;
};
+template<typename F>
+static void nonFinite_data(F zero, F one)
+{
+ using Bounds = std::numeric_limits<F>;
+
+ // QCOMPARE special-cases non-finite values
+ if (Bounds::has_quiet_NaN) {
+ const F nan = Bounds::quiet_NaN();
+ QTest::newRow("should PASS: NaN == NaN") << nan << nan;
+ QTest::newRow("should FAIL: NaN != 0") << nan << zero;
+ QTest::newRow("should FAIL: 0 != NaN") << zero << nan;
+ QTest::newRow("should FAIL: NaN != 1") << nan << one;
+ QTest::newRow("should FAIL: 1 != NaN") << one << nan;
+ }
+
+ if (Bounds::has_infinity) {
+ const F uge = Bounds::infinity();
+ QTest::newRow("should PASS: inf == inf") << uge << uge;
+ QTest::newRow("should PASS: -inf == -inf") << -uge << -uge;
+ QTest::newRow("should FAIL: inf != -inf") << uge << -uge;
+ QTest::newRow("should FAIL: -inf != inf") << -uge << uge;
+ if (Bounds::has_quiet_NaN) {
+ const F nan = Bounds::quiet_NaN();
+ QTest::newRow("should FAIL: inf != nan") << uge << nan;
+ QTest::newRow("should FAIL: nan != inf") << nan << uge;
+ QTest::newRow("should FAIL: -inf != nan") << -uge << nan;
+ QTest::newRow("should FAIL: nan != -inf") << nan << -uge;
+ }
+ QTest::newRow("should FAIL: inf != 0") << uge << zero;
+ QTest::newRow("should FAIL: 0 != inf") << zero << uge;
+ QTest::newRow("should FAIL: -inf != 0") << -uge << zero;
+ QTest::newRow("should FAIL: 0 != -inf") << zero << -uge;
+ QTest::newRow("should FAIL: inf != 1") << uge << one;
+ QTest::newRow("should FAIL: 1 != inf") << one << uge;
+ QTest::newRow("should FAIL: -inf != 1") << -uge << one;
+ QTest::newRow("should FAIL: 1 != -inf") << one << -uge;
+
+ const F big = Bounds::max();
+ QTest::newRow("should FAIL: inf != max") << uge << big;
+ QTest::newRow("should FAIL: inf != -max") << uge << -big;
+ QTest::newRow("should FAIL: max != inf") << big << uge;
+ QTest::newRow("should FAIL: -max != inf") << -big << uge;
+ QTest::newRow("should FAIL: -inf != max") << -uge << big;
+ QTest::newRow("should FAIL: -inf != -max") << -uge << -big;
+ QTest::newRow("should FAIL: max != -inf") << big << -uge;
+ QTest::newRow("should FAIL: -max != -inf") << -big << -uge;
+ }
+}
+
+void tst_float::doubleComparisons() const
+{
+ QFETCH(double, operandLeft);
+ QFETCH(double, operandRight);
+
+ QCOMPARE(operandLeft, operandRight);
+}
+
+void tst_float::doubleComparisons_data() const
+{
+ QTest::addColumn<double>("operandLeft");
+ QTest::addColumn<double>("operandRight");
+ double zero(0.), one(1.);
+
+ QTest::newRow("should FAIL 1") << one << 3.;
+ QTest::newRow("should PASS 1") << zero << zero;
+ QTest::newRow("should FAIL 2") << 1.e-7 << 3.e-7;
+
+ // QCOMPARE for doubles uses qFuzzyCompare(), which succeeds if the numbers
+ // differ by no more than 1e-12 times the smaller value. Thus
+ // QCOMPARE(1e12-2, 1e12-1) should fail, while QCOMPARE(1e12+1, 1e12+2)
+ // should pass.
+
+ QTest::newRow("should PASS 2") << 1e12 + one << 1e12 + 2.;
+ QTest::newRow("should FAIL 3") << 1e12 - one << 1e12 - 2.;
+ // ... but rounding makes that a bit unrelaible when scaled close to the bounds.
+ QTest::newRow("should PASS 3") << 1e-310 + 1e-322 << 1e-310 + 2e-322;
+ QTest::newRow("should FAIL 4") << 1e-310 - 1e-322 << 1e-310 - 3e-322;
+ QTest::newRow("should PASS 4") << 1e307 + 1e295 << 1e307 + 2e295;
+ QTest::newRow("should FAIL 5") << 1e307 - 1e295 << 1e307 - 3e295;
+
+ nonFinite_data(zero, one);
+}
+
void tst_float::floatComparisons() const
{
QFETCH(float, operandLeft);
@@ -52,31 +141,62 @@ void tst_float::floatComparisons_data() const
{
QTest::addColumn<float>("operandLeft");
QTest::addColumn<float>("operandRight");
+ float zero(0.f), one(1.f);
+
+ QTest::newRow("should FAIL 1") << one << 3.f;
+ QTest::newRow("should PASS 1") << zero << zero;
+ QTest::newRow("should FAIL 2") << 1.e-7f << 3.e-7f;
+
+ // QCOMPARE for floats uses qFuzzyCompare(), which succeeds if the numbers
+ // differ by no more than 1e-5 times the smaller value. Thus
+ // QCOMPARE(1e5-2, 1e5-1) should fail, while QCOMPARE(1e5+1, 1e5+2)
+ // should pass.
+
+ QTest::newRow("should PASS 2") << 1e5f + one << 1e5f + 2.f;
+ QTest::newRow("should FAIL 3") << 1e5f - one << 1e5f - 2.f;
+ // ... but rounding makes that a bit unrelaible when scaled close to the bounds.
+ QTest::newRow("should PASS 3") << 1e-39f + 1e-44f << 1e-39f + 2e-44f;
+ QTest::newRow("should FAIL 4") << 1e-39f - 1e-44f << 1e-39f - 3e-44f;
+ QTest::newRow("should PASS 4") << 1e38f + 1e33f << 1e38f + 2e33f;
+ QTest::newRow("should FAIL 5") << 1e38f - 1e33f << 1e38f - 3e33f;
+
+ nonFinite_data(zero, one);
+}
+
+void tst_float::float16Comparisons() const
+{
+ QFETCH(qfloat16, operandLeft);
+ QFETCH(qfloat16, operandRight);
+
+ QCOMPARE(operandLeft, operandRight);
+}
+
+void tst_float::float16Comparisons_data() const
+{
+ QTest::addColumn<qfloat16>("operandLeft");
+ QTest::addColumn<qfloat16>("operandRight");
QTest::newRow("should SUCCEED 1")
- << float(0)
- << float(0);
+ << qfloat16(0)
+ << qfloat16(0);
QTest::newRow("should FAIL 1")
- << float(1.00000)
- << float(3.00000);
+ << qfloat16(1.000)
+ << qfloat16(3.000);
QTest::newRow("should FAIL 2")
- << float(1.00000e-7f)
- << float(3.00000e-7f);
+ << qfloat16(1.000e-4f)
+ << qfloat16(3.000e-4f);
- // QCOMPARE for floats uses qFuzzyCompare(), which succeeds if the numbers
- // differ by no more than 1/100,000th of the smaller value. Thus
- // QCOMPARE(99998, 99999) should fail, while QCOMPARE(100001, 100002)
- // should pass.
+ // QCOMPARE for qfloat16s uses qFuzzyCompare()
QTest::newRow("should FAIL 3")
- << float(99998)
- << float(99999);
+ << qfloat16(98)
+ << qfloat16(99);
QTest::newRow("should SUCCEED 2")
- << float(100001)
- << float(100002);
+ << qfloat16(1001)
+ << qfloat16(1002);
}
void tst_float::compareFloatTests() const
diff --git a/tests/auto/testlib/selftests/generate_expected_output.py b/tests/auto/testlib/selftests/generate_expected_output.py
index 1996416e8c..48ecbf0289 100755
--- a/tests/auto/testlib/selftests/generate_expected_output.py
+++ b/tests/auto/testlib/selftests/generate_expected_output.py
@@ -92,6 +92,17 @@ class Cleaner (object):
(r'(Loc: \[[^[\]()]+)\(\d+\)', r'\1(0)'), # txt
(r'(\[Loc: [^[\]()]+)\(\d+\)', r'\1(0)'), # teamcity
(r'(<(?:Incident|Message)\b.*\bfile=.*\bline=)"\d+"', r'\1"0"'), # lightxml, xml
+ # Pointers printed by signal dumper:
+ (r'\(\b[a-f0-9]{8,}\b\)', r'(_POINTER_)'),
+ # Example/for reference:
+ # ((QString&)@55f5fbb8dd40)
+ # ((const QVector<int>*)7ffd671d4558)
+ (r'\((\((?:const )?\w+(?:<[^>]+>)?[*&]*\)@?)\b[a-f\d]{8,}\b\)', r'(\1_POINTER_)'),
+ # For xml output there is no '<', '>' or '&', so we need an alternate version for that:
+ # ((QVector&lt;int&gt;&amp;)@5608b455e640)
+ (r'\((\((?:const )?\w+(?:&lt;(?:[^&]|&(?!gt;))*&gt;)?(?:\*|&amp;)?\)@?)[a-z\d]+\b\)', r'(\1_POINTER_)'),
+ # QEventDispatcher{Glib,Win32,etc.}
+ (r'\bQEventDispatcher\w+\b', r'QEventDispatcherPlatform'),
),
precook = re.compile):
"""Private implementation details of __init__()."""
@@ -132,7 +143,7 @@ class Cleaner (object):
# Add path to specific sources and to tst_*.cpp if missing (for in-source builds):
patterns += ((r'(^|[^/])\b(qtestcase.cpp)\b', r'\1qtbase/src/testlib/\2'),
# Add more special cases here, if they show up !
- (r'([[" ])\.\./(counting/tst_counting.cpp)\b',
+ (r'([\[" ])\.\./(counting/tst_counting.cpp)\b',
r'\1' + os.path.sep.join(hereNames + (r'\2',))),
# The common pattern:
(r'(^|[^/])\b(tst_)?([a-z]+\d*)\.cpp\b',
@@ -221,8 +232,71 @@ class Scanner (object):
print('tst_selftests.cpp names', d, "as a test, but it doesn't exist")
del re
+# Keep in sync with tst_selftests.cpp's processEnvironment():
+def baseEnv(platname=None,
+ keep=('PATH', 'QT_QPA_PLATFORM'),
+ posix=('HOME', 'USER', 'QEMU_SET_ENV', 'QEMU_LD_PREFIX'),
+ nonapple=('DISPLAY', 'XAUTHLOCALHOSTNAME'), # and XDG_*
+ # Don't actually know how to test for QNX, so this is ignored:
+ qnx=('GRAPHICS_ROOT', 'TZ'),
+ # Probably not actually relevant
+ preserveLib=('QT_PLUGIN_PATH', 'LD_LIBRARY_PATH'),
+ # Shall be modified on first call (a *copy* is returned):
+ cached={}):
+ """Lazily-evaluated standard environment for sub-tests to run in.
+
+ This prunes the parent process environment, selecting a only those
+ variables we chose to keep. The platname passed to the first call
+ helps select which variables to keep. The environment computed
+ then is cached: a copy of this is returned on that call and each
+ subsequent call.\n"""
+
+ if not cached:
+ xdg = False
+ # The platform module may be more apt for the platform tests here.
+ if os.name == 'posix':
+ keep += posix
+ if platname != 'darwin':
+ keep += nonapple
+ xdg = True
+ if 'QT_PRESERVE_TESTLIB_PATH' in os.environ:
+ keep += preserveLib
+
+ cached = dict(
+ LC_ALL = 'C', # Use standard locale
+ # Avoid interference from any qtlogging.ini files, e.g. in
+ # /etc/xdg/QtProject/, (must match tst_selftests.cpp's
+ # processEnvironment()'s value):
+ QT_LOGGING_RULES = '*.debug=true;qt.*=false')
+
+ for k, v in os.environ.items():
+ if k in keep or (xdg and k.startswith('XDG_')):
+ cached[k] = v
+
+ return cached.copy()
+
+def testEnv(testname,
+ # Make sure this matches tst_Selftests::doRunSubTest():
+ extraEnv = {
+ "crashers": { "QTEST_DISABLE_CORE_DUMP": "1",
+ "QTEST_DISABLE_STACK_DUMP": "1" },
+ "watchdog": { "QTEST_FUNCTION_TIMEOUT": "100" },
+ },
+ # Must match tst_Selftests::runSubTest_data():
+ crashers = ("assert", "blacklisted", "crashes", "crashedterminate",
+ "exceptionthrow", "faildatatype", "failfetchtype",
+ "fetchbogus", "silent", "watchdog")):
+ """Determine the environment in which to run a test."""
+ data = baseEnv()
+ if testname in crashers:
+ data.update(extraEnv["crashers"])
+ if testname in extraEnv:
+ data.update(extraEnv[testname])
+ return data
+
def generateTestData(testname, clean,
formats = ('xml', 'txt', 'xunitxml', 'lightxml', 'teamcity', 'tap'),
+ # Make sure this matches tst_Selftests::runSubTest_data():
extraArgs = {
"commandlinedata": "fiveTablePasses fiveTablePasses:fiveTablePasses_data1 -v2",
"benchlibcallgrind": "-callgrind",
@@ -233,6 +307,7 @@ def generateTestData(testname, clean,
"benchlibcounting": "-eventcounter",
"printdatatags": "-datatags",
"printdatatagswithglobaltags": "-datatags",
+ "signaldumper": "-vs",
"silent": "-silent",
"verbose1": "-v1",
"verbose2": "-v2",
@@ -249,26 +324,22 @@ def generateTestData(testname, clean,
print("Warning: directory", testname, "contains no test executable")
return
+ # Prepare environment in which to run tests:
+ env = testEnv(testname)
+
print(" running", testname)
for format in formats:
cmd = [path, '-' + format]
if testname in extraArgs:
cmd += extraArgs[testname].split()
- data = subprocess.Popen(cmd, stdout=subprocess.PIPE,
+ data = subprocess.Popen(cmd, stdout=subprocess.PIPE, env=env,
universal_newlines=True).communicate()[0]
with open('expected_' + testname + '.' + format, 'w') as out:
out.write('\n'.join(clean(data))) # write() appends a newline, too
def main(name, *args):
"""Minimal argument parsing and driver for the real work"""
- os.environ.update(
- LC_ALL = 'C', # Use standard locale
- # Avoid interference from any qtlogging.ini files, e.g. in
- # /etc/xdg/QtProject/, (must match tst_selftests.cpp's
- # processEnvironment()'s value):
- QT_LOGGING_RULES = '*.debug=true;qt.*=false')
-
herePath = os.getcwd()
cleaner = Cleaner(herePath, name)
@@ -280,6 +351,7 @@ def main(name, *args):
if __name__ == '__main__':
# Executed when script is run, not when imported (e.g. to debug)
import sys
+ baseEnv(sys.platform) # initializes its cache
if sys.platform.startswith('win'):
print("This script does not work on Windows.")
diff --git a/tests/auto/testlib/selftests/globaldata/globaldata.pro b/tests/auto/testlib/selftests/globaldata/globaldata.pro
index c0b1554c0f..621416c5b8 100644
--- a/tests/auto/testlib/selftests/globaldata/globaldata.pro
+++ b/tests/auto/testlib/selftests/globaldata/globaldata.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = globaldata
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp b/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp
index 6c0ae1f43c..3c5c2c8f37 100644
--- a/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp
+++ b/tests/auto/testlib/selftests/globaldata/tst_globaldata.cpp
@@ -66,9 +66,10 @@ void tst_globaldata::initTestCase()
void tst_globaldata::initTestCase_data()
{
- QTest::addColumn<bool>("booli");
- QTest::newRow("1") << false;
- QTest::newRow("2") << true;
+ // QFETCH_GLOBAL shall iterate these, for every test:
+ QTest::addColumn<bool>("global");
+ QTest::newRow("global=false") << false;
+ QTest::newRow("global=true") << true;
}
void tst_globaldata::cleanupTestCase()
@@ -94,41 +95,42 @@ void tst_globaldata::cleanup()
void tst_globaldata::testGlobal_data()
{
- QTest::addColumn<bool>("booll");
- QTest::newRow("local 1") << false;
- QTest::newRow("local 2") << true;
+ QTest::addColumn<bool>("local");
+ QTest::newRow("local=false") << false;
+ QTest::newRow("local=true") << true;
}
void tst_globaldata::testGlobal()
{
- QFETCH_GLOBAL(bool, booli);
- qDebug() << "global:" << booli;
- QFETCH(bool, booll);
- qDebug() << "local:" << booll;
+ QFETCH_GLOBAL(bool, global);
+ qDebug() << "global:" << global;
+ QFETCH(bool, local);
+ qDebug() << "local:" << local;
}
void tst_globaldata::skip_data()
{
- QTest::addColumn<bool>("booll");
- QTest::newRow("local 1") << false;
- QTest::newRow("local 2") << true;
-
+ testGlobal_data();
QSKIP("skipping");
}
void tst_globaldata::skip()
{
- qDebug() << "this line should never be reached";
+ // A skip in _data() causes the whole test to be skipped, for all global rows.
+ QVERIFY(!"This line should never be reached.");
}
void tst_globaldata::skipSingle()
{
- QFETCH_GLOBAL(bool, booli);
- QFETCH(bool, booll);
-
- if (booli && !booll)
- QSKIP("skipping");
- qDebug() << "global:" << booli << "local:" << booll;
+ QFETCH_GLOBAL(bool, global);
+ QFETCH(bool, local);
+
+ // A skip in the last run of one global row used to suppress the test in the
+ // next global row (where a skip in an earlier run of the first row did not).
+ if (global ^ local)
+ QSKIP("Skipping");
+ qDebug() << "global:" << global << "local:" << local;
+ QCOMPARE(global, local);
}
void tst_globaldata::skipLocal()
diff --git a/tests/auto/testlib/selftests/keyboard/keyboard.pro b/tests/auto/testlib/selftests/keyboard/keyboard.pro
index 0097318797..488c992e62 100644
--- a/tests/auto/testlib/selftests/keyboard/keyboard.pro
+++ b/tests/auto/testlib/selftests/keyboard/keyboard.pro
@@ -5,3 +5,5 @@ macos:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = keyboard
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/longstring/longstring.pro b/tests/auto/testlib/selftests/longstring/longstring.pro
index d16ba85095..d8961203f3 100644
--- a/tests/auto/testlib/selftests/longstring/longstring.pro
+++ b/tests/auto/testlib/selftests/longstring/longstring.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = longstring
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/maxwarnings/maxwarnings.pro b/tests/auto/testlib/selftests/maxwarnings/maxwarnings.pro
index 79451af1ec..bdca0225d3 100644
--- a/tests/auto/testlib/selftests/maxwarnings/maxwarnings.pro
+++ b/tests/auto/testlib/selftests/maxwarnings/maxwarnings.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = maxwarnings
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/mouse/mouse.pro b/tests/auto/testlib/selftests/mouse/mouse.pro
index 7c06b8aa64..e5701eee0f 100644
--- a/tests/auto/testlib/selftests/mouse/mouse.pro
+++ b/tests/auto/testlib/selftests/mouse/mouse.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = mouse
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/multiexec/multiexec.pro b/tests/auto/testlib/selftests/multiexec/multiexec.pro
index 2038acbd31..e9b2b7b587 100644
--- a/tests/auto/testlib/selftests/multiexec/multiexec.pro
+++ b/tests/auto/testlib/selftests/multiexec/multiexec.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = multiexec
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/pairdiagnostics/pairdiagnostics.pro b/tests/auto/testlib/selftests/pairdiagnostics/pairdiagnostics.pro
index 1c07c93e9d..25f5bfe809 100644
--- a/tests/auto/testlib/selftests/pairdiagnostics/pairdiagnostics.pro
+++ b/tests/auto/testlib/selftests/pairdiagnostics/pairdiagnostics.pro
@@ -4,3 +4,5 @@ QT = core testlib
CONFIG -= app_bundle debug_and_release_target
TARGET = pairdiagnostics
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/printdatatags/printdatatags.pro b/tests/auto/testlib/selftests/printdatatags/printdatatags.pro
index cd06384835..83f171aac5 100644
--- a/tests/auto/testlib/selftests/printdatatags/printdatatags.pro
+++ b/tests/auto/testlib/selftests/printdatatags/printdatatags.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = printdatatags
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/printdatatagswithglobaltags/printdatatagswithglobaltags.pro b/tests/auto/testlib/selftests/printdatatagswithglobaltags/printdatatagswithglobaltags.pro
index f1cf25d104..00ca4a0e62 100644
--- a/tests/auto/testlib/selftests/printdatatagswithglobaltags/printdatatagswithglobaltags.pro
+++ b/tests/auto/testlib/selftests/printdatatagswithglobaltags/printdatatagswithglobaltags.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = printdatatagswithglobaltags
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/qexecstringlist/qexecstringlist.pro b/tests/auto/testlib/selftests/qexecstringlist/qexecstringlist.pro
index bd967f32e6..4d7af8ab40 100644
--- a/tests/auto/testlib/selftests/qexecstringlist/qexecstringlist.pro
+++ b/tests/auto/testlib/selftests/qexecstringlist/qexecstringlist.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = qexecstringlist
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/selftests.pri b/tests/auto/testlib/selftests/selftests.pri
index 498d1653c0..2cad0b7e17 100644
--- a/tests/auto/testlib/selftests/selftests.pri
+++ b/tests/auto/testlib/selftests/selftests.pri
@@ -1,5 +1,4 @@
SUBPROGRAMS = \
- #alive \
assert \
badxml \
benchlibcallgrind \
@@ -21,22 +20,23 @@ SUBPROGRAMS = \
exceptionthrow \
expectfail \
failcleanup \
+ faildatatype \
+ failfetchtype \
failinit \
failinitdata \
fetchbogus \
findtestdata \
float \
globaldata \
- keyboard \
longstring \
maxwarnings \
- mouse \
multiexec \
pairdiagnostics \
printdatatags \
printdatatagswithglobaltags \
qexecstringlist \
silent \
+ signaldumper \
singleskip \
skip \
skipcleanup \
@@ -45,12 +45,18 @@ SUBPROGRAMS = \
sleep \
strcmp \
subtest \
+ testlib \
tuplediagnostics \
verbose1 \
verbose2 \
verifyexceptionthrown \
warnings \
+ watchdog \
xunit
+qtHaveModule(gui): SUBPROGRAMS += \
+ keyboard \
+ mouse
+
INCLUDEPATH += ../../../../shared/
HEADERS += ../../../../shared/emulationdetector.h
diff --git a/tests/auto/testlib/selftests/signaldumper/signaldumper.pro b/tests/auto/testlib/selftests/signaldumper/signaldumper.pro
new file mode 100644
index 0000000000..8780b18419
--- /dev/null
+++ b/tests/auto/testlib/selftests/signaldumper/signaldumper.pro
@@ -0,0 +1,9 @@
+SOURCES += tst_signaldumper.cpp
+QT = core testlib-private
+
+macos:CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
+
+TARGET = signaldumper
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp b/tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp
new file mode 100644
index 0000000000..f6cd0d510e
--- /dev/null
+++ b/tests/auto/testlib/selftests/signaldumper/tst_signaldumper.cpp
@@ -0,0 +1,417 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QCoreApplication>
+#include <QtTest/QtTest>
+#include <private/qtestlog_p.h>
+
+class tst_Signaldumper : public QObject
+{
+ Q_OBJECT
+
+ void addConnectionTypeData();
+
+private slots:
+ void noConnections();
+ void oneSlot_data();
+ void oneSlot();
+ void oneSlotOldSyntax_data();
+ void oneSlotOldSyntax();
+ void twoSlots_data();
+ void twoSlots();
+ void twoSlotsOldSyntax_data();
+ void twoSlotsOldSyntax();
+ void signalForwarding_data();
+ void signalForwarding();
+ void signalForwardingOldSyntax_data();
+ void signalForwardingOldSyntax();
+ void slotEmittingSignal_data();
+ void slotEmittingSignal();
+ void slotEmittingSignalOldSyntax_data();
+ void slotEmittingSignalOldSyntax();
+
+ void variousTypes();
+};
+
+void tst_Signaldumper::addConnectionTypeData()
+{
+ QTest::addColumn<Qt::ConnectionType>("connectionType");
+ QTest::newRow("direct") << Qt::ConnectionType::DirectConnection;
+ QTest::newRow("queued") << Qt::ConnectionType::QueuedConnection;
+}
+
+/*
+ Simple class to keep the slots and signals separate from the test
+*/
+class SignalSlotClass : public QObject
+{
+ Q_OBJECT
+
+public:
+ SignalSlotClass();
+
+public slots:
+ void slotWithoutParameters() {}
+ void slotWithParameters(int i, char c) { Q_UNUSED(i); Q_UNUSED(c); }
+ void emitSecondSignal() { emit nestedSignal(); }
+
+signals:
+ void signalWithoutParameters();
+ void signalWithParameters(int i, char c);
+
+ void nestedSignal();
+ void nestedSignalWithParameters(int i, char c);
+
+ // For the "variousTypes" test
+ void qStringSignal(QString string);
+ void qStringRefSignal(QString &string);
+ void qStringConstRefSignal(const QString &string);
+ void qByteArraySignal(QByteArray byteArray);
+ void qListSignal(QList<int> list);
+ void qVectorSignal(QVector<int> vector);
+ void qVectorRefSignal(QVector<int> &vector);
+ void qVectorConstRefSignal(const QVector<int> &vector);
+ void qVectorConstPointerSignal(const QVector<int> *vector);
+ void qVectorPointerConstSignal(QVector<int> *const vector);
+ void qVariantSignal(QVariant variant);
+};
+
+SignalSlotClass::SignalSlotClass()
+{
+ // For printing signal argument in "variousTypes" test
+ qRegisterMetaType<QVector<int>>();
+ qRegisterMetaType<QList<int>>();
+}
+
+void tst_Signaldumper::noConnections()
+{
+ SignalSlotClass signalSlotOwner;
+
+ emit signalSlotOwner.signalWithoutParameters();
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+}
+
+void tst_Signaldumper::oneSlot_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::oneSlot()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ SignalSlotClass signalSlotOwner;
+ // parameterless to parameterless
+ auto connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithoutParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithoutParameters, connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameters to parameters
+ connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithParameters, connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameters to no parameters
+ connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithoutParameters, connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+}
+
+void tst_Signaldumper::oneSlotOldSyntax_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::oneSlotOldSyntax()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ SignalSlotClass signalSlotOwner;
+ // parameterless to parameterless
+ auto connection = connect(&signalSlotOwner, SIGNAL(signalWithoutParameters()),
+ &signalSlotOwner, SLOT(slotWithoutParameters()), connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameters to parameters
+ connection = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SLOT(slotWithParameters(int, char)), connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameters to no parameters
+ connection = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SLOT(slotWithoutParameters()), connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+}
+
+void tst_Signaldumper::twoSlots_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::twoSlots()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ // Now, instead of creating two slots or two objects, we will just do the same connection twice.
+ // The same slot will then be invoked twice.
+
+ SignalSlotClass signalSlotOwner;
+ // parameterless to parameterless
+ auto connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithoutParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithoutParameters, connectionType);
+ auto connection2 = connect(&signalSlotOwner, &SignalSlotClass::signalWithoutParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithoutParameters, connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+ disconnect(connection2);
+
+ // parameters to parameters
+ connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithParameters, connectionType);
+ connection2 = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithParameters, connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+ disconnect(connection2);
+
+ // parameters to no parameters
+ connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithoutParameters, connectionType);
+ connection2 = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::slotWithoutParameters, connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+ disconnect(connection2);
+}
+
+void tst_Signaldumper::twoSlotsOldSyntax_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::twoSlotsOldSyntax()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ // Now, instead of creating two slots or two objects, we will just do the same connection twice.
+ // The same slot will then be invoked twice.
+
+ SignalSlotClass signalSlotOwner;
+ // parameterless to parameterless
+ auto connection = connect(&signalSlotOwner, SIGNAL(signalWithoutParameters()),
+ &signalSlotOwner, SLOT(slotWithoutParameters()), connectionType);
+ auto connection2 = connect(&signalSlotOwner, SIGNAL(signalWithoutParameters()),
+ &signalSlotOwner, SLOT(slotWithoutParameters()), connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+ disconnect(connection2);
+
+ // parameters to parameters
+ connection = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SLOT(slotWithParameters(int, char)), connectionType);
+ connection2 = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SLOT(slotWithParameters(int, char)), connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+ disconnect(connection2);
+
+ // parameters to no parameters
+ connection = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SLOT(slotWithoutParameters()), connectionType);
+ connection2 = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SLOT(slotWithoutParameters()), connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+ disconnect(connection2);
+}
+
+void tst_Signaldumper::signalForwarding_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::signalForwarding()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ SignalSlotClass signalSlotOwner;
+
+ // parameterless signal to parameterless signal
+ auto connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithoutParameters,
+ &signalSlotOwner, &SignalSlotClass::nestedSignal, connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameter(full) signal to parameter(full) signal
+ connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::nestedSignalWithParameters, connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameter(full) signal to parameterless signal
+ connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithParameters,
+ &signalSlotOwner, &SignalSlotClass::nestedSignal, connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+}
+
+void tst_Signaldumper::signalForwardingOldSyntax_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::signalForwardingOldSyntax()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ SignalSlotClass signalSlotOwner;
+
+ // parameterless signal to parameterless signal
+ auto connection = connect(&signalSlotOwner, SIGNAL(signalWithoutParameters()),
+ &signalSlotOwner, SIGNAL(nestedSignal()), connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameter(full) signal to parameter(full) signal
+ connection = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SIGNAL(nestedSignalWithParameters(int, char)), connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+
+ // parameter(full) signal to parameterless signal
+ connection = connect(&signalSlotOwner, SIGNAL(signalWithParameters(int, char)),
+ &signalSlotOwner, SIGNAL(nestedSignal()), connectionType);
+ emit signalSlotOwner.signalWithParameters(242, 'm');
+
+ QCoreApplication::processEvents();
+ disconnect(connection);
+}
+
+void tst_Signaldumper::slotEmittingSignal_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::slotEmittingSignal()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ SignalSlotClass signalSlotOwner;
+
+ auto connection = connect(&signalSlotOwner, &SignalSlotClass::signalWithoutParameters,
+ &signalSlotOwner, &SignalSlotClass::emitSecondSignal, connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+ QCoreApplication::processEvents();
+ disconnect(connection);
+}
+
+void tst_Signaldumper::slotEmittingSignalOldSyntax_data()
+{
+ addConnectionTypeData();
+}
+
+void tst_Signaldumper::slotEmittingSignalOldSyntax()
+{
+ QFETCH(Qt::ConnectionType, connectionType);
+
+ SignalSlotClass signalSlotOwner;
+
+ auto connection = connect(&signalSlotOwner, SIGNAL(signalWithoutParameters()),
+ &signalSlotOwner, SLOT(emitSecondSignal()), connectionType);
+ emit signalSlotOwner.signalWithoutParameters();
+ QCoreApplication::processEvents();
+ disconnect(connection);
+}
+
+void tst_Signaldumper::variousTypes()
+{
+ SignalSlotClass signalSlotOwner;
+ QString string = QString::fromLatin1("Test string");
+ emit signalSlotOwner.qStringSignal(string);
+ emit signalSlotOwner.qStringRefSignal(string);
+ emit signalSlotOwner.qStringConstRefSignal(string);
+ emit signalSlotOwner.qByteArraySignal(QByteArray("Test bytearray"));
+
+ QList<int> list{1, 2, 3, 242};
+ emit signalSlotOwner.qListSignal(list);
+
+ QVector<int> vector{1, 2, 3, 242};
+ emit signalSlotOwner.qVectorSignal(vector);
+ emit signalSlotOwner.qVectorRefSignal(vector);
+ emit signalSlotOwner.qVectorConstRefSignal(vector);
+ emit signalSlotOwner.qVectorConstPointerSignal(&vector);
+ emit signalSlotOwner.qVectorPointerConstSignal(&vector);
+
+ QVariant variant = 24;
+ emit signalSlotOwner.qVariantSignal(variant);
+ variant = QVariant(string);
+ emit signalSlotOwner.qVariantSignal(variant);
+}
+
+QTEST_MAIN(tst_Signaldumper)
+#include "tst_signaldumper.moc"
diff --git a/tests/auto/testlib/selftests/silent/silent.pro b/tests/auto/testlib/selftests/silent/silent.pro
index 3150f65a5e..3f6325a010 100644
--- a/tests/auto/testlib/selftests/silent/silent.pro
+++ b/tests/auto/testlib/selftests/silent/silent.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = silent
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/silent/tst_silent.cpp b/tests/auto/testlib/selftests/silent/tst_silent.cpp
index 97fbbfd30a..cf3c35dec4 100644
--- a/tests/auto/testlib/selftests/silent/tst_silent.cpp
+++ b/tests/auto/testlib/selftests/silent/tst_silent.cpp
@@ -72,6 +72,17 @@ void tst_Silent::xpass()
QVERIFY2(true, "This test should XPASS");
}
+#ifndef Q_OS_WIN
+#include <signal.h>
+#include <setjmp.h>
+
+static jmp_buf state;
+static void abort_handler(int signal)
+{
+ longjmp(state, 1);
+}
+#endif
+
void tst_Silent::messages()
{
qWarning("This is a warning that should not appear in silent test output");
@@ -80,7 +91,15 @@ void tst_Silent::messages()
qCritical("This is a critical message that should not appear in silent test output");
qInfo("This is an info message that should not appear in silent test output");
QTestLog::info("This is an internal testlib info message that should not appear in silent test output", __FILE__, __LINE__);
- qFatal("This is a fatal error message that should still appear in silent test output");
+
+#ifndef Q_OS_WIN
+ // We're testing qFatal, but we don't want to actually std::abort() !
+ auto prior = signal(SIGABRT, abort_handler);
+ if (setjmp(state))
+ signal(SIGABRT, prior);
+ else
+#endif
+ qFatal("This is a fatal error message that should still appear in silent test output");
}
QTEST_MAIN(tst_Silent)
diff --git a/tests/auto/testlib/selftests/singleskip/singleskip.pro b/tests/auto/testlib/selftests/singleskip/singleskip.pro
index 9f63e62747..a32c22c943 100644
--- a/tests/auto/testlib/selftests/singleskip/singleskip.pro
+++ b/tests/auto/testlib/selftests/singleskip/singleskip.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = singleskip
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/skip/skip.pro b/tests/auto/testlib/selftests/skip/skip.pro
index 8780d295cf..19a01908af 100644
--- a/tests/auto/testlib/selftests/skip/skip.pro
+++ b/tests/auto/testlib/selftests/skip/skip.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = skip
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/skipcleanup/skipcleanup.pro b/tests/auto/testlib/selftests/skipcleanup/skipcleanup.pro
index f98cda7596..059132b5a6 100644
--- a/tests/auto/testlib/selftests/skipcleanup/skipcleanup.pro
+++ b/tests/auto/testlib/selftests/skipcleanup/skipcleanup.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = skipcleanup
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/skipinit/skipinit.pro b/tests/auto/testlib/selftests/skipinit/skipinit.pro
index 7defce9a52..6605226993 100644
--- a/tests/auto/testlib/selftests/skipinit/skipinit.pro
+++ b/tests/auto/testlib/selftests/skipinit/skipinit.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = skipinit
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/skipinitdata/skipinitdata.pro b/tests/auto/testlib/selftests/skipinitdata/skipinitdata.pro
index cd806c2a43..176955500b 100644
--- a/tests/auto/testlib/selftests/skipinitdata/skipinitdata.pro
+++ b/tests/auto/testlib/selftests/skipinitdata/skipinitdata.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = skipinitdata
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/sleep/sleep.pro b/tests/auto/testlib/selftests/sleep/sleep.pro
index affcba22ee..b109bf6253 100644
--- a/tests/auto/testlib/selftests/sleep/sleep.pro
+++ b/tests/auto/testlib/selftests/sleep/sleep.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = sleep
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/strcmp/strcmp.pro b/tests/auto/testlib/selftests/strcmp/strcmp.pro
index f5f6eecc88..35a4c5e858 100644
--- a/tests/auto/testlib/selftests/strcmp/strcmp.pro
+++ b/tests/auto/testlib/selftests/strcmp/strcmp.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = strcmp
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/subtest/subtest.pro b/tests/auto/testlib/selftests/subtest/subtest.pro
index 09dee1b1b9..b5c294aed6 100644
--- a/tests/auto/testlib/selftests/subtest/subtest.pro
+++ b/tests/auto/testlib/selftests/subtest/subtest.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = subtest
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/test/BLACKLIST b/tests/auto/testlib/selftests/test/BLACKLIST
deleted file mode 100644
index 2d4adf1feb..0000000000
--- a/tests/auto/testlib/selftests/test/BLACKLIST
+++ /dev/null
@@ -1,3 +0,0 @@
-#QTBUG-55155
-[runSubTest:maxwarnings all loggers]
-osx-10.11
diff --git a/tests/auto/testlib/selftests/test/test.pro b/tests/auto/testlib/selftests/test/test.pro
index ec1633ebff..fce8e48ca2 100644
--- a/tests/auto/testlib/selftests/test/test.pro
+++ b/tests/auto/testlib/selftests/test/test.pro
@@ -19,3 +19,4 @@ RESOURCES += expected_files
include(../selftests.pri)
!android:!winrt: for(file, SUBPROGRAMS): TEST_HELPER_INSTALLS += "../$${file}/$${file}"
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/testlib/testlib.pro b/tests/auto/testlib/selftests/testlib/testlib.pro
new file mode 100644
index 0000000000..8798f86b18
--- /dev/null
+++ b/tests/auto/testlib/selftests/testlib/testlib.pro
@@ -0,0 +1,9 @@
+SOURCES += tst_testlib.cpp
+QT = core testlib
+
+darwin: CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
+
+TARGET = testlib
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/testlib/tst_testlib.cpp b/tests/auto/testlib/selftests/testlib/tst_testlib.cpp
new file mode 100644
index 0000000000..38a71be732
--- /dev/null
+++ b/tests/auto/testlib/selftests/testlib/tst_testlib.cpp
@@ -0,0 +1,97 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtCore/QtMath>
+#include <QtCore/QtNumeric>
+
+/* Test QTest functions not covered by other parts of the selftest. Tests that
+ * involve crashing or exiting should be added as separate tests in their own
+ * right. Tests that form a coherent group on a related theme should also go in
+ * their own directory. Tests that fail in order to exercise QTest internals
+ * are fine.
+ */
+
+class tst_TestLib : public QObject
+{
+Q_OBJECT
+private slots:
+ void basics() const;
+ void delays() const;
+ void reals_data() const;
+ void reals() const;
+};
+
+void tst_TestLib::basics() const
+{
+ QVERIFY(QByteArray(QTest::currentAppName()).contains("testlib"));
+
+ QCOMPARE(QTest::testObject(), nullptr); // last, because it should fail
+}
+
+QT_BEGIN_NAMESPACE
+
+namespace QTest {
+ // Defined; not declared in the public header, but used by qtdeclarative.
+ int defaultKeyDelay();
+ int defaultMouseDelay();
+}
+
+QT_END_NAMESPACE
+
+void tst_TestLib::delays() const
+{
+ QVERIFY(QTest::defaultMouseDelay() >= 0);
+ QVERIFY(QTest::defaultKeyDelay() >= 0);
+}
+
+void tst_TestLib::reals_data() const
+{
+ QTest::addColumn<double>("actual");
+ QTest::addColumn<double>("expected");
+
+ QTest::newRow("zero") << 0.0 << 0.0;
+#define ADDROW(func) QTest::addRow("self-%s", #func) << func() << func()
+ ADDROW(qQNaN);
+ ADDROW(qInf);
+#undef ADDROW // Just used so as to exercise addRow()
+ QTest::newRow("infineg") << -qInf() << -qInf();
+ QTest::newRow("Sin(turn/4)") << qSin(9 * M_PI_2) << 1.0;
+ QTest::newRow("Cos(turn/2)") << qCos(15 * M_PI) << -1.0;
+}
+
+void tst_TestLib::reals() const
+{
+ QFETCH(double, actual);
+ QFETCH(double, expected);
+ QCOMPARE(actual, expected);
+}
+
+QTEST_APPLESS_MAIN(tst_TestLib)
+
+#include "tst_testlib.moc"
diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp
index c5f847562e..1326b96177 100644
--- a/tests/auto/testlib/selftests/tst_selftests.cpp
+++ b/tests/auto/testlib/selftests/tst_selftests.cpp
@@ -439,7 +439,6 @@ void tst_Selftests::runSubTest_data()
QTest::addColumn<bool>("crashes");
QStringList tests = QStringList()
-// << "alive" // timer dependent
#if !defined(Q_OS_WIN)
// On windows, assert does nothing in release mode and blocks execution
// with a popup window in debug mode.
@@ -468,10 +467,13 @@ void tst_Selftests::runSubTest_data()
#endif
<< "expectfail"
<< "failcleanup"
+#ifndef Q_OS_WIN // these assert, by design; so same problem as "assert"
+ << "faildatatype"
+ << "failfetchtype"
+#endif
<< "failinit"
<< "failinitdata"
-#if !defined(Q_OS_WIN)
- // Disable this test on Windows, as the run-time will popup dialogs with warnings
+#ifndef Q_OS_WIN // asserts, by design; so same problem as "assert"
<< "fetchbogus"
#endif
<< "findtestdata"
@@ -485,6 +487,7 @@ void tst_Selftests::runSubTest_data()
<< "printdatatags"
<< "printdatatagswithglobaltags"
<< "qexecstringlist"
+ << "signaldumper"
<< "silent"
<< "singleskip"
<< "skip"
@@ -494,6 +497,7 @@ void tst_Selftests::runSubTest_data()
<< "sleep"
<< "strcmp"
<< "subtest"
+ << "testlib"
<< "tuplediagnostics"
<< "verbose1"
<< "verbose2"
@@ -502,6 +506,7 @@ void tst_Selftests::runSubTest_data()
<< "verifyexceptionthrown"
#endif //!QT_NO_EXCEPTIONS
<< "warnings"
+ << "watchdog"
<< "xunit"
;
@@ -520,6 +525,7 @@ void tst_Selftests::runSubTest_data()
foreach (QString const& subtest, tests) {
QStringList arguments = loggerSet.arguments;
+ // Keep in sync with generateTestData()'s extraArgs in generate_expected_output.py:
if (subtest == "commandlinedata") {
arguments << QString("fiveTablePasses fiveTablePasses:fiveTablePasses_data1 -v2").split(' ');
}
@@ -547,6 +553,9 @@ void tst_Selftests::runSubTest_data()
else if (subtest == "printdatatagswithglobaltags") {
arguments << "-datatags";
}
+ else if (subtest == "signaldumper") {
+ arguments << "-vs";
+ }
else if (subtest == "silent") {
arguments << "-silent";
}
@@ -612,10 +621,12 @@ void tst_Selftests::runSubTest_data()
if (loggerSet.name.contains("teamcity") && subtest.startsWith("benchlib"))
continue; // Skip benchmark for TeamCity logger
+ // Keep in sync with generateTestData()'s crashers in generate_expected_output.py:
const bool crashes = subtest == QLatin1String("assert") || subtest == QLatin1String("exceptionthrow")
|| subtest == QLatin1String("fetchbogus") || subtest == QLatin1String("crashedterminate")
+ || subtest == QLatin1String("faildatatype") || subtest == QLatin1String("failfetchtype")
|| subtest == QLatin1String("crashes") || subtest == QLatin1String("silent")
- || subtest == QLatin1String("blacklisted");
+ || subtest == QLatin1String("blacklisted") || subtest == QLatin1String("watchdog");
QTest::newRow(qPrintable(QString("%1 %2").arg(subtest).arg(loggerSet.name)))
<< subtest
<< loggers
@@ -674,6 +685,9 @@ static inline QByteArray msgProcessError(const QString &binary, const QStringLis
void tst_Selftests::doRunSubTest(QString const& subdir, QStringList const& loggers, QStringList const& arguments, bool crashes)
{
+ if (EmulationDetector::isRunningArmOnX86() && (subdir == "crashes"))
+ QSKIP("Skipping \"crashes\" due to QTBUG-71915");
+
#if defined(__GNUC__) && defined(__i386) && defined(Q_OS_LINUX)
if (arguments.contains("-callgrind")) {
QProcess checkProcess;
@@ -687,9 +701,12 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QStringList const& logge
QProcess proc;
QProcessEnvironment environment = processEnvironment();
+ // Keep in sync with generateTestData()'s extraEnv in generate_expected_output.py:
if (crashes) {
environment.insert("QTEST_DISABLE_CORE_DUMP", "1");
environment.insert("QTEST_DISABLE_STACK_DUMP", "1");
+ if (subdir == QLatin1String("watchdog"))
+ environment.insert("QTEST_FUNCTION_TIMEOUT", "100");
}
proc.setProcessEnvironment(environment);
const QString path = subdir + QLatin1Char('/') + subdir;
@@ -732,6 +749,7 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QStringList const& logge
if (subdir != QLatin1String("exceptionthrow")
&& subdir != QLatin1String("cmptest") // QImage comparison requires QGuiApplication
&& subdir != QLatin1String("fetchbogus")
+ && subdir != QLatin1String("watchdog")
&& subdir != QLatin1String("xunit")
#ifdef Q_CC_MINGW
&& subdir != QLatin1String("blacklisted") // calls qFatal()
@@ -739,11 +757,13 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QStringList const& logge
#endif
#ifdef Q_OS_LINUX
// QEMU outputs to stderr about uncaught signals
- && (!EmulationDetector::isRunningArmOnX86() ||
- (subdir != QLatin1String("blacklisted")
- && subdir != QLatin1String("silent")
- && subdir != QLatin1String("assert")
- && subdir != QLatin1String("crashes")
+ && !(EmulationDetector::isRunningArmOnX86() &&
+ (subdir == QLatin1String("assert")
+ || subdir == QLatin1String("blacklisted")
+ || subdir == QLatin1String("crashes")
+ || subdir == QLatin1String("faildatatype")
+ || subdir == QLatin1String("failfetchtype")
+ || subdir == QLatin1String("silent")
)
)
#endif
@@ -779,15 +799,6 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QStringList const& logge
QString expectedFileName = expectedFileNameFromTest(subdir, logger);
QByteArrayList exp = expectedResult(expectedFileName);
if (!exp.isEmpty()) {
-#ifdef Q_CC_MINGW
- // MinGW formats double numbers differently (last verified with 7.1)
- if (n == 0 && subdir == QStringLiteral("float")) {
- for (int i = 0; i < exp.size(); ++i) {
- exp[i].replace("e-07", "e-007");
- exp[i].replace("e+07", "e+007");
- }
- }
-#endif
if (!compareOutput(logger, subdir, actualOutputs[n], res, exp, &errorMessage)) {
errorMessage.prepend(QLatin1Char('"') + logger + QLatin1String("\", ")
+ expectedFileName + QLatin1Char(' '));
@@ -893,16 +904,20 @@ bool tst_Selftests::compareLine(const QString &logger, const QString &subdir,
const QString &actualLine, const QString &expectedLine,
QString *errorMessage) const
{
- if (subdir == QLatin1String("assert") && actualLine.contains(QLatin1String("ASSERT: "))
- && expectedLine.contains(QLatin1String("ASSERT: ")) && actualLine != expectedLine) {
+ if (actualLine == expectedLine)
+ return true;
+
+ if ((subdir == QLatin1String("assert")
+ || subdir == QLatin1String("faildatatype") || subdir == QLatin1String("failfetchtype"))
+ && actualLine.contains(QLatin1String("ASSERT: "))
+ && expectedLine.contains(QLatin1String("ASSERT: "))) {
// Q_ASSERT uses __FILE__, the exact contents of which are
// undefined. If have we something that looks like a Q_ASSERT and we
// were expecting to see a Q_ASSERT, we'll skip the line.
return true;
}
- if (expectedLine.startsWith(QLatin1String("FAIL! : tst_Exception::throwException() Caught unhandled exce"))
- && actualLine != expectedLine) {
+ if (expectedLine.startsWith(QLatin1String("FAIL! : tst_Exception::throwException() Caught unhandled exce"))) {
// On some platforms we compile without RTTI, and as a result we never throw an exception
if (actualLine.simplified() != QLatin1String("tst_Exception::throwException()")) {
*errorMessage = QString::fromLatin1("'%1' != 'tst_Exception::throwException()'").arg(actualLine);
@@ -941,8 +956,28 @@ bool tst_Selftests::compareLine(const QString &logger, const QString &subdir,
if (actualLine.startsWith(QLatin1String("Totals:")) && expectedLine.startsWith(QLatin1String("Totals:")))
return true;
- if (actualLine == expectedLine)
+ const QLatin1String pointerPlaceholder("_POINTER_");
+ if (expectedLine.contains(pointerPlaceholder)
+ && (expectedLine.contains(QLatin1String("Signal: "))
+ || expectedLine.contains(QLatin1String("Slot: ")))) {
+ QString actual = actualLine;
+ // We don't care about the pointer of the object to whom the signal belongs, so we
+ // replace it with _POINTER_, e.g.:
+ // Signal: SignalSlotClass(7ffd72245410) signalWithoutParameters ()
+ // Signal: QThread(7ffd72245410) started ()
+ // After this instance pointer we may have further pointers and
+ // references (with an @ prefix) as parameters of the signal or
+ // slot being invoked.
+ // Signal: SignalSlotClass(_POINTER_) qStringRefSignal ((QString&)@55f5fbb8dd40)
+ actual.replace(QRegularExpression("\\b[a-f0-9]{8,}\\b"), pointerPlaceholder);
+ // Also change QEventDispatcher{Glib,Win32,etc.} to QEventDispatcherPlatform
+ actual.replace(QRegularExpression("\\b(QEventDispatcher)\\w+\\b"), QLatin1String("\\1Platform"));
+ if (actual != expectedLine) {
+ *errorMessage = msgMismatch(actual, expectedLine);
+ return false;
+ }
return true;
+ }
*errorMessage = msgMismatch(actualLine, expectedLine);
return false;
diff --git a/tests/auto/testlib/selftests/tuplediagnostics/tuplediagnostics.pro b/tests/auto/testlib/selftests/tuplediagnostics/tuplediagnostics.pro
index 7a29e0e5e1..f338170b81 100644
--- a/tests/auto/testlib/selftests/tuplediagnostics/tuplediagnostics.pro
+++ b/tests/auto/testlib/selftests/tuplediagnostics/tuplediagnostics.pro
@@ -4,3 +4,5 @@ QT = core testlib
CONFIG -= app_bundle debug_and_release_target
TARGET = tuplediagnostics
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/verbose1/verbose1.pro b/tests/auto/testlib/selftests/verbose1/verbose1.pro
index f00ae69d17..1f16d70d66 100644
--- a/tests/auto/testlib/selftests/verbose1/verbose1.pro
+++ b/tests/auto/testlib/selftests/verbose1/verbose1.pro
@@ -8,3 +8,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = verbose1
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/verbose2/verbose2.pro b/tests/auto/testlib/selftests/verbose2/verbose2.pro
index 796cdeb975..bf54904488 100644
--- a/tests/auto/testlib/selftests/verbose2/verbose2.pro
+++ b/tests/auto/testlib/selftests/verbose2/verbose2.pro
@@ -8,3 +8,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = verbose2
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/verifyexceptionthrown/verifyexceptionthrown.pro b/tests/auto/testlib/selftests/verifyexceptionthrown/verifyexceptionthrown.pro
index 51f108c9d7..198d35dc6c 100644
--- a/tests/auto/testlib/selftests/verifyexceptionthrown/verifyexceptionthrown.pro
+++ b/tests/auto/testlib/selftests/verifyexceptionthrown/verifyexceptionthrown.pro
@@ -6,3 +6,5 @@ CONFIG -= debug_and_release_target
CONFIG += exceptions
TARGET = verifyexceptionthrown
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/warnings/warnings.pro b/tests/auto/testlib/selftests/warnings/warnings.pro
index 0c6cddcefb..a0bd2c62ba 100644
--- a/tests/auto/testlib/selftests/warnings/warnings.pro
+++ b/tests/auto/testlib/selftests/warnings/warnings.pro
@@ -5,3 +5,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = warnings
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/alive/tst_alive.cpp b/tests/auto/testlib/selftests/watchdog/tst_watchdog.cpp
index eeb77b18c0..2f29609f71 100644
--- a/tests/auto/testlib/selftests/alive/tst_alive.cpp
+++ b/tests/auto/testlib/selftests/watchdog/tst_watchdog.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2018 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -26,59 +26,26 @@
**
****************************************************************************/
-
#include <QtTest/QtTest>
-#include <QWidget>
-
-#include "qtestalive.cpp"
-class tst_Alive: public QObject
+class tst_Watchdog : public QObject
{
Q_OBJECT
-
private slots:
- void alive();
- void addMouseDClick() const;
+ void delay() const;
};
-void tst_Alive::alive()
+void tst_Watchdog::delay() const
{
- QTestAlive a;
- a.start();
-
- sleep(5);
- QCoreApplication::processEvents();
- qDebug("CUT");
- sleep(5);
+ bool ok = false;
+ const int fiveMinutes = 5 * 60 * 1000;
+ // Use the same env.var as the watch-dog and add a little to it:
+ const int timeout = qEnvironmentVariableIntValue("QTEST_FUNCTION_TIMEOUT", &ok);
+ QTest::qSleep(5000 + (ok && timeout > 0 ? timeout : fiveMinutes));
+ // The watchdog timer should have interrupted us by now.
+ QFAIL("ERROR: this function should be interrupted.");
}
-void tst_Alive::addMouseDClick() const
-{
- class DClickListener : public QWidget
- {
- public:
- DClickListener() : isTested(false)
- {
- }
-
- bool isTested;
- protected:
- virtual void mouseDoubleClickEvent(QMouseEvent * event)
- {
- isTested = true;
- QCOMPARE(event->type(), QEvent::MouseButtonDblClick);
- }
- };
-
- DClickListener listener;
-
- QTestEventList list;
- list.addMouseDClick(Qt::LeftButton);
-
- list.simulate(&listener);
- /* Check that we have been called at all. */
- QVERIFY(listener.isTested);
-}
+QTEST_APPLESS_MAIN(tst_Watchdog)
-QTEST_MAIN(tst_Alive)
-#include "tst_alive.moc"
+#include "tst_watchdog.moc"
diff --git a/tests/auto/testlib/selftests/watchdog/watchdog.pro b/tests/auto/testlib/selftests/watchdog/watchdog.pro
new file mode 100644
index 0000000000..ddcc3f6ca2
--- /dev/null
+++ b/tests/auto/testlib/selftests/watchdog/watchdog.pro
@@ -0,0 +1,14 @@
+SOURCES += tst_watchdog.cpp
+QT = core testlib
+
+darwin: CONFIG -= app_bundle
+CONFIG -= debug_and_release_target
+
+TARGET = watchdog
+
+# The test deliberately times out; so tell it to do so quickly
+checkenv.name = QTEST_FUNCTION_TIMEOUT
+checkenv.value = 100
+QT_TOOL_ENV += checkenv
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/selftests/xunit/xunit.pro b/tests/auto/testlib/selftests/xunit/xunit.pro
index b8c606e828..becb46ce8b 100644
--- a/tests/auto/testlib/selftests/xunit/xunit.pro
+++ b/tests/auto/testlib/selftests/xunit/xunit.pro
@@ -6,3 +6,5 @@ mac:CONFIG -= app_bundle
CONFIG -= debug_and_release_target
TARGET = xunit
+
+include($$QT_SOURCE_TREE/src/testlib/selfcover.pri)
diff --git a/tests/auto/testlib/testlib.pro b/tests/auto/testlib/testlib.pro
index 25ccc591d6..587c76a189 100644
--- a/tests/auto/testlib/testlib.pro
+++ b/tests/auto/testlib/testlib.pro
@@ -1,6 +1,7 @@
-TEMPLATE=subdirs
-SUBDIRS=\
+TEMPLATE = subdirs
+SUBDIRS = \
+ outformat \
qsignalspy \
selftests \
-qtHaveModule(widgets):SUBDIRS += qabstractitemmodeltester
+qtHaveModule(widgets): SUBDIRS += qabstractitemmodeltester
diff --git a/tests/auto/testserver.pri b/tests/auto/testserver.pri
index 7dd32db0af..455f88fa5d 100644
--- a/tests/auto/testserver.pri
+++ b/tests/auto/testserver.pri
@@ -51,20 +51,49 @@
# 2. testserver_clean - Clean up server containers/images and tidy away related
# files.
-TESTSERVER_VERSION = $$system(docker-compose --version)
+# The docker test server should only be integrated in the leaf Makefile.
+# If debug_and_release option is in use, skip the meta-Makefile except for
+# Makefile.Debug and Makefile.Release.
+debug_and_release:!build_pass: return()
-equals(QMAKE_HOST.os, Windows)|isEmpty(TESTSERVER_VERSION) {
+DOCKER_ENABLED = 1
+
+equals(QMAKE_HOST.os, Darwin) | equals(QMAKE_HOST.os, Windows) {
+ DOCKER_ENABLED = 0
+ message("Not using docker network test server on macOS and Windows, see QTQAINFRA-2717 and QTQAINFRA-2750")
+}
+
+TESTSERVER_VERSION = ""
+
+equals(DOCKER_ENABLED, 1) {
+ TESTSERVER_VERSION = $$system(docker-compose --version)
+}
+
+isEmpty(TESTSERVER_VERSION) {
# Make check with server "qt-test-server.qt-test-net" as a fallback
- message("testserver: qt-test-server.qt-test-net")
} else {
- # Make check with test servers
+ # Make check with docker test servers
+ equals(QMAKE_HOST.os, Linux) {
+ # For the platform supporting docker bridge network, each container is
+ # assigned a unique hostname and connected to the same network domain
+ # to communicate with the others.
+ DEFINES += QT_TEST_SERVER_NAME
+ DNSDOMAIN = test-net.qt.local
+ } else {
+ # For the others, the containers are deployed into a virtual machine
+ # using the host network. All the containers share the same hostname of
+ # the virtual machine, and they are connected to the same network domain.
+ # NOTE: In Windows, Apple Bonjour only works within a single local domain.
+ DNSDOMAIN = local
+ }
+
equals(QMAKE_HOST.os, Darwin) {
# There is no docker bridge on macOS. It is impossible to ping a container.
# Docker docs recommends using port mapping to connect to a container;
# but it causes a port conflict if the user is running a service that
# binds the same port on the host. An alternative solution is to deploy
# the docker environment into VirtualBox using docker-machine.
- TESTSERVER_COMPOSE_FILE = \
+ isEmpty(TESTSERVER_COMPOSE_FILE): TESTSERVER_COMPOSE_FILE = \
$$dirname(_QMAKE_CONF_)/tests/testserver/docker-compose-for-macOS.yml
# The connection configuration for the target machine
@@ -72,44 +101,94 @@ equals(QMAKE_HOST.os, Windows)|isEmpty(TESTSERVER_VERSION) {
# The environment variables passed to the docker-compose file
TEST_ENV = 'MACHINE_IP=$(shell docker-machine ip qt-test-server)'
+ TEST_ENV += 'TEST_DOMAIN=$$DNSDOMAIN'
+ TEST_CMD = env
+ } else:equals(QMAKE_HOST.os, Windows) {
+ # There is no docker bridge on Windows. It is impossible to ping a container.
+ # Use docker-machine to deploy the docker environment into VirtualBox.
+ isEmpty(TESTSERVER_COMPOSE_FILE): TESTSERVER_COMPOSE_FILE = \
+ $$dirname(_QMAKE_CONF_)/tests/testserver/docker-compose-for-windows.yml
+
+ # The connection configuration for the target machine
+ MACHINE_CONFIG = (docker-machine config qt-test-server)
+
+ # The environment variables passed to the docker-compose file
+ TEST_ENV = '\$\$env:MACHINE_IP = docker-machine ip qt-test-server;'
+ TEST_ENV += '\$\$env:TEST_DOMAIN = $$shell_quote(\"$$DNSDOMAIN\");'
+
+ # Docker-compose CLI environment variables:
+ # Enable path conversion from Windows-style to Unix-style in volume definitions.
+ TEST_ENV += '\$\$env:COMPOSE_CONVERT_WINDOWS_PATHS = $$shell_quote(\"true\");'
+
+ TEST_CMD = 'PowerShell -noprofile'
+ CONFIG += PowerShell
} else {
- TESTSERVER_COMPOSE_FILE = $$dirname(_QMAKE_CONF_)/tests/testserver/docker-compose.yml
- DEFINES += QT_TEST_SERVER_NAME
+ isEmpty(TESTSERVER_COMPOSE_FILE): TESTSERVER_COMPOSE_FILE = \
+ $$dirname(_QMAKE_CONF_)/tests/testserver/docker-compose.yml
+ # The environment variables passed to the docker-compose file
+ TEST_ENV = 'TEST_DOMAIN=$$DNSDOMAIN'
+ TEST_CMD = env
}
+ !exists($$TESTSERVER_COMPOSE_FILE): error("Invalid TESTSERVER_COMPOSE_FILE specified")
+
+
+ # The domain name is relevant to https keycert (qnetworkreply/crts/qt-test-net-cacert.pem).
+ DEFINES += QT_TEST_SERVER QT_TEST_SERVER_DOMAIN=$$shell_quote(\"$${DNSDOMAIN}\")
# Ensure that the docker-compose file is provided. It is a configuration
# file which is mandatory for all docker-compose commands. You can get more
# detail from the description of TESTSERVER_COMPOSE_FILE above. There is
# also an example showing how to configure it manually.
FILE_PRETEST_MSG = "Project variable 'TESTSERVER_COMPOSE_FILE' is not set"
- testserver_pretest.commands = $(info "testserver:" $$TESTSERVER_VERSION)
- testserver_pretest.commands += $(if $$TESTSERVER_COMPOSE_FILE,,$(error $$FILE_PRETEST_MSG))
+ PowerShell {
+ testserver_pretest.commands = echo $$TESTSERVER_VERSION &&
+ testserver_pretest.commands += \
+ $$TEST_CMD if ([String]::IsNullOrEmpty($$shell_quote(\"$$TESTSERVER_COMPOSE_FILE\"))) \
+ {Write-Error $$shell_quote(\"$$FILE_PRETEST_MSG\")} &&
+ } else {
+ testserver_pretest.commands = $(info "testserver:" $$TESTSERVER_VERSION)
+ testserver_pretest.commands += $(if $$TESTSERVER_COMPOSE_FILE,,$(error $$FILE_PRETEST_MSG))
+ }
# Make sure docker-machine is both created and running. The docker_machine
# script is used to deploy the docker environment into VirtualBox.
# Example: qt5/coin/provisioning/common/shared/testserver/docker_machine.sh
!isEmpty(MACHINE_CONFIG) {
- MACHINE_LIST_CMD = docker-machine ls -q --filter "Name=^qt-test-server$"
+ MACHINE_LIST_CMD = docker-machine ls -q --filter "Name=^qt-test-server\$\$"
MACHINE_LIST_MSG = "Docker machine qt-test-server not found"
- testserver_pretest.commands += \
- $(if $(shell $$MACHINE_LIST_CMD),,$(error $$MACHINE_LIST_MSG))
+ PowerShell {
+ testserver_pretest.commands += $$TEST_CMD if (!($$MACHINE_LIST_CMD)) \
+ {Write-Error $$shell_quote(\"$$MACHINE_LIST_MSG\")} &&
+ } else {
+ testserver_pretest.commands += \
+ $(if $(shell $$MACHINE_LIST_CMD),,$(error $$MACHINE_LIST_MSG))
+ }
MACHINE_STATE_CMD = \
- docker-machine ls -q --filter "State=Running" --filter "Name=^qt-test-server$"
+ docker-machine ls -q --filter "State=Running" --filter "Name=^qt-test-server\$\$"
MACHINE_START_CMD = docker-machine start qt-test-server
- testserver_pretest.commands += \
- $(if $(shell $$MACHINE_STATE_CMD),,$(shell $$MACHINE_START_CMD > /dev/null))
+ MACHINE_RECERT = docker-machine regenerate-certs -f qt-test-server
+ PowerShell {
+ testserver_pretest.commands += \
+ $$TEST_CMD if (!($$MACHINE_STATE_CMD)) {$$MACHINE_START_CMD; $$MACHINE_RECERT} &&
+ } else {
+ testserver_pretest.commands += \
+ $(if $(shell $$MACHINE_STATE_CMD),,\
+ $(shell $$MACHINE_START_CMD > /dev/null && $$MACHINE_RECERT > /dev/null))
+ }
}
# Before starting the test servers, it requires the user to run the setup
# script (coin/provisioning/.../testserver/docker_testserver.sh) in advance.
IMAGE_PRETEST_CMD = docker $$MACHINE_CONFIG images -aq "qt-test-server-*"
IMAGE_PRETEST_MSG = "Docker image qt-test-server-* not found"
- testserver_pretest.commands += $(if $(shell $$IMAGE_PRETEST_CMD),,$(error $$IMAGE_PRETEST_MSG))
-
- # The domain name is relevant to https keycert (qnetworkreply/crts/qt-test-net-cacert.pem).
- DNSDOMAIN = test-net.qt.local
- DEFINES += QT_TEST_SERVER QT_TEST_SERVER_DOMAIN=$$shell_quote(\"$${DNSDOMAIN}\")
+ PowerShell {
+ testserver_pretest.commands += $$TEST_CMD if (!($$IMAGE_PRETEST_CMD)) \
+ {Write-Error $$shell_quote(\"$$IMAGE_PRETEST_MSG\")}
+ } else {
+ testserver_pretest.commands += \
+ $(if $(shell $$IMAGE_PRETEST_CMD),,$(error $$IMAGE_PRETEST_MSG))
+ }
# Rename the check target of testcase feature
check.target = check_network
@@ -119,14 +198,15 @@ equals(QMAKE_HOST.os, Windows)|isEmpty(TESTSERVER_VERSION) {
testserver_test.depends = testserver_pretest
# Bring up test servers and make sure the services are ready.
- !isEmpty(TEST_ENV): testserver_test.commands = env $$TEST_ENV
+ !isEmpty(TEST_CMD): testserver_test.commands = $$TEST_CMD $$TEST_ENV
testserver_test.commands += docker-compose $$MACHINE_CONFIG -f $$TESTSERVER_COMPOSE_FILE up \
--detach --force-recreate --timeout 1 $${QT_TEST_SERVER_LIST} &&
# Check test cases with docker-based test servers.
- testserver_test.commands += $(MAKE) check_network;
+ testserver_test.commands += $(MAKE) -f $(MAKEFILE) check_network &&
# Stop and remove test servers after testing.
+ !isEmpty(TEST_CMD): testserver_test.commands += $$TEST_CMD $$TEST_ENV
testserver_test.commands += docker-compose $$MACHINE_CONFIG -f $$TESTSERVER_COMPOSE_FILE down \
--timeout 1
diff --git a/tests/auto/tools/moc/cxx-attributes.h b/tests/auto/tools/moc/cxx-attributes.h
new file mode 100644
index 0000000000..eff6a3ec41
--- /dev/null
+++ b/tests/auto/tools/moc/cxx-attributes.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef CXXATTRIBUTE_H
+#define CXXATTRIBUTE_H
+
+#include <QtCore/QObject>
+
+class CppAttribute : public QObject
+{
+ Q_OBJECT
+signals:
+ [[deprecated]] void deprecatedSignal();
+
+public slots:
+ [[deprecated]] void deprecatedSlot() {}
+ [[deprecated]] [[tst_moc::maybe_unused]] int deprecatedSlot2() { return 42; }
+ [[deprecated("reason")]] void deprecatedReason() {}
+ [[deprecated("reason[")]] void deprecatedReasonWithLBRACK() {}
+ [[deprecated("reason[[")]] void deprecatedReasonWith2LBRACK() {}
+ [[deprecated("reason]")]] void deprecatedReasonWithRBRACK() {}
+ [[deprecated("reason]]")]] void deprecatedReasonWith2RBRACK() {}
+ void slotWithArguments([[tst_moc::maybe_unused]] int) {}
+#if !defined(_MSC_VER) || _MSC_VER >= 1912
+ // On MSVC it causes:
+ // moc_cxx-attributes.cpp(133): fatal error C1001: An internal error has occurred in the compiler.
+ Q_INVOKABLE [[tst_moc::noreturn]] void noreturnSlot() { throw "unused"; }
+ [[tst_moc::noreturn]] Q_SCRIPTABLE void noreturnSlot2() { throw "unused"; }
+ [[deprecated]] int returnInt() { return 0; }
+ Q_SLOT [[tst_moc::noreturn]] [[deprecated]] void noreturnDeprecatedSlot() { throw "unused"; }
+ Q_INVOKABLE void noreturnSlot3() [[tst_moc::noreturn]] { throw "unused"; }
+#endif
+};
+
+#ifdef Q_MOC_RUN
+# define TEST_COMPILER_DEPRECATION [[deprecated]]
+# define TEST_COMPILER_DEPRECATION_X(x) [[deprecated(x)]]
+#else
+# define TEST_COMPILER_DEPRECATION Q_DECL_ENUMERATOR_DEPRECATED
+# define TEST_COMPILER_DEPRECATION_X(x) Q_DECL_ENUMERATOR_DEPRECATED_X(x)
+#endif
+
+namespace TestQNamespaceDeprecated {
+ Q_NAMESPACE
+ enum class TestEnum1 {
+ Key1 = 11,
+ Key2 TEST_COMPILER_DEPRECATION,
+ Key3 TEST_COMPILER_DEPRECATION_X("reason"),
+ Key4 TEST_COMPILER_DEPRECATION_X("reason["),
+ Key5 TEST_COMPILER_DEPRECATION_X("reason[["),
+ Key6 TEST_COMPILER_DEPRECATION_X("reason]"),
+ Key7 TEST_COMPILER_DEPRECATION_X("reason]]"),
+ };
+ Q_ENUM_NS(TestEnum1)
+
+ // try to dizzy moc by adding a struct in between
+ struct TestGadget {
+ Q_GADGET
+ public:
+ enum class TestGEnum1 {
+ Key1 = 13,
+ Key2 TEST_COMPILER_DEPRECATION,
+ Key3 TEST_COMPILER_DEPRECATION_X("reason")
+ };
+ Q_ENUM(TestGEnum1)
+ };
+
+ enum class TestFlag1 {
+ None = 0,
+ Flag1 = 1,
+ Flag2 TEST_COMPILER_DEPRECATION = 2,
+ Flag3 TEST_COMPILER_DEPRECATION_X("reason") = 3,
+ Any = Flag1 | Flag2 | Flag3
+ };
+ Q_FLAG_NS(TestFlag1)
+}
+
+#endif // CXXATTRIBUTE_H
diff --git a/tests/auto/tools/moc/cxx11-enums.h b/tests/auto/tools/moc/cxx11-enums.h
index 93ab16c157..d5bd228f12 100644
--- a/tests/auto/tools/moc/cxx11-enums.h
+++ b/tests/auto/tools/moc/cxx11-enums.h
@@ -30,7 +30,6 @@
#define CXX11_ENUMS_H
#include <QtCore/QObject>
-#if defined(Q_COMPILER_CLASS_ENUM) || defined(Q_MOC_RUN)
class CXX11Enums
{
Q_GADGET
@@ -40,13 +39,22 @@ public:
enum class TypedEnumClass : char { C0, C1, C2, C3 };
enum NormalEnum { D2 = 2, D3, D0 =0 , D1 };
enum class ClassFlag { F0 = 1, F1 = 2, F2 = 4, F3 = 8};
+
+ enum struct EnumStruct { G0, G1, G2, G3 };
+ enum struct TypedEnumStruct : char { H0, H1, H2, H3 };
+ enum struct StructFlag { I0 = 1, I1 = 2, I2 = 4, I3 = 8};
+
Q_DECLARE_FLAGS(ClassFlags, ClassFlag)
+ Q_DECLARE_FLAGS(StructFlags, StructFlag)
Q_ENUM(EnumClass)
Q_ENUM(TypedEnum)
Q_ENUM(TypedEnumClass)
Q_ENUM(NormalEnum)
+ Q_ENUM(EnumStruct)
+ Q_ENUM(TypedEnumStruct)
Q_FLAG(ClassFlags)
+ Q_FLAG(StructFlags)
};
// Also test the Q_ENUMS macro
@@ -64,21 +72,4 @@ public:
Q_FLAGS(ClassFlags)
};
-#else
-//workaround to get the moc compiled code to compile
-class CXX11Enums
-{
- Q_GADGET
-public:
- struct EnumClass { enum { A0, A1, A2, A3 }; };
- struct TypedEnumClass { enum { C0, C1, C2, C3 }; };
- enum NormalEnum { D2 = 2, D3, D0 =0 , D1 };
- enum TypedEnum { B0, B1 , B2, B3 };
-};
-
-class CXX11Enums2 : public CXX11Enums
-{
- Q_GADGET
-};
-#endif
#endif // CXX11_ENUMS_H
diff --git a/tests/auto/tools/moc/moc.pro b/tests/auto/tools/moc/moc.pro
index 3cbc9ebb5e..ad8c093add 100644
--- a/tests/auto/tools/moc/moc.pro
+++ b/tests/auto/tools/moc/moc.pro
@@ -29,7 +29,8 @@ HEADERS += using-namespaces.h no-keywords.h task87883.h c-comments.h backslash-n
non-gadget-parent-class.h grand-parent-gadget-class.h \
related-metaobjects-in-gadget.h \
related-metaobjects-name-conflict.h \
- namespace.h cxx17-namespaces.h
+ namespace.h cxx17-namespaces.h \
+ cxx-attributes.h
if(*-g++*|*-icc*|*-clang*|*-llvm):!win32-*: HEADERS += os9-newlines.h win-newlines.h
diff --git a/tests/auto/tools/moc/parse-defines.h b/tests/auto/tools/moc/parse-defines.h
index 7b0fa29d7c..bd22b0b9af 100644
--- a/tests/auto/tools/moc/parse-defines.h
+++ b/tests/auto/tools/moc/parse-defines.h
@@ -51,7 +51,6 @@
#define PD_CLASSINFO Q_CLASSINFO
-#if defined(Q_COMPILER_VARIADIC_MACROS) || defined (Q_MOC_RUN)
#define PD_VARARG(x, ...) x(__VA_ARGS__)
#if defined(Q_CC_GNU) || defined(Q_MOC_RUN)
@@ -61,7 +60,6 @@
#define PD_VARARGEXT(x, ...) x(__VA_ARGS__)
#endif
-#endif
#define PD_ADD_SUFFIX(x) PD_DEFINE1(x,_SUFFIX)
#define PD_DEFINE_ITSELF PD_ADD_SUFFIX(PD_DEFINE_ITSELF)
@@ -100,7 +98,6 @@ public slots:
PD_TEST_IDENTIFIER_ARG(void, combined6()) {}
-#if defined(Q_COMPILER_VARIADIC_MACROS) || defined (Q_MOC_RUN)
PD_VARARG(void vararg1) {}
PD_VARARG(void vararg2, int) {}
PD_VARARG(void vararg3, int, int) {}
@@ -108,14 +105,6 @@ public slots:
PD_VARARGEXT(void vararg4) {}
PD_VARARGEXT(void vararg5, int) {}
PD_VARARGEXT(void vararg6, int, int) {}
-#else
- void vararg1() {}
- void vararg2(int) {}
- void vararg3(int,int) {}
- void vararg4() {}
- void vararg5(int) {}
- void vararg6(int,int) {}
-#endif
#define OUTERFUNCTION(x) x
#define INNERFUNCTION(x) OUTERFUNCTION(x)
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index f1888aebab..f12df578f4 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -71,6 +71,7 @@
#include "grand-parent-gadget-class.h"
#include "namespace.h"
#include "cxx17-namespaces.h"
+#include "cxx-attributes.h"
#ifdef Q_MOC_RUN
// check that moc can parse these constructs, they are being used in Windows winsock2.h header
@@ -703,6 +704,7 @@ private slots:
void optionsFileError();
void testQNamespace();
void cxx17Namespaces();
+ void cxxAttributes();
signals:
void sigWithUnsignedArg(unsigned foo);
@@ -2267,6 +2269,9 @@ void tst_Moc::cxx11Enums_data()
QTest::newRow("NormalEnum 2") << meta2 << QByteArray("NormalEnum") << QByteArray("NormalEnum") << 'D' << false;
QTest::newRow("ClassFlags") << meta1 << QByteArray("ClassFlags") << QByteArray("ClassFlag") << 'F' << true;
QTest::newRow("ClassFlags 2") << meta2 << QByteArray("ClassFlags") << QByteArray("ClassFlag") << 'F' << true;
+ QTest::newRow("EnumStruct") << meta1 << QByteArray("EnumStruct") << QByteArray("EnumStruct") << 'G' << true;
+ QTest::newRow("TypedEnumStruct") << meta1 << QByteArray("TypedEnumStruct") << QByteArray("TypedEnumStruct") << 'H' << true;
+ QTest::newRow("StructFlags") << meta1 << QByteArray("StructFlags") << QByteArray("StructFlag") << 'I' << true;
}
void tst_Moc::cxx11Enums()
@@ -3844,6 +3849,14 @@ static void checkEnum(const QMetaEnum &enumerator, const QByteArray &name, const
}
}
+class EnumFromNamespaceClass : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(FooNamespace::Enum1 prop READ prop CONSTANT)
+public:
+ FooNamespace::Enum1 prop() { return FooNamespace::Enum1::Key2; }
+};
+
void tst_Moc::testQNamespace()
{
QCOMPARE(TestQNamespace::staticMetaObject.enumeratorCount(), 4);
@@ -3871,6 +3884,11 @@ void tst_Moc::testQNamespace()
QCOMPARE(FooNamespace::staticMetaObject.enumeratorCount(), 1);
QCOMPARE(FooNamespace::FooNestedNamespace::staticMetaObject.enumeratorCount(), 2);
QCOMPARE(FooNamespace::FooNestedNamespace::FooMoreNestedNamespace::staticMetaObject.enumeratorCount(), 1);
+
+ EnumFromNamespaceClass obj;
+ const QVariant prop = obj.property("prop");
+ QCOMPARE(prop.type(), QMetaType::Int);
+ QCOMPARE(prop.toInt(), int(FooNamespace::Enum1::Key2));
}
void tst_Moc::cxx17Namespaces()
@@ -3892,6 +3910,41 @@ void tst_Moc::cxx17Namespaces()
QCOMPARE(QMetaEnum::fromType<CXX17Namespace::A::B::C::D::ClassInNamespace::GadEn>().value(0), 3);
}
+void tst_Moc::cxxAttributes()
+{
+ auto so = CppAttribute::staticMetaObject;
+ QCOMPARE(so.className(), "CppAttribute");
+ QCOMPARE(so.enumeratorCount(), 0);
+ QVERIFY(so.indexOfSignal("deprecatedSignal") != 1);
+ for (auto a: {"deprecatedSlot", "deprecatedSlot2", "deprecatedReason", "deprecatedReasonWithLBRACK",
+ "deprecatedReasonWith2LBRACK", "deprecatedReasonWithRBRACK", "deprecatedReasonWith2RBRACK",
+ "slotWithArguments"
+#if !defined(_MSC_VER) || _MSC_VER >= 1912
+ , "noreturnSlot", "noreturnSlot2", "returnInt", "noreturnDeprecatedSlot",
+ "noreturnSlot3"
+#endif
+ }) {
+ QVERIFY(so.indexOfSlot(a) != 1);
+ }
+
+ QCOMPARE(TestQNamespaceDeprecated::staticMetaObject.enumeratorCount(), 2);
+ checkEnum(TestQNamespaceDeprecated::staticMetaObject.enumerator(0), "TestEnum1",
+ {{"Key1", 11}, {"Key2", 12}, {"Key3", 13}, {"Key4", 14}, {"Key5", 15}, {"Key6", 16},
+ {"Key7", 17}});
+ checkEnum(TestQNamespaceDeprecated::staticMetaObject.enumerator(1), "TestFlag1",
+ {{"None", 0}, {"Flag1", 1}, {"Flag2", 2}, {"Flag3", 3}, {"Any", 1 | 2 | 3}});
+
+ QCOMPARE(TestQNamespaceDeprecated::TestGadget::staticMetaObject.enumeratorCount(), 1);
+ checkEnum(TestQNamespaceDeprecated::TestGadget::staticMetaObject.enumerator(0), "TestGEnum1",
+ {{"Key1", 13}, {"Key2", 14}, {"Key3", 15}});
+
+ QMetaEnum meta = QMetaEnum::fromType<TestQNamespaceDeprecated::TestEnum1>();
+ QVERIFY(meta.isValid());
+ QCOMPARE(meta.name(), "TestEnum1");
+ QCOMPARE(meta.enclosingMetaObject(), &TestQNamespaceDeprecated::staticMetaObject);
+ QCOMPARE(meta.keyCount(), 7);
+}
+
QTEST_MAIN(tst_Moc)
// the generated code must compile with QT_NO_KEYWORDS
diff --git a/tests/auto/tools/qmake/testcompiler.cpp b/tests/auto/tools/qmake/testcompiler.cpp
index da76b3f2ca..0a7ba3b40b 100644
--- a/tests/auto/tools/qmake/testcompiler.cpp
+++ b/tests/auto/tools/qmake/testcompiler.cpp
@@ -31,7 +31,7 @@
#include <QProcess>
#include <QDir>
-static QString targetName( BuildType buildMode, const QString& target, const QString& version )
+QString TestCompiler::targetName(BuildType buildMode, const QString& target, const QString& version)
{
Q_UNUSED(version);
QString targetName = target;
@@ -67,7 +67,9 @@ static QString targetName( BuildType buildMode, const QString& target, const QSt
break;
case Dll: // dll
targetName.prepend("lib");
- targetName.append("." + version + ".dylib");
+ if (!version.isEmpty())
+ targetName.append('.' + version);
+ targetName.append(".dylib");
break;
case Lib: // lib
targetName.prepend("lib");
@@ -255,7 +257,8 @@ bool TestCompiler::qmakeProject( const QString &workDir, const QString &proName
return runCommand(qmakeCmd_, QStringList() << "-project" << "-o" << projectFile << "DESTDIR=./");
}
-bool TestCompiler::qmake( const QString &workDir, const QString &proName, const QString &buildDir )
+bool TestCompiler::qmake(const QString &workDir, const QString &proName, const QString &buildDir,
+ const QStringList &additionalArguments)
{
QDir D;
D.setCurrent( workDir );
@@ -272,7 +275,8 @@ bool TestCompiler::qmake( const QString &workDir, const QString &proName, const
makeFile += "Makefile";
// Now start qmake and generate the makefile
- return runCommand(qmakeCmd_, QStringList(qmakeArgs_) << projectFile << "-o" << makeFile);
+ return runCommand(qmakeCmd_, QStringList(qmakeArgs_) << projectFile << "-o" << makeFile
+ << additionalArguments);
}
bool TestCompiler::make( const QString &workPath, const QString &target, bool expectFail )
diff --git a/tests/auto/tools/qmake/testcompiler.h b/tests/auto/tools/qmake/testcompiler.h
index a46c9b6b6a..50232669c0 100644
--- a/tests/auto/tools/qmake/testcompiler.h
+++ b/tests/auto/tools/qmake/testcompiler.h
@@ -49,6 +49,8 @@ public:
void resetEnvironment();
void addToEnvironment( QString varAssignment );
+ static QString targetName(BuildType buildMode, const QString& target, const QString& version);
+
// executes a make clean in the specified workPath
bool makeClean( const QString &workPath );
// executes a make dist clean in the specified workPath
@@ -56,11 +58,13 @@ public:
// executes a qmake -project on the specified workDir
bool qmakeProject( const QString &workDir, const QString &proName );
// executes a qmake on proName in the specified workDir, output goes to buildDir or workDir if it's null
- bool qmake( const QString &workDir, const QString &proName, const QString &buildDir = QString() );
+ bool qmake(const QString &workDir, const QString &proName, const QString &buildDir = QString(),
+ const QStringList &additionalArguments = QStringList());
// executes a make in the specified workPath, with an optional target (eg. install)
bool make( const QString &workPath, const QString &target = QString(), bool expectFail = false );
// checks if the executable exists in destDir
- bool exists( const QString &destDir, const QString &exeName, BuildType buildType, const QString &version );
+ bool exists(const QString &destDir, const QString &exeName, BuildType buildType,
+ const QString &version = QString());
// removes the makefile
bool removeMakefile( const QString &workPath );
// removes the project file specified by 'project' on the 'workPath'
diff --git a/tests/auto/tools/qmake/testdata/simple_app/simple_app.pro b/tests/auto/tools/qmake/testdata/simple_app/simple_app.pro
index 0e78a91f46..f089ac14fc 100644
--- a/tests/auto/tools/qmake/testdata/simple_app/simple_app.pro
+++ b/tests/auto/tools/qmake/testdata/simple_app/simple_app.pro
@@ -5,3 +5,8 @@ SOURCES = test_file.cpp \
RESOURCES = test.qrc
TARGET = "simple app"
DESTDIR = "dest dir"
+
+target.path = $$OUT_PWD/dist
+INSTALLS += target
+
+!build_pass:msvc:CONFIG(debug, debug|release):message("check for pdb, please")
diff --git a/tests/auto/tools/qmake/testdata/subdirs/simple_dll/simple_dll.pro b/tests/auto/tools/qmake/testdata/subdirs/simple_dll/simple_dll.pro
index 4e362bb918..d13f49bb89 100644
--- a/tests/auto/tools/qmake/testdata/subdirs/simple_dll/simple_dll.pro
+++ b/tests/auto/tools/qmake/testdata/subdirs/simple_dll/simple_dll.pro
@@ -6,7 +6,6 @@ DEFINES += SIMPLEDLL_MAKEDLL
HEADERS = simple.h
SOURCES = simple.cpp
-VERSION = 1.0.0
INCLUDEPATH += . tmp
MOC_DIR = tmp
OBJECTS_DIR = tmp
diff --git a/tests/auto/tools/qmake/tst_qmake.cpp b/tests/auto/tools/qmake/tst_qmake.cpp
index 10aabcf196..cacee30c86 100644
--- a/tests/auto/tools/qmake/tst_qmake.cpp
+++ b/tests/auto/tools/qmake/tst_qmake.cpp
@@ -30,9 +30,11 @@
#include "testcompiler.h"
+#include <QDir>
+#include <QDirIterator>
#include <QObject>
#include <QStandardPaths>
-#include <QDir>
+#include <QTemporaryDir>
#if defined(DEBUG_BUILD)
# define DIR_INFIX "debug/"
@@ -46,12 +48,17 @@ class tst_qmake : public QObject
{
Q_OBJECT
+public:
+ tst_qmake();
+
private slots:
void initTestCase();
+ void cleanupTestCase();
void cleanup();
void simple_app();
void simple_app_shadowbuild();
void simple_app_shadowbuild2();
+ void simple_app_versioned();
void simple_lib();
void simple_dll();
void subdirs();
@@ -78,11 +85,41 @@ private slots:
private:
TestCompiler test_compiler;
+ QTemporaryDir tempWorkDir;
QString base_path;
+ const QString origCurrentDirPath;
};
+tst_qmake::tst_qmake()
+ : tempWorkDir(QDir::tempPath() + "/tst_qmake"),
+ origCurrentDirPath(QDir::currentPath())
+{
+}
+
+static void copyDir(const QString &sourceDirPath, const QString &targetDirPath)
+{
+ QDir currentDir;
+ QDirIterator dit(sourceDirPath, QDir::Dirs | QDir::NoDotAndDotDot | QDir::Hidden);
+ while (dit.hasNext()) {
+ dit.next();
+ const QString targetPath = targetDirPath + QLatin1Char('/') + dit.fileName();
+ currentDir.mkpath(targetPath);
+ copyDir(dit.filePath(), targetPath);
+ }
+
+ QDirIterator fit(sourceDirPath, QDir::Files | QDir::Hidden);
+ while (fit.hasNext()) {
+ fit.next();
+ const QString targetPath = targetDirPath + QLatin1Char('/') + fit.fileName();
+ QFile::remove(targetPath); // allowed to fail
+ QFile src(fit.filePath());
+ QVERIFY2(src.copy(targetPath), qPrintable(src.errorString()));
+ }
+}
+
void tst_qmake::initTestCase()
{
+ QVERIFY2(tempWorkDir.isValid(), qPrintable(tempWorkDir.errorString()));
QString binpath = QLibraryInfo::location(QLibraryInfo::BinariesPath);
QString cmd = QString("%1/qmake").arg(binpath);
#ifdef Q_CC_MSVC
@@ -99,13 +136,31 @@ void tst_qmake::initTestCase()
#else
test_compiler.setBaseCommands( "make", cmd );
#endif
- //Detect the location of the testdata
- QString subProgram = QLatin1String("testdata/simple_app/main.cpp");
- base_path = QFINDTESTDATA(subProgram);
- if (base_path.lastIndexOf(subProgram) > 0)
- base_path = base_path.left(base_path.lastIndexOf(subProgram));
- else
- base_path = QCoreApplication::applicationDirPath();
+ const QString testDataSubDir = QStringLiteral("testdata");
+ const QString subProgram = testDataSubDir + QLatin1String("/simple_app/main.cpp");
+ QString testDataPath = QFINDTESTDATA(subProgram);
+ if (!testDataPath.endsWith(subProgram))
+ QFAIL("Cannot find test data directory.");
+ testDataPath.chop(subProgram.length() - testDataSubDir.length());
+
+ QString userWorkDir = qgetenv("TST_QMAKE_BUILD_DIR");
+ if (userWorkDir.isEmpty()) {
+ base_path = tempWorkDir.path();
+ } else {
+ if (!QFile::exists(userWorkDir)) {
+ QFAIL(qUtf8Printable(QStringLiteral("TST_QMAKE_BUILD_DIR %1 does not exist.")
+ .arg(userWorkDir)));
+ }
+ base_path = userWorkDir;
+ }
+
+ copyDir(testDataPath, base_path + QLatin1Char('/') + testDataSubDir);
+}
+
+void tst_qmake::cleanupTestCase()
+{
+ // On Windows, ~QTemporaryDir fails to remove the directory if we're still in there.
+ QDir::setCurrent(origCurrentDirPath);
}
void tst_qmake::cleanup()
@@ -119,10 +174,15 @@ void tst_qmake::simple_app()
{
QString workDir = base_path + "/testdata/simple_app";
QString destDir = workDir + "/dest dir";
+ QString installDir = workDir + "/dist";
- QVERIFY( test_compiler.qmake( workDir, "simple_app" ));
+ QVERIFY( test_compiler.qmake( workDir, "simple_app", QString() ));
QVERIFY( test_compiler.make( workDir ));
QVERIFY( test_compiler.exists( destDir, "simple app", Exe, "1.0.0" ));
+
+ QVERIFY(test_compiler.make(workDir, "install"));
+ QVERIFY(test_compiler.exists(installDir, "simple app", Exe, "1.0.0"));
+
QVERIFY( test_compiler.makeClean( workDir ));
QVERIFY( test_compiler.exists( destDir, "simple app", Exe, "1.0.0" )); // Should still exist after a make clean
QVERIFY( test_compiler.makeDistClean( workDir ));
@@ -162,6 +222,40 @@ void tst_qmake::simple_app_shadowbuild2()
QVERIFY( test_compiler.removeMakefile( buildDir ) );
}
+void tst_qmake::simple_app_versioned()
+{
+ QString workDir = base_path + "/testdata/simple_app";
+ QString buildDir = base_path + "/testdata/simple_app_versioned_build";
+ QString destDir = buildDir + "/dest dir";
+ QString installDir = buildDir + "/dist";
+
+ QString version = "4.5.6";
+ QVERIFY(test_compiler.qmake(workDir, "simple_app", buildDir, QStringList{ "VERSION=" + version }));
+ QString qmakeOutput = test_compiler.commandOutput();
+ QVERIFY(test_compiler.make(buildDir));
+ QVERIFY(test_compiler.exists(destDir, "simple app", Exe, version));
+
+ QString pdbFilePath;
+ bool checkPdb = qmakeOutput.contains("Project MESSAGE: check for pdb, please");
+ if (checkPdb) {
+ QString targetBase = QFileInfo(TestCompiler::targetName(Exe, "simple app", version))
+ .completeBaseName();
+ pdbFilePath = destDir + '/' + targetBase + ".pdb";
+ QVERIFY2(QFile::exists(pdbFilePath), qPrintable(pdbFilePath));
+ QVERIFY(test_compiler.make(buildDir, "install"));
+ QString installedPdbFilePath = installDir + '/' + targetBase + ".pdb";
+ QVERIFY2(QFile::exists(installedPdbFilePath), qPrintable(installedPdbFilePath));
+ }
+
+ QVERIFY(test_compiler.makeClean(buildDir));
+ QVERIFY(test_compiler.exists(destDir, "simple app", Exe, version));
+ QVERIFY(test_compiler.makeDistClean(buildDir));
+ QVERIFY(!test_compiler.exists(destDir, "simple app", Exe, version));
+ if (checkPdb)
+ QVERIFY(!QFile::exists(pdbFilePath));
+ QVERIFY(test_compiler.removeMakefile(buildDir));
+}
+
void tst_qmake::simple_dll()
{
QString workDir = base_path + "/testdata/simple_dll";
@@ -205,12 +299,12 @@ void tst_qmake::subdirs()
D.remove( workDir + "/simple_dll/Makefile");
QVERIFY( test_compiler.qmake( workDir, "subdirs" ));
QVERIFY( test_compiler.make( workDir ));
- QVERIFY( test_compiler.exists( workDir + "/simple_app/dest dir", "simple app", Exe, "1.0.0" ));
- QVERIFY( test_compiler.exists( workDir + "/simple_dll/dest dir", "simple dll", Dll, "1.0.0" ));
+ QVERIFY( test_compiler.exists(workDir + "/simple_app/dest dir", "simple app", Exe));
+ QVERIFY( test_compiler.exists(workDir + "/simple_dll/dest dir", "simple dll", Dll));
QVERIFY( test_compiler.makeClean( workDir ));
// Should still exist after a make clean
- QVERIFY( test_compiler.exists( workDir + "/simple_app/dest dir", "simple app", Exe, "1.0.0" ));
- QVERIFY( test_compiler.exists( workDir + "/simple_dll/dest dir", "simple dll", Dll, "1.0.0" ));
+ QVERIFY( test_compiler.exists(workDir + "/simple_app/dest dir", "simple app", Exe));
+ QVERIFY( test_compiler.exists(workDir + "/simple_dll/dest dir", "simple dll", Dll));
// Since subdirs templates do not have a make dist clean, we should clean up ourselves
// properly
QVERIFY( test_compiler.makeDistClean( workDir ));
@@ -500,8 +594,8 @@ void tst_qmake::resources()
QVERIFY(test_compiler.qmake(workDir, "resources"));
{
- QFile qrcFile(workDir + "/.rcc/" DIR_INFIX "qmake_pro_file.qrc");
- QVERIFY(qrcFile.exists());
+ QFile qrcFile(workDir + '/' + DIR_INFIX "qmake_pro_file.qrc");
+ QVERIFY2(qrcFile.exists(), qPrintable(qrcFile.fileName()));
QVERIFY(qrcFile.open(QFile::ReadOnly));
QByteArray qrcXml = qrcFile.readAll();
QVERIFY(qrcXml.contains("alias=\"resources.pro\""));
@@ -509,7 +603,7 @@ void tst_qmake::resources()
}
{
- QFile qrcFile(workDir + "/.rcc/" DIR_INFIX "qmake_subdir.qrc");
+ QFile qrcFile(workDir + '/' + DIR_INFIX "qmake_subdir.qrc");
QVERIFY(qrcFile.exists());
QVERIFY(qrcFile.open(QFile::ReadOnly));
QByteArray qrcXml = qrcFile.readAll();
@@ -517,7 +611,7 @@ void tst_qmake::resources()
}
{
- QFile qrcFile(workDir + "/.rcc/" DIR_INFIX "qmake_qmake_immediate.qrc");
+ QFile qrcFile(workDir + '/' + DIR_INFIX "qmake_qmake_immediate.qrc");
QVERIFY(qrcFile.exists());
QVERIFY(qrcFile.open(QFile::ReadOnly));
QByteArray qrcXml = qrcFile.readAll();
diff --git a/tests/auto/tools/qmakelib/qmakelib.pro b/tests/auto/tools/qmakelib/qmakelib.pro
index 140bece708..29f17f6a14 100644
--- a/tests/auto/tools/qmakelib/qmakelib.pro
+++ b/tests/auto/tools/qmakelib/qmakelib.pro
@@ -1,6 +1,7 @@
CONFIG += testcase
TARGET = tst_qmakelib
QT = core testlib
+win32: LIBS += -ladvapi32
INCLUDEPATH += ../../../../qmake/library
VPATH += ../../../../qmake/library
@@ -13,6 +14,7 @@ SOURCES += \
parsertest.cpp \
evaltest.cpp \
ioutils.cpp \
+ registry.cpp \
proitems.cpp \
qmakevfs.cpp \
qmakeparser.cpp \
diff --git a/tests/auto/tools/rcc/data/images/images.expected b/tests/auto/tools/rcc/data/images/images.expected
index 45e96dccd0..2af071812e 100644
--- a/tests/auto/tools/rcc/data/images/images.expected
+++ b/tests/auto/tools/rcc/data/images/images.expected
@@ -115,7 +115,6 @@ namespace QT_NAMESPACE {
#endif
bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
-
bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
#ifdef QT_NAMESPACE
@@ -125,16 +124,18 @@ bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *,
int QT_RCC_MANGLE_NAMESPACE(qInitResources)();
int QT_RCC_MANGLE_NAMESPACE(qInitResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)();
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
diff --git a/tests/auto/tools/rcc/data/sizes/size-0.expected b/tests/auto/tools/rcc/data/sizes/size-0.expected
index e862310153..2f70a607ab 100644
--- a/tests/auto/tools/rcc/data/sizes/size-0.expected
+++ b/tests/auto/tools/rcc/data/sizes/size-0.expected
@@ -57,7 +57,6 @@ namespace QT_NAMESPACE {
#endif
bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
-
bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
#ifdef QT_NAMESPACE
@@ -67,16 +66,18 @@ bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *,
int QT_RCC_MANGLE_NAMESPACE(qInitResources)();
int QT_RCC_MANGLE_NAMESPACE(qInitResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)();
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
diff --git a/tests/auto/tools/rcc/data/sizes/size-1.expected b/tests/auto/tools/rcc/data/sizes/size-1.expected
index 9e5161272a..d1717a9255 100644
--- a/tests/auto/tools/rcc/data/sizes/size-1.expected
+++ b/tests/auto/tools/rcc/data/sizes/size-1.expected
@@ -58,7 +58,6 @@ namespace QT_NAMESPACE {
#endif
bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
-
bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
#ifdef QT_NAMESPACE
@@ -68,16 +67,18 @@ bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *,
int QT_RCC_MANGLE_NAMESPACE(qInitResources)();
int QT_RCC_MANGLE_NAMESPACE(qInitResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)();
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
diff --git a/tests/auto/tools/rcc/data/sizes/size-2-0-35-1.expected b/tests/auto/tools/rcc/data/sizes/size-2-0-35-1.expected
index 0fc953351a..7a7cc93df1 100644
--- a/tests/auto/tools/rcc/data/sizes/size-2-0-35-1.expected
+++ b/tests/auto/tools/rcc/data/sizes/size-2-0-35-1.expected
@@ -95,7 +95,6 @@ namespace QT_NAMESPACE {
#endif
bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
-
bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
#ifdef QT_NAMESPACE
@@ -105,16 +104,18 @@ bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *,
int QT_RCC_MANGLE_NAMESPACE(qInitResources)();
int QT_RCC_MANGLE_NAMESPACE(qInitResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qRegisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)();
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources)()
{
+ int version = 3;
QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData)
- (0x2, qt_resource_struct, qt_resource_name, qt_resource_data);
+ (version, qt_resource_struct, qt_resource_name, qt_resource_data);
return 1;
}
diff --git a/tests/auto/tools/rcc/data/sizes/size-2-0-35-1_python.expected b/tests/auto/tools/rcc/data/sizes/size-2-0-35-1_python.expected
new file mode 100644
index 0000000000..9dcd131af5
--- /dev/null
+++ b/tests/auto/tools/rcc/data/sizes/size-2-0-35-1_python.expected
@@ -0,0 +1,68 @@
+# Resource object code (Python 3)
+# Created by: object code
+# Created by: The Resource Compiler for Qt version 5.14.0
+# WARNING! All changes made in this file will be lost!
+
+from PySide2 import QtCore
+
+qt_resource_data = b"\
+\x00\x00\x00\x02\
+0\
+1\
+\x00\x00\x00#\
+0\
+123456789 012345\
+6789 0123456789 \
+12\
+\x00\x00\x00\x01\
+@\
+\
+\x00\x00\x00\x00\
+\
+"
+
+qt_resource_name = b"\
+\x00\x04\
+\x00\x06\xa8\xa1\
+\x00d\
+\x00a\x00t\x00a\
+\x00\x0a\
+\x04\x08\x0a\xb4\
+\x00d\
+\x00a\x00t\x00a\x00-\x002\x00.\x00t\x00x\x00t\
+\x00\x0b\
+\x00\xb5Ot\
+\x00d\
+\x00a\x00t\x00a\x00-\x003\x005\x00.\x00t\x00x\x00t\
+\x00\x0a\
+\x04\x11\x0a\xb4\
+\x00d\
+\x00a\x00t\x00a\x00-\x001\x00.\x00t\x00x\x00t\
+\x00\x0a\
+\x04\x0e\x0a\xb4\
+\x00d\
+\x00a\x00t\x00a\x00-\x000\x00.\x00t\x00x\x00t\
+"
+
+qt_resource_struct = b"\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
+\x00\x00\x00\x00\x00\x00\x00\x00\
+\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\
+\x00\x00\x00\x00\x00\x00\x00\x00\
+\x00\x00\x00(\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\
+IGNORE: (time stamp)
+\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
+IGNORE: (time stamp)
+\x00\x00\x00^\x00\x00\x00\x00\x00\x01\x00\x00\x002\
+IGNORE: (time stamp)
+\x00\x00\x00D\x00\x00\x00\x00\x00\x01\x00\x00\x00-\
+IGNORE: (time stamp)
+"
+
+def qInitResources():
+ QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+def qCleanupResources():
+ QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data)
+
+qInitResources()
diff --git a/tests/auto/tools/rcc/tst_rcc.cpp b/tests/auto/tools/rcc/tst_rcc.cpp
index 0876af6759..24fd79cf19 100644
--- a/tests/auto/tools/rcc/tst_rcc.cpp
+++ b/tests/auto/tools/rcc/tst_rcc.cpp
@@ -46,6 +46,33 @@
typedef QMap<QString, QString> QStringMap;
Q_DECLARE_METATYPE(QStringMap)
+static QByteArray msgProcessStartFailed(const QProcess &p)
+{
+ const QString result = QLatin1String("Could not start \"")
+ + QDir::toNativeSeparators(p.program()) + QLatin1String("\": ")
+ + p.errorString();
+ return result.toLocal8Bit();
+}
+
+static QByteArray msgProcessTimeout(const QProcess &p)
+{
+ return '"' + QDir::toNativeSeparators(p.program()).toLocal8Bit()
+ + "\" timed out.";
+}
+
+static QByteArray msgProcessCrashed(QProcess &p)
+{
+ return '"' + QDir::toNativeSeparators(p.program()).toLocal8Bit()
+ + "\" crashed.\n" + p.readAllStandardError();
+}
+
+static QByteArray msgProcessFailed(QProcess &p)
+{
+ return '"' + QDir::toNativeSeparators(p.program()).toLocal8Bit()
+ + "\" returned " + QByteArray::number(p.exitCode()) + ":\n"
+ + p.readAllStandardError();
+}
+
class tst_rcc : public QObject
{
Q_OBJECT
@@ -62,10 +89,13 @@ private slots:
void readback_data();
void readback();
+ void python();
+
void cleanupTestCase();
private:
QString m_rcc;
+ QString m_dataPath;
};
void tst_rcc::initTestCase()
@@ -74,20 +104,19 @@ void tst_rcc::initTestCase()
// we must force a certain hash order when testing or tst_rcc will fail, see QTBUG-25078
QVERIFY(qputenv("QT_RCC_TEST", "1"));
m_rcc = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QLatin1String("/rcc");
-}
-QString findExpectedFile(const QString &base)
-{
- QString expectedrccfile = base;
+ m_dataPath = QFINDTESTDATA("data");
+ QVERIFY(!m_dataPath.isEmpty());
+}
- // Must be updated with each minor release.
- if (QFileInfo(expectedrccfile + QLatin1String(".450")).exists())
- expectedrccfile += QLatin1String(".450");
- return expectedrccfile;
+static inline bool isPythonComment(const QString &line)
+{
+ return line.startsWith(QLatin1Char('#'));
}
-static QString doCompare(const QStringList &actual, const QStringList &expected)
+static QString doCompare(const QStringList &actual, const QStringList &expected,
+ const QString &timeStampPath)
{
if (actual.size() != expected.size()) {
return QString("Length count different: actual: %1, expected: %2")
@@ -95,13 +124,21 @@ static QString doCompare(const QStringList &actual, const QStringList &expected)
}
QByteArray ba;
+ const bool isPython = isPythonComment(expected.constFirst());
for (int i = 0, n = expected.size(); i != n; ++i) {
QString expectedLine = expected.at(i);
if (expectedLine.startsWith("IGNORE:"))
continue;
+ if (isPython && isPythonComment(expectedLine) && isPythonComment(actual.at(i)))
+ continue;
if (expectedLine.startsWith("TIMESTAMP:")) {
const QString relativePath = expectedLine.mid(strlen("TIMESTAMP:"));
- const quint64 timeStamp = QFileInfo(relativePath).lastModified().toMSecsSinceEpoch();
+ const QFileInfo fi(timeStampPath + QLatin1Char('/') + relativePath);
+ if (!fi.isFile()) {
+ ba.append("File " + fi.absoluteFilePath().toUtf8() + " does not exist!");
+ break;
+ }
+ const quint64 timeStamp = quint64(fi.lastModified().toMSecsSinceEpoch());
expectedLine.clear();
for (int shift = 56; shift >= 0; shift -= 8) {
expectedLine.append(QLatin1String("0x"));
@@ -110,7 +147,7 @@ static QString doCompare(const QStringList &actual, const QStringList &expected)
}
}
if (expectedLine != actual.at(i)) {
- qDebug() << "LINES" << i << "DIFFER";
+ qDebug() << "LINES" << (i + 1) << "DIFFER";
ba.append(
"\n<<<<<< actual\n" + actual.at(i) + "\n======\n" + expectedLine
+ "\n>>>>>> expected\n"
@@ -126,48 +163,53 @@ void tst_rcc::rcc_data()
QTest::addColumn<QString>("qrcfile");
QTest::addColumn<QString>("expected");
- QString dataPath = QFINDTESTDATA("data/images/");
- if (dataPath.isEmpty())
- QFAIL("data path not found");
- QTest::newRow("images") << dataPath << "images.qrc" << "images.expected";
+ const QString imagesPath = m_dataPath + QLatin1String("/images");
+ QTest::newRow("images") << imagesPath << "images.qrc" << "images.expected";
- QString sizesPath = QFINDTESTDATA("data/sizes/");
- if (sizesPath.isEmpty())
- QFAIL("data path not found");
+ const QString sizesPath = m_dataPath + QLatin1String("/sizes");
QTest::newRow("size-0") << sizesPath << "size-0.qrc" << "size-0.expected";
QTest::newRow("size-1") << sizesPath << "size-1.qrc" << "size-1.expected";
QTest::newRow("size-2-0-35-1") << sizesPath << "size-2-0-35-1.qrc" << "size-2-0-35-1.expected";
}
+static QStringList readLinesFromFile(const QString &fileName,
+ QString::SplitBehavior splitBehavior)
+{
+ QFile file(fileName);
+
+ bool ok = file.open(QIODevice::ReadOnly | QIODevice::Text);
+ if (!ok) {
+ QWARN(qPrintable(QString::fromLatin1("Could not open testdata file %1: %2")
+ .arg(fileName, file.errorString())));
+ }
+
+ return QString::fromUtf8(file.readAll()).split(QLatin1Char('\n'), splitBehavior);
+}
+
void tst_rcc::rcc()
{
QFETCH(QString, directory);
QFETCH(QString, qrcfile);
QFETCH(QString, expected);
- if (!QDir::setCurrent(directory)) {
- QString message = QString::fromLatin1("Unable to cd from '%1' to '%2'").arg(QDir::currentPath(), directory);
- QFAIL(qPrintable(message));
- }
-
// If the file expectedoutput.txt exists, compare the
// console output with the content of that file
- const QString expected2 = findExpectedFile(expected);
- QFile expectedFile(expected2);
- if (!expectedFile.exists()) {
- qDebug() << "NO EXPECTATIONS? " << expected2;
- return;
- }
- // Launch
+ // Launch; force no compression, otherwise the output would be different
+ // depending on the compression algorithm we're using
QProcess process;
- process.start(m_rcc, QStringList(qrcfile));
+ process.setWorkingDirectory(directory);
+ process.start(m_rcc, { "-no-compress", qrcfile });
+ QVERIFY2(process.waitForStarted(), msgProcessStartFailed(process).constData());
if (!process.waitForFinished()) {
- const QString path = QString::fromLocal8Bit(qgetenv("PATH"));
- QString message = QString::fromLatin1("'%1' could not be found when run from '%2'. Path: '%3' ").
- arg(m_rcc, QDir::currentPath(), path);
- QFAIL(qPrintable(message));
+ process.kill();
+ QFAIL(msgProcessTimeout(process).constData());
}
+ QVERIFY2(process.exitStatus() == QProcess::NormalExit,
+ msgProcessCrashed(process).constData());
+ QVERIFY2(process.exitCode() == 0,
+ msgProcessFailed(process).constData());
+
const QChar cr = QLatin1Char('\r');
const QString err = QString::fromLocal8Bit(process.readAllStandardError()).remove(cr);
const QString out = QString::fromLatin1(process.readAllStandardOutput()).remove(cr);
@@ -180,62 +222,20 @@ void tst_rcc::rcc()
const QChar nl = QLatin1Char('\n');
const QStringList actualLines = out.split(nl);
- QVERIFY(expectedFile.open(QIODevice::ReadOnly|QIODevice::Text));
- const QStringList expectedLines = QString::fromLatin1(expectedFile.readAll()).split(nl);
+ const QStringList expectedLines =
+ readLinesFromFile(directory + QLatin1Char('/') + expected, QString::KeepEmptyParts);
+ QVERIFY(!expectedLines.isEmpty());
- const QString diff = doCompare(actualLines, expectedLines);
+ const QString diff = doCompare(actualLines, expectedLines, directory);
if (diff.size())
QFAIL(qPrintable(diff));
}
-
-
-static void createRccBinaryData(const QString &rcc, const QString &baseDir,
- const QString &qrcFileName, const QString &rccFileName)
-{
- QString currentDir = QDir::currentPath();
- QDir::setCurrent(baseDir);
-
- QProcess rccProcess;
- rccProcess.start(rcc, QStringList() << "-binary" << "-o" << rccFileName << qrcFileName);
- bool ok = rccProcess.waitForFinished();
- if (!ok) {
- QString errorString = QString::fromLatin1("Could not start rcc (is it in PATH?): %1").arg(rccProcess.errorString());
- QFAIL(qPrintable(errorString));
- }
-
- QByteArray output = rccProcess.readAllStandardOutput();
- if (!output.isEmpty()) {
- QString errorMessage = QString::fromLatin1("rcc stdout: %1").arg(QString::fromLocal8Bit(output));
- QWARN(qPrintable(errorMessage));
- }
-
- output = rccProcess.readAllStandardError();
- if (!output.isEmpty()) {
- QString errorMessage = QString::fromLatin1("rcc stderr: %1").arg(QString::fromLocal8Bit(output));
- QWARN(qPrintable(errorMessage));
- }
-
- QDir::setCurrent(currentDir);
-}
-
-static QStringList readLinesFromFile(const QString &fileName)
-{
- QFile file(fileName);
-
- bool ok = file.open(QIODevice::ReadOnly | QIODevice::Text);
- if (!ok)
- QWARN(qPrintable(QString::fromLatin1("Could not open testdata file %1: %2").arg(fileName, file.errorString())));
-
- QStringList lines = QString::fromUtf8(file.readAll()).split(QLatin1Char('\n'), QString::SkipEmptyParts);
- return lines;
-}
-
static QStringMap readExpectedFiles(const QString &fileName)
{
QStringMap expectedFiles;
- QStringList lines = readLinesFromFile(fileName);
+ QStringList lines = readLinesFromFile(fileName, QString::SkipEmptyParts);
foreach (const QString &line, lines) {
QString resourceFileName = line.section(QLatin1Char(' '), 0, 0, QString::SectionSkipEmpty);
QString actualFileName = line.section(QLatin1Char(' '), 1, 1, QString::SectionSkipEmpty);
@@ -266,9 +266,7 @@ void tst_rcc::binary_data()
QTest::addColumn<QString>("baseDirectory");
QTest::addColumn<QStringMap>("expectedFiles");
- QString dataPath = QFINDTESTDATA("data/binary/");
- if (dataPath.isEmpty())
- QFAIL("data path not found");
+ QString dataPath = m_dataPath + QLatin1String("/binary/");
QDirIterator iter(dataPath, QStringList() << QLatin1String("*.qrc"));
while (iter.hasNext())
@@ -277,12 +275,33 @@ void tst_rcc::binary_data()
QFileInfo qrcFileInfo = iter.fileInfo();
QString absoluteBaseName = QFileInfo(qrcFileInfo.absolutePath(), qrcFileInfo.baseName()).absoluteFilePath();
QString rccFileName = absoluteBaseName + QLatin1String(".rcc");
- createRccBinaryData(m_rcc, dataPath, qrcFileInfo.absoluteFilePath(), rccFileName);
+
+ // same as above: force no compression
+ QProcess rccProcess;
+ rccProcess.setWorkingDirectory(dataPath);
+ rccProcess.start(m_rcc, { "-binary", "-no-compress", "-o", rccFileName, qrcFileInfo.absoluteFilePath() });
+ QVERIFY2(rccProcess.waitForStarted(), msgProcessStartFailed(rccProcess).constData());
+ if (!rccProcess.waitForFinished()) {
+ rccProcess.kill();
+ QFAIL(msgProcessTimeout(rccProcess).constData());
+ }
+ QVERIFY2(rccProcess.exitStatus() == QProcess::NormalExit,
+ msgProcessCrashed(rccProcess).constData());
+ QVERIFY2(rccProcess.exitCode() == 0,
+ msgProcessFailed(rccProcess).constData());
+
+ QByteArray output = rccProcess.readAllStandardOutput();
+ if (!output.isEmpty())
+ qWarning("rcc stdout: %s", output.constData());
+
+ output = rccProcess.readAllStandardError();
+ if (!output.isEmpty())
+ qWarning("rcc stderr: %s", output.constData());
QString localeFileName = absoluteBaseName + QLatin1String(".locale");
QFile localeFile(localeFileName);
if (localeFile.exists()) {
- QStringList locales = readLinesFromFile(localeFileName);
+ QStringList locales = readLinesFromFile(localeFileName, QString::SkipEmptyParts);
foreach (const QString &locale, locales) {
QString expectedFileName = QString::fromLatin1("%1.%2.%3").arg(absoluteBaseName, locale, QLatin1String("expected"));
QStringMap expectedFiles = readExpectedFiles(expectedFileName);
@@ -384,16 +403,12 @@ void tst_rcc::readback()
QFETCH(QString, resourceName);
QFETCH(QString, fileSystemName);
- QString dataPath = QFINDTESTDATA("data/");
- if (dataPath.isEmpty())
- QFAIL("data path not found");
-
QFile resourceFile(resourceName);
QVERIFY(resourceFile.open(QIODevice::ReadOnly));
QByteArray resourceData = resourceFile.readAll();
resourceFile.close();
- QFile fileSystemFile(dataPath + fileSystemName);
+ QFile fileSystemFile(m_dataPath + QLatin1Char('/') + fileSystemName);
QVERIFY(fileSystemFile.open(QIODevice::ReadOnly));
QByteArray fileSystemData = fileSystemFile.readAll();
fileSystemFile.close();
@@ -401,12 +416,39 @@ void tst_rcc::readback()
QCOMPARE(resourceData, fileSystemData);
}
+void tst_rcc::python()
+{
+ const QString path = m_dataPath + QLatin1String("/sizes");
+ const QString testFileRoot = path + QLatin1String("/size-2-0-35-1");
+ const QString qrcFile = testFileRoot + QLatin1String(".qrc");
+ const QString expectedFile = testFileRoot + QLatin1String("_python.expected");
+ const QString actualFile = testFileRoot + QLatin1String(".rcc");
+
+ QProcess process;
+ process.setWorkingDirectory(path);
+ process.start(m_rcc, { "-g", "python", "-o", actualFile, qrcFile});
+ QVERIFY2(process.waitForStarted(), msgProcessStartFailed(process).constData());
+ if (!process.waitForFinished()) {
+ process.kill();
+ QFAIL(msgProcessTimeout(process).constData());
+ }
+ QVERIFY2(process.exitStatus() == QProcess::NormalExit,
+ msgProcessCrashed(process).constData());
+ QVERIFY2(process.exitCode() == 0,
+ msgProcessFailed(process).constData());
+
+ const auto actualLines = readLinesFromFile(actualFile, QString::KeepEmptyParts);
+ QVERIFY(!actualLines.isEmpty());
+ const auto expectedLines = readLinesFromFile(expectedFile, QString::KeepEmptyParts);
+ QVERIFY(!expectedLines.isEmpty());
+ const QString diff = doCompare(actualLines, expectedLines, path);
+ if (!diff.isEmpty())
+ QFAIL(qPrintable(diff));
+}
+
void tst_rcc::cleanupTestCase()
{
- QString dataPath = QFINDTESTDATA("data/binary/");
- if (dataPath.isEmpty())
- return;
- QDir dataDir(dataPath);
+ QDir dataDir(m_dataPath + QLatin1String("/binary"));
QFileInfoList entries = dataDir.entryInfoList(QStringList() << QLatin1String("*.rcc"));
foreach (const QFileInfo &entry, entries)
QFile::remove(entry.absoluteFilePath());
diff --git a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h
index 1f5004b2aa..8b17acc1cd 100644
--- a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h
+++ b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'Dialog_with_Buttons_Bottom.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -41,7 +41,7 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", nullptr));
+ Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Dialog", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h
index 8dd8b11b62..cdb12ec2b8 100644
--- a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h
+++ b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'Dialog_with_Buttons_Right.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -41,7 +41,7 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", nullptr));
+ Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Dialog", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h b/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h
index 95acabf3f8..abdeb5b823 100644
--- a/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h
+++ b/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'Dialog_without_Buttons.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -32,7 +32,7 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", nullptr));
+ Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Dialog", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Main_Window.ui.h b/tests/auto/tools/uic/baseline/Main_Window.ui.h
index 9e59e9f2e5..b78a3df8af 100644
--- a/tests/auto/tools/uic/baseline/Main_Window.ui.h
+++ b/tests/auto/tools/uic/baseline/Main_Window.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'Main_Window.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -47,7 +47,7 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", nullptr));
+ MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Widget.ui.h b/tests/auto/tools/uic/baseline/Widget.ui.h
index 4318c2262f..906f648533 100644
--- a/tests/auto/tools/uic/baseline/Widget.ui.h
+++ b/tests/auto/tools/uic/baseline/Widget.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'Widget.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -57,13 +57,13 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", nullptr));
- Alabel->setText(QApplication::translate("Form", "A label.\n"
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Form", nullptr));
+ Alabel->setText(QCoreApplication::translate("Form", "A label.\n"
"One new line.\n"
"Another new line.\n"
"Last line.", nullptr));
- groupBox->setTitle(QApplication::translate("Form", "A Group Box", nullptr));
- pushButton->setText(QApplication::translate("Form", "PushButton", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("Form", "A Group Box", nullptr));
+ pushButton->setText(QCoreApplication::translate("Form", "PushButton", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/addlinkdialog.ui.h b/tests/auto/tools/uic/baseline/addlinkdialog.ui.h
index 17f51a92f8..2a0ef18fa7 100644
--- a/tests/auto/tools/uic/baseline/addlinkdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/addlinkdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'addlinkdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -97,9 +97,9 @@ public:
void retranslateUi(QDialog *AddLinkDialog)
{
- AddLinkDialog->setWindowTitle(QApplication::translate("AddLinkDialog", "Insert Link", nullptr));
- label->setText(QApplication::translate("AddLinkDialog", "Title:", nullptr));
- label_2->setText(QApplication::translate("AddLinkDialog", "URL:", nullptr));
+ AddLinkDialog->setWindowTitle(QCoreApplication::translate("AddLinkDialog", "Insert Link", nullptr));
+ label->setText(QCoreApplication::translate("AddLinkDialog", "Title:", nullptr));
+ label_2->setText(QCoreApplication::translate("AddLinkDialog", "URL:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/addtorrentform.ui.h b/tests/auto/tools/uic/baseline/addtorrentform.ui.h
index d259a011bf..b357d708d5 100644
--- a/tests/auto/tools/uic/baseline/addtorrentform.ui.h
+++ b/tests/auto/tools/uic/baseline/addtorrentform.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'addtorrentform.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -209,23 +209,23 @@ public:
void retranslateUi(QDialog *AddTorrentFile)
{
- AddTorrentFile->setWindowTitle(QApplication::translate("AddTorrentFile", "Add a torrent", nullptr));
- groupBox->setTitle(QApplication::translate("AddTorrentFile", "Select a torrent source", nullptr));
- label_4->setText(QApplication::translate("AddTorrentFile", "Destination:", nullptr));
- label_2->setText(QApplication::translate("AddTorrentFile", "Tracker URL:", nullptr));
- browseTorrents->setText(QApplication::translate("AddTorrentFile", "Browse", nullptr));
- label_5->setText(QApplication::translate("AddTorrentFile", "File(s):", nullptr));
- label_3->setText(QApplication::translate("AddTorrentFile", "Size:", nullptr));
- label_6->setText(QApplication::translate("AddTorrentFile", "Creator:", nullptr));
- announceUrl->setText(QApplication::translate("AddTorrentFile", "<none>", nullptr));
- label->setText(QApplication::translate("AddTorrentFile", "Torrent file:", nullptr));
- browseDestination->setText(QApplication::translate("AddTorrentFile", "Browse", nullptr));
- label_7->setText(QApplication::translate("AddTorrentFile", "Comment:", nullptr));
- commentLabel->setText(QApplication::translate("AddTorrentFile", "<none>", nullptr));
- creatorLabel->setText(QApplication::translate("AddTorrentFile", "<none>", nullptr));
- sizeLabel->setText(QApplication::translate("AddTorrentFile", "0", nullptr));
- okButton->setText(QApplication::translate("AddTorrentFile", "&OK", nullptr));
- cancelButton->setText(QApplication::translate("AddTorrentFile", "&Cancel", nullptr));
+ AddTorrentFile->setWindowTitle(QCoreApplication::translate("AddTorrentFile", "Add a torrent", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("AddTorrentFile", "Select a torrent source", nullptr));
+ label_4->setText(QCoreApplication::translate("AddTorrentFile", "Destination:", nullptr));
+ label_2->setText(QCoreApplication::translate("AddTorrentFile", "Tracker URL:", nullptr));
+ browseTorrents->setText(QCoreApplication::translate("AddTorrentFile", "Browse", nullptr));
+ label_5->setText(QCoreApplication::translate("AddTorrentFile", "File(s):", nullptr));
+ label_3->setText(QCoreApplication::translate("AddTorrentFile", "Size:", nullptr));
+ label_6->setText(QCoreApplication::translate("AddTorrentFile", "Creator:", nullptr));
+ announceUrl->setText(QCoreApplication::translate("AddTorrentFile", "<none>", nullptr));
+ label->setText(QCoreApplication::translate("AddTorrentFile", "Torrent file:", nullptr));
+ browseDestination->setText(QCoreApplication::translate("AddTorrentFile", "Browse", nullptr));
+ label_7->setText(QCoreApplication::translate("AddTorrentFile", "Comment:", nullptr));
+ commentLabel->setText(QCoreApplication::translate("AddTorrentFile", "<none>", nullptr));
+ creatorLabel->setText(QCoreApplication::translate("AddTorrentFile", "<none>", nullptr));
+ sizeLabel->setText(QCoreApplication::translate("AddTorrentFile", "0", nullptr));
+ okButton->setText(QCoreApplication::translate("AddTorrentFile", "&OK", nullptr));
+ cancelButton->setText(QCoreApplication::translate("AddTorrentFile", "&Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/authenticationdialog.ui.h b/tests/auto/tools/uic/baseline/authenticationdialog.ui.h
index 16c9ce16a8..f8378b9a4e 100644
--- a/tests/auto/tools/uic/baseline/authenticationdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/authenticationdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'authenticationdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -103,12 +103,12 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Http authentication required", nullptr));
- label->setText(QApplication::translate("Dialog", "You need to supply a Username and a Password to access this site", nullptr));
- label_2->setText(QApplication::translate("Dialog", "Username:", nullptr));
- label_3->setText(QApplication::translate("Dialog", "Password:", nullptr));
- label_4->setText(QApplication::translate("Dialog", "Site:", nullptr));
- siteDescription->setText(QApplication::translate("Dialog", "%1 at %2", nullptr));
+ Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Http authentication required", nullptr));
+ label->setText(QCoreApplication::translate("Dialog", "You need to supply a Username and a Password to access this site", nullptr));
+ label_2->setText(QCoreApplication::translate("Dialog", "Username:", nullptr));
+ label_3->setText(QCoreApplication::translate("Dialog", "Password:", nullptr));
+ label_4->setText(QCoreApplication::translate("Dialog", "Site:", nullptr));
+ siteDescription->setText(QCoreApplication::translate("Dialog", "%1 at %2", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/backside.ui.h b/tests/auto/tools/uic/baseline/backside.ui.h
index e7053c632f..7f2b3662f3 100644
--- a/tests/auto/tools/uic/baseline/backside.ui.h
+++ b/tests/auto/tools/uic/baseline/backside.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'backside.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -144,40 +144,40 @@ public:
void retranslateUi(QWidget *BackSide)
{
- BackSide->setWindowTitle(QApplication::translate("BackSide", "BackSide", nullptr));
- groupBox->setTitle(QApplication::translate("BackSide", "Settings", nullptr));
- label->setText(QApplication::translate("BackSide", "Title:", nullptr));
- hostName->setText(QApplication::translate("BackSide", "Pad Navigator Example", nullptr));
- label_2->setText(QApplication::translate("BackSide", "Modified:", nullptr));
- label_3->setText(QApplication::translate("BackSide", "Extent", nullptr));
- groupBox_2->setTitle(QApplication::translate("BackSide", "Other input", nullptr));
+ BackSide->setWindowTitle(QCoreApplication::translate("BackSide", "BackSide", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("BackSide", "Settings", nullptr));
+ label->setText(QCoreApplication::translate("BackSide", "Title:", nullptr));
+ hostName->setText(QCoreApplication::translate("BackSide", "Pad Navigator Example", nullptr));
+ label_2->setText(QCoreApplication::translate("BackSide", "Modified:", nullptr));
+ label_3->setText(QCoreApplication::translate("BackSide", "Extent", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("BackSide", "Other input", nullptr));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("BackSide", "Widgets On Graphics View", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("BackSide", "Widgets On Graphics View", nullptr));
const bool __sortingEnabled = treeWidget->isSortingEnabled();
treeWidget->setSortingEnabled(false);
QTreeWidgetItem *___qtreewidgetitem1 = treeWidget->topLevelItem(0);
- ___qtreewidgetitem1->setText(0, QApplication::translate("BackSide", "QGraphicsProxyWidget", nullptr));
+ ___qtreewidgetitem1->setText(0, QCoreApplication::translate("BackSide", "QGraphicsProxyWidget", nullptr));
QTreeWidgetItem *___qtreewidgetitem2 = ___qtreewidgetitem1->child(0);
- ___qtreewidgetitem2->setText(0, QApplication::translate("BackSide", "QGraphicsWidget", nullptr));
+ ___qtreewidgetitem2->setText(0, QCoreApplication::translate("BackSide", "QGraphicsWidget", nullptr));
QTreeWidgetItem *___qtreewidgetitem3 = ___qtreewidgetitem2->child(0);
- ___qtreewidgetitem3->setText(0, QApplication::translate("BackSide", "QObject", nullptr));
+ ___qtreewidgetitem3->setText(0, QCoreApplication::translate("BackSide", "QObject", nullptr));
QTreeWidgetItem *___qtreewidgetitem4 = ___qtreewidgetitem2->child(1);
- ___qtreewidgetitem4->setText(0, QApplication::translate("BackSide", "QGraphicsItem", nullptr));
+ ___qtreewidgetitem4->setText(0, QCoreApplication::translate("BackSide", "QGraphicsItem", nullptr));
QTreeWidgetItem *___qtreewidgetitem5 = ___qtreewidgetitem2->child(2);
- ___qtreewidgetitem5->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", nullptr));
+ ___qtreewidgetitem5->setText(0, QCoreApplication::translate("BackSide", "QGraphicsLayoutItem", nullptr));
QTreeWidgetItem *___qtreewidgetitem6 = treeWidget->topLevelItem(1);
- ___qtreewidgetitem6->setText(0, QApplication::translate("BackSide", "QGraphicsGridLayout", nullptr));
+ ___qtreewidgetitem6->setText(0, QCoreApplication::translate("BackSide", "QGraphicsGridLayout", nullptr));
QTreeWidgetItem *___qtreewidgetitem7 = ___qtreewidgetitem6->child(0);
- ___qtreewidgetitem7->setText(0, QApplication::translate("BackSide", "QGraphicsLayout", nullptr));
+ ___qtreewidgetitem7->setText(0, QCoreApplication::translate("BackSide", "QGraphicsLayout", nullptr));
QTreeWidgetItem *___qtreewidgetitem8 = ___qtreewidgetitem7->child(0);
- ___qtreewidgetitem8->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", nullptr));
+ ___qtreewidgetitem8->setText(0, QCoreApplication::translate("BackSide", "QGraphicsLayoutItem", nullptr));
QTreeWidgetItem *___qtreewidgetitem9 = treeWidget->topLevelItem(2);
- ___qtreewidgetitem9->setText(0, QApplication::translate("BackSide", "QGraphicsLinearLayout", nullptr));
+ ___qtreewidgetitem9->setText(0, QCoreApplication::translate("BackSide", "QGraphicsLinearLayout", nullptr));
QTreeWidgetItem *___qtreewidgetitem10 = ___qtreewidgetitem9->child(0);
- ___qtreewidgetitem10->setText(0, QApplication::translate("BackSide", "QGraphicsLayout", nullptr));
+ ___qtreewidgetitem10->setText(0, QCoreApplication::translate("BackSide", "QGraphicsLayout", nullptr));
QTreeWidgetItem *___qtreewidgetitem11 = ___qtreewidgetitem10->child(0);
- ___qtreewidgetitem11->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", nullptr));
+ ___qtreewidgetitem11->setText(0, QCoreApplication::translate("BackSide", "QGraphicsLayoutItem", nullptr));
treeWidget->setSortingEnabled(__sortingEnabled);
} // retranslateUi
diff --git a/tests/auto/tools/uic/baseline/batchtranslation.ui.h b/tests/auto/tools/uic/baseline/batchtranslation.ui.h
index 8a4dc7a677..5e7278a581 100644
--- a/tests/auto/tools/uic/baseline/batchtranslation.ui.h
+++ b/tests/auto/tools/uic/baseline/batchtranslation.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'batchtranslation.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -90,7 +90,7 @@ public:
vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
groupBox = new QGroupBox(databaseTranslationDialog);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(4));
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(groupBox->sizePolicy().hasHeightForWidth());
@@ -120,7 +120,7 @@ public:
groupBox_2 = new QGroupBox(databaseTranslationDialog);
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
- QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(1));
+ QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Minimum);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(groupBox_2->sizePolicy().hasHeightForWidth());
@@ -213,16 +213,16 @@ public:
void retranslateUi(QDialog *databaseTranslationDialog)
{
- databaseTranslationDialog->setWindowTitle(QApplication::translate("databaseTranslationDialog", "Qt Linguist - Batch Translation", nullptr));
- groupBox->setTitle(QApplication::translate("databaseTranslationDialog", "Options", nullptr));
- ckOnlyUntranslated->setText(QApplication::translate("databaseTranslationDialog", "Only translate entries with no translation", nullptr));
- ckMarkFinished->setText(QApplication::translate("databaseTranslationDialog", "Set translated entries to finished", nullptr));
- groupBox_2->setTitle(QApplication::translate("databaseTranslationDialog", "Phrase book preference", nullptr));
- moveUpButton->setText(QApplication::translate("databaseTranslationDialog", "Move up", nullptr));
- moveDownButton->setText(QApplication::translate("databaseTranslationDialog", "Move down", nullptr));
- label->setText(QApplication::translate("databaseTranslationDialog", "The batch translator will search through the selected phrasebooks in the order given above.", nullptr));
- runButton->setText(QApplication::translate("databaseTranslationDialog", "&Run", nullptr));
- cancelButton->setText(QApplication::translate("databaseTranslationDialog", "&Cancel", nullptr));
+ databaseTranslationDialog->setWindowTitle(QCoreApplication::translate("databaseTranslationDialog", "Qt Linguist - Batch Translation", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("databaseTranslationDialog", "Options", nullptr));
+ ckOnlyUntranslated->setText(QCoreApplication::translate("databaseTranslationDialog", "Only translate entries with no translation", nullptr));
+ ckMarkFinished->setText(QCoreApplication::translate("databaseTranslationDialog", "Set translated entries to finished", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("databaseTranslationDialog", "Phrase book preference", nullptr));
+ moveUpButton->setText(QCoreApplication::translate("databaseTranslationDialog", "Move up", nullptr));
+ moveDownButton->setText(QCoreApplication::translate("databaseTranslationDialog", "Move down", nullptr));
+ label->setText(QCoreApplication::translate("databaseTranslationDialog", "The batch translator will search through the selected phrasebooks in the order given above.", nullptr));
+ runButton->setText(QCoreApplication::translate("databaseTranslationDialog", "&Run", nullptr));
+ cancelButton->setText(QCoreApplication::translate("databaseTranslationDialog", "&Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h b/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h
index b5a44998be..11caa3f130 100644
--- a/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'bookmarkdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -148,13 +148,13 @@ public:
void retranslateUi(QDialog *BookmarkDialog)
{
- BookmarkDialog->setWindowTitle(QApplication::translate("BookmarkDialog", "Add Bookmark", nullptr));
- label->setText(QApplication::translate("BookmarkDialog", "Bookmark:", nullptr));
- label_2->setText(QApplication::translate("BookmarkDialog", "Add in Folder:", nullptr));
- toolButton->setText(QApplication::translate("BookmarkDialog", "+", nullptr));
+ BookmarkDialog->setWindowTitle(QCoreApplication::translate("BookmarkDialog", "Add Bookmark", nullptr));
+ label->setText(QCoreApplication::translate("BookmarkDialog", "Bookmark:", nullptr));
+ label_2->setText(QCoreApplication::translate("BookmarkDialog", "Add in Folder:", nullptr));
+ toolButton->setText(QCoreApplication::translate("BookmarkDialog", "+", nullptr));
QTreeWidgetItem *___qtreewidgetitem = bookmarkWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("BookmarkDialog", "1", nullptr));
- newFolderButton->setText(QApplication::translate("BookmarkDialog", "New Folder", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("BookmarkDialog", "1", nullptr));
+ newFolderButton->setText(QCoreApplication::translate("BookmarkDialog", "New Folder", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/bookwindow.ui.h b/tests/auto/tools/uic/baseline/bookwindow.ui.h
index 8fe5f000e2..fbdcb17bd2 100644
--- a/tests/auto/tools/uic/baseline/bookwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/bookwindow.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'bookwindow.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -157,15 +157,15 @@ public:
void retranslateUi(QMainWindow *BookWindow)
{
- BookWindow->setWindowTitle(QApplication::translate("BookWindow", "Books", nullptr));
- groupBox->setTitle(QApplication::translate("BookWindow", "Books", nullptr));
- groupBox_2->setTitle(QApplication::translate("BookWindow", "Details", nullptr));
- label_5->setText(QApplication::translate("BookWindow", "<b>Title:</b>", nullptr));
- label_2_2_2_2->setText(QApplication::translate("BookWindow", "<b>Author: </b>", nullptr));
- label_3->setText(QApplication::translate("BookWindow", "<b>Genre:</b>", nullptr));
- label_4->setText(QApplication::translate("BookWindow", "<b>Year:</b>", nullptr));
+ BookWindow->setWindowTitle(QCoreApplication::translate("BookWindow", "Books", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("BookWindow", "Books", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("BookWindow", "Details", nullptr));
+ label_5->setText(QCoreApplication::translate("BookWindow", "<b>Title:</b>", nullptr));
+ label_2_2_2_2->setText(QCoreApplication::translate("BookWindow", "<b>Author: </b>", nullptr));
+ label_3->setText(QCoreApplication::translate("BookWindow", "<b>Genre:</b>", nullptr));
+ label_4->setText(QCoreApplication::translate("BookWindow", "<b>Year:</b>", nullptr));
yearEdit->setPrefix(QString());
- label->setText(QApplication::translate("BookWindow", "<b>Rating:</b>", nullptr));
+ label->setText(QCoreApplication::translate("BookWindow", "<b>Rating:</b>", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/browserwidget.ui.h b/tests/auto/tools/uic/baseline/browserwidget.ui.h
index 3db93c34cf..7dcfb290f7 100644
--- a/tests/auto/tools/uic/baseline/browserwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/browserwidget.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'browserwidget.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -62,7 +62,7 @@ public:
vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
splitter_2 = new QSplitter(Browser);
splitter_2->setObjectName(QString::fromUtf8("splitter_2"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(7));
+ QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(splitter_2->sizePolicy().hasHeightForWidth());
@@ -70,7 +70,7 @@ public:
splitter_2->setOrientation(Qt::Horizontal);
connectionWidget = new ConnectionWidget(splitter_2);
connectionWidget->setObjectName(QString::fromUtf8("connectionWidget"));
- QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(13), static_cast<QSizePolicy::Policy>(7));
+ QSizePolicy sizePolicy1(QSizePolicy::Ignored, QSizePolicy::Expanding);
sizePolicy1.setHorizontalStretch(1);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(connectionWidget->sizePolicy().hasHeightForWidth());
@@ -78,7 +78,7 @@ public:
splitter_2->addWidget(connectionWidget);
table = new QTableView(splitter_2);
table->setObjectName(QString::fromUtf8("table"));
- QSizePolicy sizePolicy2(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(7));
+ QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy2.setHorizontalStretch(2);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(table->sizePolicy().hasHeightForWidth());
@@ -91,7 +91,7 @@ public:
groupBox = new QGroupBox(Browser);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
- QSizePolicy sizePolicy3(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(3));
+ QSizePolicy sizePolicy3(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
sizePolicy3.setHorizontalStretch(0);
sizePolicy3.setVerticalStretch(0);
sizePolicy3.setHeightForWidth(groupBox->sizePolicy().hasHeightForWidth());
@@ -107,7 +107,7 @@ public:
vboxLayout1->setObjectName(QString::fromUtf8("vboxLayout1"));
sqlEdit = new QTextEdit(groupBox);
sqlEdit->setObjectName(QString::fromUtf8("sqlEdit"));
- QSizePolicy sizePolicy4(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(3));
+ QSizePolicy sizePolicy4(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding);
sizePolicy4.setHorizontalStretch(0);
sizePolicy4.setVerticalStretch(0);
sizePolicy4.setHeightForWidth(sqlEdit->sizePolicy().hasHeightForWidth());
@@ -155,18 +155,18 @@ public:
void retranslateUi(QWidget *Browser)
{
- Browser->setWindowTitle(QApplication::translate("Browser", "Qt SQL Browser", nullptr));
- insertRowAction->setText(QApplication::translate("Browser", "&Insert Row", nullptr));
-#ifndef QT_NO_STATUSTIP
- insertRowAction->setStatusTip(QApplication::translate("Browser", "Inserts a new Row", nullptr));
-#endif // QT_NO_STATUSTIP
- deleteRowAction->setText(QApplication::translate("Browser", "&Delete Row", nullptr));
-#ifndef QT_NO_STATUSTIP
- deleteRowAction->setStatusTip(QApplication::translate("Browser", "Deletes the current Row", nullptr));
-#endif // QT_NO_STATUSTIP
- groupBox->setTitle(QApplication::translate("Browser", "SQL Query", nullptr));
- clearButton->setText(QApplication::translate("Browser", "&Clear", nullptr));
- submitButton->setText(QApplication::translate("Browser", "&Submit", nullptr));
+ Browser->setWindowTitle(QCoreApplication::translate("Browser", "Qt SQL Browser", nullptr));
+ insertRowAction->setText(QCoreApplication::translate("Browser", "&Insert Row", nullptr));
+#if QT_CONFIG(statustip)
+ insertRowAction->setStatusTip(QCoreApplication::translate("Browser", "Inserts a new Row", nullptr));
+#endif // QT_CONFIG(statustip)
+ deleteRowAction->setText(QCoreApplication::translate("Browser", "&Delete Row", nullptr));
+#if QT_CONFIG(statustip)
+ deleteRowAction->setStatusTip(QCoreApplication::translate("Browser", "Deletes the current Row", nullptr));
+#endif // QT_CONFIG(statustip)
+ groupBox->setTitle(QCoreApplication::translate("Browser", "SQL Query", nullptr));
+ clearButton->setText(QCoreApplication::translate("Browser", "&Clear", nullptr));
+ submitButton->setText(QCoreApplication::translate("Browser", "&Submit", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
index 47f8f22132..4e7186041e 100644
--- a/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
+++ b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'bug18156QTreeWidget.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -57,9 +57,9 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", nullptr));
+ Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Dialog", nullptr));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(1, QApplication::translate("Dialog", "4", nullptr));
+ ___qtreewidgetitem->setText(1, QCoreApplication::translate("Dialog", "4", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/buttongroup.ui.h b/tests/auto/tools/uic/baseline/buttongroup.ui.h
index 87814dcba1..f48db1d593 100644
--- a/tests/auto/tools/uic/baseline/buttongroup.ui.h
+++ b/tests/auto/tools/uic/baseline/buttongroup.ui.h
@@ -195,14 +195,14 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Easing curves", nullptr));
- groupBox_2->setTitle(QApplication::translate("Form", "Path type", nullptr));
- lineRadio->setText(QApplication::translate("Form", "Line", nullptr));
- circleRadio->setText(QApplication::translate("Form", "Circle", nullptr));
- groupBox->setTitle(QApplication::translate("Form", "Properties", nullptr));
- label->setText(QApplication::translate("Form", "Period", nullptr));
- label_3->setText(QApplication::translate("Form", "Overshoot", nullptr));
- label_2->setText(QApplication::translate("Form", "Amplitude", nullptr));
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Easing curves", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("Form", "Path type", nullptr));
+ lineRadio->setText(QCoreApplication::translate("Form", "Line", nullptr));
+ circleRadio->setText(QCoreApplication::translate("Form", "Circle", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("Form", "Properties", nullptr));
+ label->setText(QCoreApplication::translate("Form", "Period", nullptr));
+ label_3->setText(QCoreApplication::translate("Form", "Overshoot", nullptr));
+ label_2->setText(QCoreApplication::translate("Form", "Amplitude", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/calculator.ui.h b/tests/auto/tools/uic/baseline/calculator.ui.h
index 0387ee472b..bfe272f8ea 100644
--- a/tests/auto/tools/uic/baseline/calculator.ui.h
+++ b/tests/auto/tools/uic/baseline/calculator.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'calculator.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -156,34 +156,34 @@ public:
void retranslateUi(QWidget *Calculator)
{
- Calculator->setWindowTitle(QApplication::translate("Calculator", "Calculator", nullptr));
- backspaceButton->setText(QApplication::translate("Calculator", "Backspace", nullptr));
- clearButton->setText(QApplication::translate("Calculator", "Clear", nullptr));
- clearAllButton->setText(QApplication::translate("Calculator", "Clear All", nullptr));
- clearMemoryButton->setText(QApplication::translate("Calculator", "MC", nullptr));
- readMemoryButton->setText(QApplication::translate("Calculator", "MR", nullptr));
- setMemoryButton->setText(QApplication::translate("Calculator", "MS", nullptr));
- addToMemoryButton->setText(QApplication::translate("Calculator", "M+", nullptr));
- sevenButton->setText(QApplication::translate("Calculator", "7", nullptr));
- eightButton->setText(QApplication::translate("Calculator", "8", nullptr));
- nineButton->setText(QApplication::translate("Calculator", "9", nullptr));
- fourButton->setText(QApplication::translate("Calculator", "4", nullptr));
- fiveButton->setText(QApplication::translate("Calculator", "5", nullptr));
- sixButton->setText(QApplication::translate("Calculator", "6", nullptr));
- oneButton->setText(QApplication::translate("Calculator", "1", nullptr));
- twoButton->setText(QApplication::translate("Calculator", "2", nullptr));
- threeButton->setText(QApplication::translate("Calculator", "3", nullptr));
- zeroButton->setText(QApplication::translate("Calculator", "0", nullptr));
- pointButton->setText(QApplication::translate("Calculator", ".", nullptr));
- changeSignButton->setText(QApplication::translate("Calculator", "+-", nullptr));
- plusButton->setText(QApplication::translate("Calculator", "+", nullptr));
- divisionButton->setText(QApplication::translate("Calculator", "/", nullptr));
- timesButton->setText(QApplication::translate("Calculator", "*", nullptr));
- minusButton->setText(QApplication::translate("Calculator", "-", nullptr));
- squareRootButton->setText(QApplication::translate("Calculator", "Sqrt", nullptr));
- powerButton->setText(QApplication::translate("Calculator", "x^2", nullptr));
- reciprocalButton->setText(QApplication::translate("Calculator", "1/x", nullptr));
- equalButton->setText(QApplication::translate("Calculator", "=", nullptr));
+ Calculator->setWindowTitle(QCoreApplication::translate("Calculator", "Calculator", nullptr));
+ backspaceButton->setText(QCoreApplication::translate("Calculator", "Backspace", nullptr));
+ clearButton->setText(QCoreApplication::translate("Calculator", "Clear", nullptr));
+ clearAllButton->setText(QCoreApplication::translate("Calculator", "Clear All", nullptr));
+ clearMemoryButton->setText(QCoreApplication::translate("Calculator", "MC", nullptr));
+ readMemoryButton->setText(QCoreApplication::translate("Calculator", "MR", nullptr));
+ setMemoryButton->setText(QCoreApplication::translate("Calculator", "MS", nullptr));
+ addToMemoryButton->setText(QCoreApplication::translate("Calculator", "M+", nullptr));
+ sevenButton->setText(QCoreApplication::translate("Calculator", "7", nullptr));
+ eightButton->setText(QCoreApplication::translate("Calculator", "8", nullptr));
+ nineButton->setText(QCoreApplication::translate("Calculator", "9", nullptr));
+ fourButton->setText(QCoreApplication::translate("Calculator", "4", nullptr));
+ fiveButton->setText(QCoreApplication::translate("Calculator", "5", nullptr));
+ sixButton->setText(QCoreApplication::translate("Calculator", "6", nullptr));
+ oneButton->setText(QCoreApplication::translate("Calculator", "1", nullptr));
+ twoButton->setText(QCoreApplication::translate("Calculator", "2", nullptr));
+ threeButton->setText(QCoreApplication::translate("Calculator", "3", nullptr));
+ zeroButton->setText(QCoreApplication::translate("Calculator", "0", nullptr));
+ pointButton->setText(QCoreApplication::translate("Calculator", ".", nullptr));
+ changeSignButton->setText(QCoreApplication::translate("Calculator", "+-", nullptr));
+ plusButton->setText(QCoreApplication::translate("Calculator", "+", nullptr));
+ divisionButton->setText(QCoreApplication::translate("Calculator", "/", nullptr));
+ timesButton->setText(QCoreApplication::translate("Calculator", "*", nullptr));
+ minusButton->setText(QCoreApplication::translate("Calculator", "-", nullptr));
+ squareRootButton->setText(QCoreApplication::translate("Calculator", "Sqrt", nullptr));
+ powerButton->setText(QCoreApplication::translate("Calculator", "x^2", nullptr));
+ reciprocalButton->setText(QCoreApplication::translate("Calculator", "1/x", nullptr));
+ equalButton->setText(QCoreApplication::translate("Calculator", "=", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/calculatorform.ui.h b/tests/auto/tools/uic/baseline/calculatorform.ui.h
index f4661c6237..ab55c8ad97 100644
--- a/tests/auto/tools/uic/baseline/calculatorform.ui.h
+++ b/tests/auto/tools/uic/baseline/calculatorform.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'calculatorform.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -45,7 +45,7 @@ public:
if (CalculatorForm->objectName().isEmpty())
CalculatorForm->setObjectName(QString::fromUtf8("CalculatorForm"));
CalculatorForm->resize(276, 98);
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(5));
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(CalculatorForm->sizePolicy().hasHeightForWidth());
@@ -170,13 +170,13 @@ public:
void retranslateUi(QWidget *CalculatorForm)
{
- CalculatorForm->setWindowTitle(QApplication::translate("CalculatorForm", "Calculator Builder", nullptr));
- label->setText(QApplication::translate("CalculatorForm", "Input 1", nullptr));
- label_3->setText(QApplication::translate("CalculatorForm", "+", nullptr));
- label_2->setText(QApplication::translate("CalculatorForm", "Input 2", nullptr));
- label_3_2->setText(QApplication::translate("CalculatorForm", "=", nullptr));
- label_2_2_2->setText(QApplication::translate("CalculatorForm", "Output", nullptr));
- outputWidget->setText(QApplication::translate("CalculatorForm", "0", nullptr));
+ CalculatorForm->setWindowTitle(QCoreApplication::translate("CalculatorForm", "Calculator Builder", nullptr));
+ label->setText(QCoreApplication::translate("CalculatorForm", "Input 1", nullptr));
+ label_3->setText(QCoreApplication::translate("CalculatorForm", "+", nullptr));
+ label_2->setText(QCoreApplication::translate("CalculatorForm", "Input 2", nullptr));
+ label_3_2->setText(QCoreApplication::translate("CalculatorForm", "=", nullptr));
+ label_2_2_2->setText(QCoreApplication::translate("CalculatorForm", "Output", nullptr));
+ outputWidget->setText(QCoreApplication::translate("CalculatorForm", "0", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/certificateinfo.ui.h b/tests/auto/tools/uic/baseline/certificateinfo.ui.h
index 2aa47d40ad..4a70f86c3b 100644
--- a/tests/auto/tools/uic/baseline/certificateinfo.ui.h
+++ b/tests/auto/tools/uic/baseline/certificateinfo.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'certificateinfo.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -90,9 +90,9 @@ public:
void retranslateUi(QDialog *CertificateInfo)
{
- CertificateInfo->setWindowTitle(QApplication::translate("CertificateInfo", "Display Certificate Information", nullptr));
- groupBox->setTitle(QApplication::translate("CertificateInfo", "Certification Path", nullptr));
- groupBox_2->setTitle(QApplication::translate("CertificateInfo", "Certificate Information", nullptr));
+ CertificateInfo->setWindowTitle(QCoreApplication::translate("CertificateInfo", "Display Certificate Information", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("CertificateInfo", "Certification Path", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("CertificateInfo", "Certificate Information", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/chatdialog.ui.h b/tests/auto/tools/uic/baseline/chatdialog.ui.h
index ace6951669..2a1ba2e84c 100644
--- a/tests/auto/tools/uic/baseline/chatdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/chatdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'chatdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -97,8 +97,8 @@ public:
void retranslateUi(QDialog *ChatDialog)
{
- ChatDialog->setWindowTitle(QApplication::translate("ChatDialog", "Chat", nullptr));
- label->setText(QApplication::translate("ChatDialog", "Message:", nullptr));
+ ChatDialog->setWindowTitle(QCoreApplication::translate("ChatDialog", "Chat", nullptr));
+ label->setText(QCoreApplication::translate("ChatDialog", "Message:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/chatmainwindow.ui.h b/tests/auto/tools/uic/baseline/chatmainwindow.ui.h
index 8d4ccd53ae..220d44300b 100644
--- a/tests/auto/tools/uic/baseline/chatmainwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/chatmainwindow.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'chatmainwindow.ui'
**
-** Created by: Qt User Interface Compiler version 5.9.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -99,7 +99,7 @@ public:
sendButton = new QPushButton(centralwidget);
sendButton->setObjectName(QString::fromUtf8("sendButton"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(1), static_cast<QSizePolicy::Policy>(0));
+ QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(sendButton->sizePolicy().hasHeightForWidth());
@@ -125,9 +125,9 @@ public:
statusbar = new QStatusBar(ChatMainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
ChatMainWindow->setStatusBar(statusbar);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(messageLineEdit);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(chatHistory, messageLineEdit);
QWidget::setTabOrder(messageLineEdit, sendButton);
@@ -147,29 +147,29 @@ public:
void retranslateUi(QMainWindow *ChatMainWindow)
{
- ChatMainWindow->setWindowTitle(QApplication::translate("ChatMainWindow", "Qt D-Bus Chat", nullptr));
- actionQuit->setText(QApplication::translate("ChatMainWindow", "Quit", nullptr));
-#ifndef QT_NO_SHORTCUT
- actionQuit->setShortcut(QApplication::translate("ChatMainWindow", "Ctrl+Q", nullptr));
-#endif // QT_NO_SHORTCUT
- actionAboutQt->setText(QApplication::translate("ChatMainWindow", "About Qt...", nullptr));
- actionChangeNickname->setText(QApplication::translate("ChatMainWindow", "Change nickname...", nullptr));
-#ifndef QT_NO_SHORTCUT
- actionChangeNickname->setShortcut(QApplication::translate("ChatMainWindow", "Ctrl+N", nullptr));
-#endif // QT_NO_SHORTCUT
-#ifndef QT_NO_TOOLTIP
- chatHistory->setToolTip(QApplication::translate("ChatMainWindow", "Messages sent and received from other users", nullptr));
-#endif // QT_NO_TOOLTIP
- label->setText(QApplication::translate("ChatMainWindow", "Message:", nullptr));
-#ifndef QT_NO_TOOLTIP
- sendButton->setToolTip(QApplication::translate("ChatMainWindow", "Sends a message to other people", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
+ ChatMainWindow->setWindowTitle(QCoreApplication::translate("ChatMainWindow", "Qt D-Bus Chat", nullptr));
+ actionQuit->setText(QCoreApplication::translate("ChatMainWindow", "Quit", nullptr));
+#if QT_CONFIG(shortcut)
+ actionQuit->setShortcut(QCoreApplication::translate("ChatMainWindow", "Ctrl+Q", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionAboutQt->setText(QCoreApplication::translate("ChatMainWindow", "About Qt...", nullptr));
+ actionChangeNickname->setText(QCoreApplication::translate("ChatMainWindow", "Change nickname...", nullptr));
+#if QT_CONFIG(shortcut)
+ actionChangeNickname->setShortcut(QCoreApplication::translate("ChatMainWindow", "Ctrl+N", nullptr));
+#endif // QT_CONFIG(shortcut)
+#if QT_CONFIG(tooltip)
+ chatHistory->setToolTip(QCoreApplication::translate("ChatMainWindow", "Messages sent and received from other users", nullptr));
+#endif // QT_CONFIG(tooltip)
+ label->setText(QCoreApplication::translate("ChatMainWindow", "Message:", nullptr));
+#if QT_CONFIG(tooltip)
+ sendButton->setToolTip(QCoreApplication::translate("ChatMainWindow", "Sends a message to other people", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
sendButton->setWhatsThis(QString());
-#endif // QT_NO_WHATSTHIS
- sendButton->setText(QApplication::translate("ChatMainWindow", "Send", nullptr));
- menuQuit->setTitle(QApplication::translate("ChatMainWindow", "Help", nullptr));
- menuFile->setTitle(QApplication::translate("ChatMainWindow", "File", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ sendButton->setText(QCoreApplication::translate("ChatMainWindow", "Send", nullptr));
+ menuQuit->setTitle(QCoreApplication::translate("ChatMainWindow", "Help", nullptr));
+ menuFile->setTitle(QCoreApplication::translate("ChatMainWindow", "File", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/chatsetnickname.ui.h b/tests/auto/tools/uic/baseline/chatsetnickname.ui.h
index c73dfb2c6e..0e93828c90 100644
--- a/tests/auto/tools/uic/baseline/chatsetnickname.ui.h
+++ b/tests/auto/tools/uic/baseline/chatsetnickname.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'chatsetnickname.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -39,7 +39,7 @@ public:
if (NicknameDialog->objectName().isEmpty())
NicknameDialog->setObjectName(QString::fromUtf8("NicknameDialog"));
NicknameDialog->resize(396, 105);
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(1), static_cast<QSizePolicy::Policy>(1));
+ QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(NicknameDialog->sizePolicy().hasHeightForWidth());
@@ -112,10 +112,10 @@ public:
void retranslateUi(QDialog *NicknameDialog)
{
- NicknameDialog->setWindowTitle(QApplication::translate("NicknameDialog", "Set nickname", nullptr));
- label->setText(QApplication::translate("NicknameDialog", "New nickname:", nullptr));
- okButton->setText(QApplication::translate("NicknameDialog", "OK", nullptr));
- cancelButton->setText(QApplication::translate("NicknameDialog", "Cancel", nullptr));
+ NicknameDialog->setWindowTitle(QCoreApplication::translate("NicknameDialog", "Set nickname", nullptr));
+ label->setText(QCoreApplication::translate("NicknameDialog", "New nickname:", nullptr));
+ okButton->setText(QCoreApplication::translate("NicknameDialog", "OK", nullptr));
+ cancelButton->setText(QCoreApplication::translate("NicknameDialog", "Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/config.ui.h b/tests/auto/tools/uic/baseline/config.ui.h
index 8287e0b1ac..153718aca1 100644
--- a/tests/auto/tools/uic/baseline/config.ui.h
+++ b/tests/auto/tools/uic/baseline/config.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'config.ui'
**
-** Created by: Qt User Interface Compiler version 5.10.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -706,44 +706,44 @@ public:
void retranslateUi(QDialog *Config)
{
- Config->setWindowTitle(QApplication::translate("Config", "Configure", nullptr));
- ButtonGroup1->setTitle(QApplication::translate("Config", "Size", nullptr));
- size_176_220->setText(QApplication::translate("Config", "176x220 \"SmartPhone\"", nullptr));
- size_240_320->setText(QApplication::translate("Config", "240x320 \"PDA\"", nullptr));
- size_320_240->setText(QApplication::translate("Config", "320x240 \"TV\" / \"QVGA\"", nullptr));
- size_640_480->setText(QApplication::translate("Config", "640x480 \"VGA\"", nullptr));
- size_800_600->setText(QApplication::translate("Config", "800x600", nullptr));
- size_1024_768->setText(QApplication::translate("Config", "1024x768", nullptr));
- size_custom->setText(QApplication::translate("Config", "Custom", nullptr));
- ButtonGroup2->setTitle(QApplication::translate("Config", "Depth", nullptr));
- depth_1->setText(QApplication::translate("Config", "1 bit monochrome", nullptr));
- depth_4gray->setText(QApplication::translate("Config", "4 bit grayscale", nullptr));
- depth_8->setText(QApplication::translate("Config", "8 bit", nullptr));
- depth_12->setText(QApplication::translate("Config", "12 (16) bit", nullptr));
- depth_15->setText(QApplication::translate("Config", "15 bit", nullptr));
- depth_16->setText(QApplication::translate("Config", "16 bit", nullptr));
- depth_18->setText(QApplication::translate("Config", "18 bit", nullptr));
- depth_24->setText(QApplication::translate("Config", "24 bit", nullptr));
- depth_32->setText(QApplication::translate("Config", "32 bit", nullptr));
- depth_32_argb->setText(QApplication::translate("Config", "32 bit ARGB", nullptr));
- TextLabel1_3->setText(QApplication::translate("Config", "Skin", nullptr));
- skin->setItemText(0, QApplication::translate("Config", "None", nullptr));
-
- touchScreen->setText(QApplication::translate("Config", "Emulate touch screen (no mouse move)", nullptr));
- lcdScreen->setText(QApplication::translate("Config", "Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)", nullptr));
- TextLabel1->setText(QApplication::translate("Config", "<p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>.", nullptr));
- GroupBox1->setTitle(QApplication::translate("Config", "Gamma", nullptr));
- TextLabel3->setText(QApplication::translate("Config", "Blue", nullptr));
- blabel->setText(QApplication::translate("Config", "1.0", nullptr));
- TextLabel2->setText(QApplication::translate("Config", "Green", nullptr));
- glabel->setText(QApplication::translate("Config", "1.0", nullptr));
- TextLabel7->setText(QApplication::translate("Config", "All", nullptr));
- TextLabel8->setText(QApplication::translate("Config", "1.0", nullptr));
- TextLabel1_2->setText(QApplication::translate("Config", "Red", nullptr));
- rlabel->setText(QApplication::translate("Config", "1.0", nullptr));
- PushButton3->setText(QApplication::translate("Config", "Set all to 1.0", nullptr));
- buttonOk->setText(QApplication::translate("Config", "&OK", nullptr));
- buttonCancel->setText(QApplication::translate("Config", "&Cancel", nullptr));
+ Config->setWindowTitle(QCoreApplication::translate("Config", "Configure", nullptr));
+ ButtonGroup1->setTitle(QCoreApplication::translate("Config", "Size", nullptr));
+ size_176_220->setText(QCoreApplication::translate("Config", "176x220 \"SmartPhone\"", nullptr));
+ size_240_320->setText(QCoreApplication::translate("Config", "240x320 \"PDA\"", nullptr));
+ size_320_240->setText(QCoreApplication::translate("Config", "320x240 \"TV\" / \"QVGA\"", nullptr));
+ size_640_480->setText(QCoreApplication::translate("Config", "640x480 \"VGA\"", nullptr));
+ size_800_600->setText(QCoreApplication::translate("Config", "800x600", nullptr));
+ size_1024_768->setText(QCoreApplication::translate("Config", "1024x768", nullptr));
+ size_custom->setText(QCoreApplication::translate("Config", "Custom", nullptr));
+ ButtonGroup2->setTitle(QCoreApplication::translate("Config", "Depth", nullptr));
+ depth_1->setText(QCoreApplication::translate("Config", "1 bit monochrome", nullptr));
+ depth_4gray->setText(QCoreApplication::translate("Config", "4 bit grayscale", nullptr));
+ depth_8->setText(QCoreApplication::translate("Config", "8 bit", nullptr));
+ depth_12->setText(QCoreApplication::translate("Config", "12 (16) bit", nullptr));
+ depth_15->setText(QCoreApplication::translate("Config", "15 bit", nullptr));
+ depth_16->setText(QCoreApplication::translate("Config", "16 bit", nullptr));
+ depth_18->setText(QCoreApplication::translate("Config", "18 bit", nullptr));
+ depth_24->setText(QCoreApplication::translate("Config", "24 bit", nullptr));
+ depth_32->setText(QCoreApplication::translate("Config", "32 bit", nullptr));
+ depth_32_argb->setText(QCoreApplication::translate("Config", "32 bit ARGB", nullptr));
+ TextLabel1_3->setText(QCoreApplication::translate("Config", "Skin", nullptr));
+ skin->setItemText(0, QCoreApplication::translate("Config", "None", nullptr));
+
+ touchScreen->setText(QCoreApplication::translate("Config", "Emulate touch screen (no mouse move)", nullptr));
+ lcdScreen->setText(QCoreApplication::translate("Config", "Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)", nullptr));
+ TextLabel1->setText(QCoreApplication::translate("Config", "<p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>.", nullptr));
+ GroupBox1->setTitle(QCoreApplication::translate("Config", "Gamma", nullptr));
+ TextLabel3->setText(QCoreApplication::translate("Config", "Blue", nullptr));
+ blabel->setText(QCoreApplication::translate("Config", "1.0", nullptr));
+ TextLabel2->setText(QCoreApplication::translate("Config", "Green", nullptr));
+ glabel->setText(QCoreApplication::translate("Config", "1.0", nullptr));
+ TextLabel7->setText(QCoreApplication::translate("Config", "All", nullptr));
+ TextLabel8->setText(QCoreApplication::translate("Config", "1.0", nullptr));
+ TextLabel1_2->setText(QCoreApplication::translate("Config", "Red", nullptr));
+ rlabel->setText(QCoreApplication::translate("Config", "1.0", nullptr));
+ PushButton3->setText(QCoreApplication::translate("Config", "Set all to 1.0", nullptr));
+ buttonOk->setText(QCoreApplication::translate("Config", "&OK", nullptr));
+ buttonCancel->setText(QCoreApplication::translate("Config", "&Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/connectdialog.ui.h b/tests/auto/tools/uic/baseline/connectdialog.ui.h
index a470a6705d..1e91b498f4 100644
--- a/tests/auto/tools/uic/baseline/connectdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/connectdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'connectdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -126,12 +126,12 @@ public:
void retranslateUi(QDialog *ConnectDialog)
{
- ConnectDialog->setWindowTitle(QApplication::translate("ConnectDialog", "Configure Connection", nullptr));
- signalGroupBox->setTitle(QApplication::translate("ConnectDialog", "GroupBox", nullptr));
- editSignalsButton->setText(QApplication::translate("ConnectDialog", "Edit...", nullptr));
- slotGroupBox->setTitle(QApplication::translate("ConnectDialog", "GroupBox", nullptr));
- editSlotsButton->setText(QApplication::translate("ConnectDialog", "Edit...", nullptr));
- showAllCheckBox->setText(QApplication::translate("ConnectDialog", "Show signals and slots inherited from QWidget", nullptr));
+ ConnectDialog->setWindowTitle(QCoreApplication::translate("ConnectDialog", "Configure Connection", nullptr));
+ signalGroupBox->setTitle(QCoreApplication::translate("ConnectDialog", "GroupBox", nullptr));
+ editSignalsButton->setText(QCoreApplication::translate("ConnectDialog", "Edit...", nullptr));
+ slotGroupBox->setTitle(QCoreApplication::translate("ConnectDialog", "GroupBox", nullptr));
+ editSlotsButton->setText(QCoreApplication::translate("ConnectDialog", "Edit...", nullptr));
+ showAllCheckBox->setText(QCoreApplication::translate("ConnectDialog", "Show signals and slots inherited from QWidget", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/controller.ui.h b/tests/auto/tools/uic/baseline/controller.ui.h
index 72b0956472..3ebfad187f 100644
--- a/tests/auto/tools/uic/baseline/controller.ui.h
+++ b/tests/auto/tools/uic/baseline/controller.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'controller.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -75,12 +75,12 @@ public:
void retranslateUi(QWidget *Controller)
{
- Controller->setWindowTitle(QApplication::translate("Controller", "Controller", nullptr));
- label->setText(QApplication::translate("Controller", "Controller", nullptr));
- decelerate->setText(QApplication::translate("Controller", "Decelerate", nullptr));
- accelerate->setText(QApplication::translate("Controller", "Accelerate", nullptr));
- right->setText(QApplication::translate("Controller", "Right", nullptr));
- left->setText(QApplication::translate("Controller", "Left", nullptr));
+ Controller->setWindowTitle(QCoreApplication::translate("Controller", "Controller", nullptr));
+ label->setText(QCoreApplication::translate("Controller", "Controller", nullptr));
+ decelerate->setText(QCoreApplication::translate("Controller", "Decelerate", nullptr));
+ accelerate->setText(QCoreApplication::translate("Controller", "Accelerate", nullptr));
+ right->setText(QCoreApplication::translate("Controller", "Right", nullptr));
+ left->setText(QCoreApplication::translate("Controller", "Left", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/cookies.ui.h b/tests/auto/tools/uic/baseline/cookies.ui.h
index 144c306874..2cc21888b1 100644
--- a/tests/auto/tools/uic/baseline/cookies.ui.h
+++ b/tests/auto/tools/uic/baseline/cookies.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'cookies.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -91,9 +91,9 @@ public:
void retranslateUi(QDialog *CookiesDialog)
{
- CookiesDialog->setWindowTitle(QApplication::translate("CookiesDialog", "Cookies", nullptr));
- removeButton->setText(QApplication::translate("CookiesDialog", "&Remove", nullptr));
- removeAllButton->setText(QApplication::translate("CookiesDialog", "Remove &All Cookies", nullptr));
+ CookiesDialog->setWindowTitle(QCoreApplication::translate("CookiesDialog", "Cookies", nullptr));
+ removeButton->setText(QCoreApplication::translate("CookiesDialog", "&Remove", nullptr));
+ removeAllButton->setText(QCoreApplication::translate("CookiesDialog", "Remove &All Cookies", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h b/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h
index a3bf7a449e..77212cf2f3 100644
--- a/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h
+++ b/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'cookiesexceptions.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -158,15 +158,15 @@ public:
void retranslateUi(QDialog *CookiesExceptionsDialog)
{
- CookiesExceptionsDialog->setWindowTitle(QApplication::translate("CookiesExceptionsDialog", "Cookie Exceptions", nullptr));
- newExceptionGroupBox->setTitle(QApplication::translate("CookiesExceptionsDialog", "New Exception", nullptr));
- label->setText(QApplication::translate("CookiesExceptionsDialog", "Domain:", nullptr));
- blockButton->setText(QApplication::translate("CookiesExceptionsDialog", "Block", nullptr));
- allowForSessionButton->setText(QApplication::translate("CookiesExceptionsDialog", "Allow For Session", nullptr));
- allowButton->setText(QApplication::translate("CookiesExceptionsDialog", "Allow", nullptr));
- ExceptionsGroupBox->setTitle(QApplication::translate("CookiesExceptionsDialog", "Exceptions", nullptr));
- removeButton->setText(QApplication::translate("CookiesExceptionsDialog", "&Remove", nullptr));
- removeAllButton->setText(QApplication::translate("CookiesExceptionsDialog", "Remove &All", nullptr));
+ CookiesExceptionsDialog->setWindowTitle(QCoreApplication::translate("CookiesExceptionsDialog", "Cookie Exceptions", nullptr));
+ newExceptionGroupBox->setTitle(QCoreApplication::translate("CookiesExceptionsDialog", "New Exception", nullptr));
+ label->setText(QCoreApplication::translate("CookiesExceptionsDialog", "Domain:", nullptr));
+ blockButton->setText(QCoreApplication::translate("CookiesExceptionsDialog", "Block", nullptr));
+ allowForSessionButton->setText(QCoreApplication::translate("CookiesExceptionsDialog", "Allow For Session", nullptr));
+ allowButton->setText(QCoreApplication::translate("CookiesExceptionsDialog", "Allow", nullptr));
+ ExceptionsGroupBox->setTitle(QCoreApplication::translate("CookiesExceptionsDialog", "Exceptions", nullptr));
+ removeButton->setText(QCoreApplication::translate("CookiesExceptionsDialog", "&Remove", nullptr));
+ removeAllButton->setText(QCoreApplication::translate("CookiesExceptionsDialog", "Remove &All", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/default.ui.h b/tests/auto/tools/uic/baseline/default.ui.h
index fafff9d728..fbbe81d0b8 100644
--- a/tests/auto/tools/uic/baseline/default.ui.h
+++ b/tests/auto/tools/uic/baseline/default.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'default.ui'
**
-** Created by: Qt User Interface Compiler version 5.10.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -192,13 +192,13 @@ public:
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
nameLabel->setBuddy(nameCombo);
ageLabel->setBuddy(ageSpinBox);
passwordLabel->setBuddy(passwordEdit);
label->setBuddy(professionList);
countryLabel->setBuddy(professionList);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(maleRadioButton, femaleRadioButton);
QWidget::setTabOrder(femaleRadioButton, ageSpinBox);
QWidget::setTabOrder(ageSpinBox, passwordEdit);
@@ -226,84 +226,84 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", nullptr));
- exitAction->setText(QApplication::translate("MainWindow", "&Exit", nullptr));
- aboutQtAction->setText(QApplication::translate("MainWindow", "About Qt", nullptr));
- editStyleAction->setText(QApplication::translate("MainWindow", "Edit &Style", nullptr));
- aboutAction->setText(QApplication::translate("MainWindow", "About", nullptr));
- nameLabel->setText(QApplication::translate("MainWindow", "&Name:", nullptr));
- nameCombo->setItemText(0, QApplication::translate("MainWindow", "Girish", nullptr));
- nameCombo->setItemText(1, QApplication::translate("MainWindow", "Jasmin", nullptr));
- nameCombo->setItemText(2, QApplication::translate("MainWindow", "Simon", nullptr));
- nameCombo->setItemText(3, QApplication::translate("MainWindow", "Zack", nullptr));
-
-#ifndef QT_NO_TOOLTIP
- nameCombo->setToolTip(QApplication::translate("MainWindow", "Specify your name", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- femaleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are female", nullptr));
-#endif // QT_NO_TOOLTIP
- femaleRadioButton->setText(QApplication::translate("MainWindow", "&Female", nullptr));
-#ifndef QT_NO_TOOLTIP
- agreeCheckBox->setToolTip(QApplication::translate("MainWindow", "Please read the license before checking this", nullptr));
-#endif // QT_NO_TOOLTIP
- agreeCheckBox->setText(QApplication::translate("MainWindow", "I &accept the terms and conditions", nullptr));
-#ifndef QT_NO_TOOLTIP
- maleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are male", nullptr));
-#endif // QT_NO_TOOLTIP
- maleRadioButton->setText(QApplication::translate("MainWindow", "&Male", nullptr));
- genderLabel->setText(QApplication::translate("MainWindow", "Gender:", nullptr));
-#ifndef QT_NO_TOOLTIP
- ageSpinBox->setToolTip(QApplication::translate("MainWindow", "Specify your age", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- ageSpinBox->setStatusTip(QApplication::translate("MainWindow", "Specify your age here", nullptr));
-#endif // QT_NO_STATUSTIP
- ageLabel->setText(QApplication::translate("MainWindow", "&Age:", nullptr));
- passwordLabel->setText(QApplication::translate("MainWindow", "&Password:", nullptr));
-#ifndef QT_NO_TOOLTIP
- passwordEdit->setToolTip(QApplication::translate("MainWindow", "Specify your password", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- passwordEdit->setStatusTip(QApplication::translate("MainWindow", "Specify your password here", nullptr));
-#endif // QT_NO_STATUSTIP
- passwordEdit->setText(QApplication::translate("MainWindow", "Password", nullptr));
- label->setText(QApplication::translate("MainWindow", "Profession", nullptr));
- countryLabel->setText(QApplication::translate("MainWindow", "&Country", nullptr));
+ MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
+ exitAction->setText(QCoreApplication::translate("MainWindow", "&Exit", nullptr));
+ aboutQtAction->setText(QCoreApplication::translate("MainWindow", "About Qt", nullptr));
+ editStyleAction->setText(QCoreApplication::translate("MainWindow", "Edit &Style", nullptr));
+ aboutAction->setText(QCoreApplication::translate("MainWindow", "About", nullptr));
+ nameLabel->setText(QCoreApplication::translate("MainWindow", "&Name:", nullptr));
+ nameCombo->setItemText(0, QCoreApplication::translate("MainWindow", "Girish", nullptr));
+ nameCombo->setItemText(1, QCoreApplication::translate("MainWindow", "Jasmin", nullptr));
+ nameCombo->setItemText(2, QCoreApplication::translate("MainWindow", "Simon", nullptr));
+ nameCombo->setItemText(3, QCoreApplication::translate("MainWindow", "Zack", nullptr));
+
+#if QT_CONFIG(tooltip)
+ nameCombo->setToolTip(QCoreApplication::translate("MainWindow", "Specify your name", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ femaleRadioButton->setToolTip(QCoreApplication::translate("MainWindow", "Check this if you are female", nullptr));
+#endif // QT_CONFIG(tooltip)
+ femaleRadioButton->setText(QCoreApplication::translate("MainWindow", "&Female", nullptr));
+#if QT_CONFIG(tooltip)
+ agreeCheckBox->setToolTip(QCoreApplication::translate("MainWindow", "Please read the license before checking this", nullptr));
+#endif // QT_CONFIG(tooltip)
+ agreeCheckBox->setText(QCoreApplication::translate("MainWindow", "I &accept the terms and conditions", nullptr));
+#if QT_CONFIG(tooltip)
+ maleRadioButton->setToolTip(QCoreApplication::translate("MainWindow", "Check this if you are male", nullptr));
+#endif // QT_CONFIG(tooltip)
+ maleRadioButton->setText(QCoreApplication::translate("MainWindow", "&Male", nullptr));
+ genderLabel->setText(QCoreApplication::translate("MainWindow", "Gender:", nullptr));
+#if QT_CONFIG(tooltip)
+ ageSpinBox->setToolTip(QCoreApplication::translate("MainWindow", "Specify your age", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ ageSpinBox->setStatusTip(QCoreApplication::translate("MainWindow", "Specify your age here", nullptr));
+#endif // QT_CONFIG(statustip)
+ ageLabel->setText(QCoreApplication::translate("MainWindow", "&Age:", nullptr));
+ passwordLabel->setText(QCoreApplication::translate("MainWindow", "&Password:", nullptr));
+#if QT_CONFIG(tooltip)
+ passwordEdit->setToolTip(QCoreApplication::translate("MainWindow", "Specify your password", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ passwordEdit->setStatusTip(QCoreApplication::translate("MainWindow", "Specify your password here", nullptr));
+#endif // QT_CONFIG(statustip)
+ passwordEdit->setText(QCoreApplication::translate("MainWindow", "Password", nullptr));
+ label->setText(QCoreApplication::translate("MainWindow", "Profession", nullptr));
+ countryLabel->setText(QCoreApplication::translate("MainWindow", "&Country", nullptr));
const bool __sortingEnabled = professionList->isSortingEnabled();
professionList->setSortingEnabled(false);
QListWidgetItem *___qlistwidgetitem = professionList->item(0);
- ___qlistwidgetitem->setText(QApplication::translate("MainWindow", "Developer", nullptr));
+ ___qlistwidgetitem->setText(QCoreApplication::translate("MainWindow", "Developer", nullptr));
QListWidgetItem *___qlistwidgetitem1 = professionList->item(1);
- ___qlistwidgetitem1->setText(QApplication::translate("MainWindow", "Student", nullptr));
+ ___qlistwidgetitem1->setText(QCoreApplication::translate("MainWindow", "Student", nullptr));
QListWidgetItem *___qlistwidgetitem2 = professionList->item(2);
- ___qlistwidgetitem2->setText(QApplication::translate("MainWindow", "Fisherman", nullptr));
+ ___qlistwidgetitem2->setText(QCoreApplication::translate("MainWindow", "Fisherman", nullptr));
professionList->setSortingEnabled(__sortingEnabled);
-#ifndef QT_NO_TOOLTIP
- professionList->setToolTip(QApplication::translate("MainWindow", "Select your profession", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- professionList->setStatusTip(QApplication::translate("MainWindow", "Select your profession", nullptr));
-#endif // QT_NO_STATUSTIP
-#ifndef QT_NO_WHATSTHIS
- professionList->setWhatsThis(QApplication::translate("MainWindow", "Select your profession", nullptr));
-#endif // QT_NO_WHATSTHIS
- countryCombo->setItemText(0, QApplication::translate("MainWindow", "Germany", nullptr));
- countryCombo->setItemText(1, QApplication::translate("MainWindow", "India", nullptr));
- countryCombo->setItemText(2, QApplication::translate("MainWindow", "Norway", nullptr));
- countryCombo->setItemText(3, QApplication::translate("MainWindow", "United States Of America", nullptr));
- countryCombo->setItemText(4, QApplication::translate("MainWindow", "United Kingdom", nullptr));
-
-#ifndef QT_NO_TOOLTIP
- countryCombo->setToolTip(QApplication::translate("MainWindow", "Specify your country", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- countryCombo->setStatusTip(QApplication::translate("MainWindow", "Specify your country here", nullptr));
-#endif // QT_NO_STATUSTIP
- menu_File->setTitle(QApplication::translate("MainWindow", "&File", nullptr));
- menu_Help->setTitle(QApplication::translate("MainWindow", "&Help", nullptr));
+#if QT_CONFIG(tooltip)
+ professionList->setToolTip(QCoreApplication::translate("MainWindow", "Select your profession", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ professionList->setStatusTip(QCoreApplication::translate("MainWindow", "Select your profession", nullptr));
+#endif // QT_CONFIG(statustip)
+#if QT_CONFIG(whatsthis)
+ professionList->setWhatsThis(QCoreApplication::translate("MainWindow", "Select your profession", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ countryCombo->setItemText(0, QCoreApplication::translate("MainWindow", "Germany", nullptr));
+ countryCombo->setItemText(1, QCoreApplication::translate("MainWindow", "India", nullptr));
+ countryCombo->setItemText(2, QCoreApplication::translate("MainWindow", "Norway", nullptr));
+ countryCombo->setItemText(3, QCoreApplication::translate("MainWindow", "United States Of America", nullptr));
+ countryCombo->setItemText(4, QCoreApplication::translate("MainWindow", "United Kingdom", nullptr));
+
+#if QT_CONFIG(tooltip)
+ countryCombo->setToolTip(QCoreApplication::translate("MainWindow", "Specify your country", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ countryCombo->setStatusTip(QCoreApplication::translate("MainWindow", "Specify your country here", nullptr));
+#endif // QT_CONFIG(statustip)
+ menu_File->setTitle(QCoreApplication::translate("MainWindow", "&File", nullptr));
+ menu_Help->setTitle(QCoreApplication::translate("MainWindow", "&Help", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/dialog.ui.h b/tests/auto/tools/uic/baseline/dialog.ui.h
index 2a159312b9..aeed71d058 100644
--- a/tests/auto/tools/uic/baseline/dialog.ui.h
+++ b/tests/auto/tools/uic/baseline/dialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'dialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -58,10 +58,10 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", nullptr));
- loadFromFileButton->setText(QApplication::translate("Dialog", "Load Image From File...", nullptr));
- label->setText(QApplication::translate("Dialog", "Launch two of these dialogs. In the first, press the top button and load an image from a file. In the second, press the bottom button and display the loaded image from shared memory.", nullptr));
- loadFromSharedMemoryButton->setText(QApplication::translate("Dialog", "Display Image From Shared Memory", nullptr));
+ Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Dialog", nullptr));
+ loadFromFileButton->setText(QCoreApplication::translate("Dialog", "Load Image From File...", nullptr));
+ label->setText(QCoreApplication::translate("Dialog", "Launch two of these dialogs. In the first, press the top button and load an image from a file. In the second, press the bottom button and display the loaded image from shared memory.", nullptr));
+ loadFromSharedMemoryButton->setText(QCoreApplication::translate("Dialog", "Display Image From Shared Memory", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/downloaditem.ui.h b/tests/auto/tools/uic/baseline/downloaditem.ui.h
index f0e8e88307..31d938f0eb 100644
--- a/tests/auto/tools/uic/baseline/downloaditem.ui.h
+++ b/tests/auto/tools/uic/baseline/downloaditem.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'downloaditem.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -124,13 +124,13 @@ public:
void retranslateUi(QWidget *DownloadItem)
{
- DownloadItem->setWindowTitle(QApplication::translate("DownloadItem", "Form", nullptr));
- fileIcon->setText(QApplication::translate("DownloadItem", "Ico", nullptr));
- fileNameLabel->setProperty("text", QVariant(QApplication::translate("DownloadItem", "Filename", nullptr)));
+ DownloadItem->setWindowTitle(QCoreApplication::translate("DownloadItem", "Form", nullptr));
+ fileIcon->setText(QCoreApplication::translate("DownloadItem", "Ico", nullptr));
+ fileNameLabel->setProperty("text", QVariant(QCoreApplication::translate("DownloadItem", "Filename", nullptr)));
downloadInfoLabel->setProperty("text", QVariant(QString()));
- tryAgainButton->setText(QApplication::translate("DownloadItem", "Try Again", nullptr));
- stopButton->setText(QApplication::translate("DownloadItem", "Stop", nullptr));
- openButton->setText(QApplication::translate("DownloadItem", "Open", nullptr));
+ tryAgainButton->setText(QCoreApplication::translate("DownloadItem", "Try Again", nullptr));
+ stopButton->setText(QCoreApplication::translate("DownloadItem", "Stop", nullptr));
+ openButton->setText(QCoreApplication::translate("DownloadItem", "Open", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/downloads.ui.h b/tests/auto/tools/uic/baseline/downloads.ui.h
index 1df992d30f..1b5b825792 100644
--- a/tests/auto/tools/uic/baseline/downloads.ui.h
+++ b/tests/auto/tools/uic/baseline/downloads.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'downloads.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -79,9 +79,9 @@ public:
void retranslateUi(QDialog *DownloadDialog)
{
- DownloadDialog->setWindowTitle(QApplication::translate("DownloadDialog", "Downloads", nullptr));
- cleanupButton->setText(QApplication::translate("DownloadDialog", "Clean up", nullptr));
- itemCount->setText(QApplication::translate("DownloadDialog", "0 Items", nullptr));
+ DownloadDialog->setWindowTitle(QCoreApplication::translate("DownloadDialog", "Downloads", nullptr));
+ cleanupButton->setText(QCoreApplication::translate("DownloadDialog", "Clean up", nullptr));
+ itemCount->setText(QCoreApplication::translate("DownloadDialog", "0 Items", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/embeddeddialog.ui.h b/tests/auto/tools/uic/baseline/embeddeddialog.ui.h
index 194ff578e8..20d6567576 100644
--- a/tests/auto/tools/uic/baseline/embeddeddialog.ui.h
+++ b/tests/auto/tools/uic/baseline/embeddeddialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'embeddeddialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.10.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -83,12 +83,12 @@ public:
formLayout->setWidget(3, QFormLayout::FieldRole, spacing);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(layoutDirection);
label_2->setBuddy(fontComboBox);
label_3->setBuddy(style);
label_4->setBuddy(spacing);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(embeddedDialog);
@@ -97,14 +97,14 @@ public:
void retranslateUi(QDialog *embeddedDialog)
{
- embeddedDialog->setWindowTitle(QApplication::translate("embeddedDialog", "Embedded Dialog", nullptr));
- label->setText(QApplication::translate("embeddedDialog", "Layout Direction:", nullptr));
- layoutDirection->setItemText(0, QApplication::translate("embeddedDialog", "Left to Right", nullptr));
- layoutDirection->setItemText(1, QApplication::translate("embeddedDialog", "Right to Left", nullptr));
-
- label_2->setText(QApplication::translate("embeddedDialog", "Select Font:", nullptr));
- label_3->setText(QApplication::translate("embeddedDialog", "Style:", nullptr));
- label_4->setText(QApplication::translate("embeddedDialog", "Layout spacing:", nullptr));
+ embeddedDialog->setWindowTitle(QCoreApplication::translate("embeddedDialog", "Embedded Dialog", nullptr));
+ label->setText(QCoreApplication::translate("embeddedDialog", "Layout Direction:", nullptr));
+ layoutDirection->setItemText(0, QCoreApplication::translate("embeddedDialog", "Left to Right", nullptr));
+ layoutDirection->setItemText(1, QCoreApplication::translate("embeddedDialog", "Right to Left", nullptr));
+
+ label_2->setText(QCoreApplication::translate("embeddedDialog", "Select Font:", nullptr));
+ label_3->setText(QCoreApplication::translate("embeddedDialog", "Style:", nullptr));
+ label_4->setText(QCoreApplication::translate("embeddedDialog", "Layout spacing:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/enumnostdset.ui.h b/tests/auto/tools/uic/baseline/enumnostdset.ui.h
index 233fc616ac..54ec7c4161 100644
--- a/tests/auto/tools/uic/baseline/enumnostdset.ui.h
+++ b/tests/auto/tools/uic/baseline/enumnostdset.ui.h
@@ -38,7 +38,7 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", nullptr));
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Form", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/filespage.ui.h b/tests/auto/tools/uic/baseline/filespage.ui.h
index 29ed981a8a..327b2c571b 100644
--- a/tests/auto/tools/uic/baseline/filespage.ui.h
+++ b/tests/auto/tools/uic/baseline/filespage.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'filespage.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -80,10 +80,10 @@ public:
void retranslateUi(QWidget *FilesPage)
{
- FilesPage->setWindowTitle(QApplication::translate("FilesPage", "Form", nullptr));
- fileLabel->setText(QApplication::translate("FilesPage", "Files:", nullptr));
- removeButton->setText(QApplication::translate("FilesPage", "Remove", nullptr));
- removeAllButton->setText(QApplication::translate("FilesPage", "Remove All", nullptr));
+ FilesPage->setWindowTitle(QCoreApplication::translate("FilesPage", "Form", nullptr));
+ fileLabel->setText(QCoreApplication::translate("FilesPage", "Files:", nullptr));
+ removeButton->setText(QCoreApplication::translate("FilesPage", "Remove", nullptr));
+ removeAllButton->setText(QCoreApplication::translate("FilesPage", "Remove All", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/filternamedialog.ui.h b/tests/auto/tools/uic/baseline/filternamedialog.ui.h
index 716c291fdd..0098282d59 100644
--- a/tests/auto/tools/uic/baseline/filternamedialog.ui.h
+++ b/tests/auto/tools/uic/baseline/filternamedialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'filternamedialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -76,8 +76,8 @@ public:
void retranslateUi(QDialog *FilterNameDialogClass)
{
- FilterNameDialogClass->setWindowTitle(QApplication::translate("FilterNameDialogClass", "FilterNameDialog", nullptr));
- label->setText(QApplication::translate("FilterNameDialogClass", "Filter Name:", nullptr));
+ FilterNameDialogClass->setWindowTitle(QCoreApplication::translate("FilterNameDialogClass", "FilterNameDialog", nullptr));
+ label->setText(QCoreApplication::translate("FilterNameDialogClass", "Filter Name:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/filterpage.ui.h b/tests/auto/tools/uic/baseline/filterpage.ui.h
index f6610fdc4d..1581c6554d 100644
--- a/tests/auto/tools/uic/baseline/filterpage.ui.h
+++ b/tests/auto/tools/uic/baseline/filterpage.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'filterpage.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -103,14 +103,14 @@ public:
void retranslateUi(QWidget *FilterPage)
{
- FilterPage->setWindowTitle(QApplication::translate("FilterPage", "Form", nullptr));
- label->setText(QApplication::translate("FilterPage", "Filter attributes for current documentation (comma separated list):", nullptr));
- groupBox->setTitle(QApplication::translate("FilterPage", "Custom Filters", nullptr));
+ FilterPage->setWindowTitle(QCoreApplication::translate("FilterPage", "Form", nullptr));
+ label->setText(QCoreApplication::translate("FilterPage", "Filter attributes for current documentation (comma separated list):", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("FilterPage", "Custom Filters", nullptr));
QTreeWidgetItem *___qtreewidgetitem = customFilterWidget->headerItem();
- ___qtreewidgetitem->setText(1, QApplication::translate("FilterPage", "2", nullptr));
- ___qtreewidgetitem->setText(0, QApplication::translate("FilterPage", "1", nullptr));
- addButton->setText(QApplication::translate("FilterPage", "Add", nullptr));
- removeButton->setText(QApplication::translate("FilterPage", "Remove", nullptr));
+ ___qtreewidgetitem->setText(1, QCoreApplication::translate("FilterPage", "2", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("FilterPage", "1", nullptr));
+ addButton->setText(QCoreApplication::translate("FilterPage", "Add", nullptr));
+ removeButton->setText(QCoreApplication::translate("FilterPage", "Remove", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/finddialog.ui.h b/tests/auto/tools/uic/baseline/finddialog.ui.h
index a427be3614..f335eee2e4 100644
--- a/tests/auto/tools/uic/baseline/finddialog.ui.h
+++ b/tests/auto/tools/uic/baseline/finddialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'finddialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -172,9 +172,9 @@ public:
hboxLayout->addLayout(vboxLayout1);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
findWhat->setBuddy(led);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(led, findNxt);
QWidget::setTabOrder(findNxt, cancel);
QWidget::setTabOrder(cancel, comments);
@@ -193,40 +193,40 @@ public:
void retranslateUi(QDialog *FindDialog)
{
- FindDialog->setWindowTitle(QApplication::translate("FindDialog", "Find", nullptr));
-#ifndef QT_NO_WHATSTHIS
- FindDialog->setWhatsThis(QApplication::translate("FindDialog", "This window allows you to search for some text in the translation source file.", nullptr));
-#endif // QT_NO_WHATSTHIS
- findWhat->setText(QApplication::translate("FindDialog", "&Find what:", nullptr));
-#ifndef QT_NO_WHATSTHIS
- led->setWhatsThis(QApplication::translate("FindDialog", "Type in the text to search for.", nullptr));
-#endif // QT_NO_WHATSTHIS
- groupBox->setTitle(QApplication::translate("FindDialog", "Options", nullptr));
-#ifndef QT_NO_WHATSTHIS
- sourceText->setWhatsThis(QApplication::translate("FindDialog", "Source texts are searched when checked.", nullptr));
-#endif // QT_NO_WHATSTHIS
- sourceText->setText(QApplication::translate("FindDialog", "&Source texts", nullptr));
-#ifndef QT_NO_WHATSTHIS
- translations->setWhatsThis(QApplication::translate("FindDialog", "Translations are searched when checked.", nullptr));
-#endif // QT_NO_WHATSTHIS
- translations->setText(QApplication::translate("FindDialog", "&Translations", nullptr));
-#ifndef QT_NO_WHATSTHIS
- matchCase->setWhatsThis(QApplication::translate("FindDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", nullptr));
-#endif // QT_NO_WHATSTHIS
- matchCase->setText(QApplication::translate("FindDialog", "&Match case", nullptr));
-#ifndef QT_NO_WHATSTHIS
- comments->setWhatsThis(QApplication::translate("FindDialog", "Comments and contexts are searched when checked.", nullptr));
-#endif // QT_NO_WHATSTHIS
- comments->setText(QApplication::translate("FindDialog", "&Comments", nullptr));
- ignoreAccelerators->setText(QApplication::translate("FindDialog", "Ignore &accelerators", nullptr));
-#ifndef QT_NO_WHATSTHIS
- findNxt->setWhatsThis(QApplication::translate("FindDialog", "Click here to find the next occurrence of the text you typed in.", nullptr));
-#endif // QT_NO_WHATSTHIS
- findNxt->setText(QApplication::translate("FindDialog", "Find Next", nullptr));
-#ifndef QT_NO_WHATSTHIS
- cancel->setWhatsThis(QApplication::translate("FindDialog", "Click here to close this window.", nullptr));
-#endif // QT_NO_WHATSTHIS
- cancel->setText(QApplication::translate("FindDialog", "Cancel", nullptr));
+ FindDialog->setWindowTitle(QCoreApplication::translate("FindDialog", "Find", nullptr));
+#if QT_CONFIG(whatsthis)
+ FindDialog->setWhatsThis(QCoreApplication::translate("FindDialog", "This window allows you to search for some text in the translation source file.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ findWhat->setText(QCoreApplication::translate("FindDialog", "&Find what:", nullptr));
+#if QT_CONFIG(whatsthis)
+ led->setWhatsThis(QCoreApplication::translate("FindDialog", "Type in the text to search for.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ groupBox->setTitle(QCoreApplication::translate("FindDialog", "Options", nullptr));
+#if QT_CONFIG(whatsthis)
+ sourceText->setWhatsThis(QCoreApplication::translate("FindDialog", "Source texts are searched when checked.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ sourceText->setText(QCoreApplication::translate("FindDialog", "&Source texts", nullptr));
+#if QT_CONFIG(whatsthis)
+ translations->setWhatsThis(QCoreApplication::translate("FindDialog", "Translations are searched when checked.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ translations->setText(QCoreApplication::translate("FindDialog", "&Translations", nullptr));
+#if QT_CONFIG(whatsthis)
+ matchCase->setWhatsThis(QCoreApplication::translate("FindDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ matchCase->setText(QCoreApplication::translate("FindDialog", "&Match case", nullptr));
+#if QT_CONFIG(whatsthis)
+ comments->setWhatsThis(QCoreApplication::translate("FindDialog", "Comments and contexts are searched when checked.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ comments->setText(QCoreApplication::translate("FindDialog", "&Comments", nullptr));
+ ignoreAccelerators->setText(QCoreApplication::translate("FindDialog", "Ignore &accelerators", nullptr));
+#if QT_CONFIG(whatsthis)
+ findNxt->setWhatsThis(QCoreApplication::translate("FindDialog", "Click here to find the next occurrence of the text you typed in.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ findNxt->setText(QCoreApplication::translate("FindDialog", "Find Next", nullptr));
+#if QT_CONFIG(whatsthis)
+ cancel->setWhatsThis(QCoreApplication::translate("FindDialog", "Click here to close this window.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ cancel->setText(QCoreApplication::translate("FindDialog", "Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/form.ui.h b/tests/auto/tools/uic/baseline/form.ui.h
index ecc63e339b..df8163f726 100644
--- a/tests/auto/tools/uic/baseline/form.ui.h
+++ b/tests/auto/tools/uic/baseline/form.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'form.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -123,9 +123,9 @@ public:
void retranslateUi(QWidget *WorldTimeForm)
{
- WorldTimeForm->setWindowTitle(QApplication::translate("WorldTimeForm", "World Time Clock", nullptr));
- label->setText(QApplication::translate("WorldTimeForm", "Current time:", nullptr));
- label_2->setText(QApplication::translate("WorldTimeForm", "Set time zone:", nullptr));
+ WorldTimeForm->setWindowTitle(QCoreApplication::translate("WorldTimeForm", "World Time Clock", nullptr));
+ label->setText(QCoreApplication::translate("WorldTimeForm", "Current time:", nullptr));
+ label_2->setText(QCoreApplication::translate("WorldTimeForm", "Set time zone:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/formwindowsettings.ui.h b/tests/auto/tools/uic/baseline/formwindowsettings.ui.h
index d2cfa03edb..17c301e959 100644
--- a/tests/auto/tools/uic/baseline/formwindowsettings.ui.h
+++ b/tests/auto/tools/uic/baseline/formwindowsettings.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'formwindowsettings.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -250,12 +250,12 @@ public:
gridLayout->addWidget(gridPanel, 1, 0, 1, 2);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label_2->setBuddy(defaultSpacingSpinBox);
label->setBuddy(defaultMarginSpinBox);
label_3->setBuddy(marginFunctionLineEdit);
label_3_2->setBuddy(spacingFunctionLineEdit);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(authorLineEdit, defaultMarginSpinBox);
QWidget::setTabOrder(defaultMarginSpinBox, defaultSpacingSpinBox);
QWidget::setTabOrder(defaultSpacingSpinBox, marginFunctionLineEdit);
@@ -271,17 +271,17 @@ public:
void retranslateUi(QDialog *FormWindowSettings)
{
- FormWindowSettings->setWindowTitle(QApplication::translate("FormWindowSettings", "Form Settings", nullptr));
- layoutDefaultGroupBox->setTitle(QApplication::translate("FormWindowSettings", "Layout &Default", nullptr));
- label_2->setText(QApplication::translate("FormWindowSettings", "&Spacing:", nullptr));
- label->setText(QApplication::translate("FormWindowSettings", "&Margin:", nullptr));
- layoutFunctionGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Layout Function", nullptr));
- label_3->setText(QApplication::translate("FormWindowSettings", "Ma&rgin:", nullptr));
- label_3_2->setText(QApplication::translate("FormWindowSettings", "Spa&cing:", nullptr));
- pixmapFunctionGroupBox_2->setTitle(QApplication::translate("FormWindowSettings", "&Author", nullptr));
- includeHintsGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Include Hints", nullptr));
- pixmapFunctionGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Pixmap Function", nullptr));
- gridPanel->setTitle(QApplication::translate("FormWindowSettings", "Grid", nullptr));
+ FormWindowSettings->setWindowTitle(QCoreApplication::translate("FormWindowSettings", "Form Settings", nullptr));
+ layoutDefaultGroupBox->setTitle(QCoreApplication::translate("FormWindowSettings", "Layout &Default", nullptr));
+ label_2->setText(QCoreApplication::translate("FormWindowSettings", "&Spacing:", nullptr));
+ label->setText(QCoreApplication::translate("FormWindowSettings", "&Margin:", nullptr));
+ layoutFunctionGroupBox->setTitle(QCoreApplication::translate("FormWindowSettings", "&Layout Function", nullptr));
+ label_3->setText(QCoreApplication::translate("FormWindowSettings", "Ma&rgin:", nullptr));
+ label_3_2->setText(QCoreApplication::translate("FormWindowSettings", "Spa&cing:", nullptr));
+ pixmapFunctionGroupBox_2->setTitle(QCoreApplication::translate("FormWindowSettings", "&Author", nullptr));
+ includeHintsGroupBox->setTitle(QCoreApplication::translate("FormWindowSettings", "&Include Hints", nullptr));
+ pixmapFunctionGroupBox->setTitle(QCoreApplication::translate("FormWindowSettings", "&Pixmap Function", nullptr));
+ gridPanel->setTitle(QCoreApplication::translate("FormWindowSettings", "Grid", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/generalpage.ui.h b/tests/auto/tools/uic/baseline/generalpage.ui.h
index bd04285d28..6488bfc061 100644
--- a/tests/auto/tools/uic/baseline/generalpage.ui.h
+++ b/tests/auto/tools/uic/baseline/generalpage.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'generalpage.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -73,9 +73,9 @@ public:
void retranslateUi(QWidget *GeneralPage)
{
- GeneralPage->setWindowTitle(QApplication::translate("GeneralPage", "Form", nullptr));
- label->setText(QApplication::translate("GeneralPage", "Namespace:", nullptr));
- label_2->setText(QApplication::translate("GeneralPage", "Virtual Folder:", nullptr));
+ GeneralPage->setWindowTitle(QCoreApplication::translate("GeneralPage", "Form", nullptr));
+ label->setText(QCoreApplication::translate("GeneralPage", "Namespace:", nullptr));
+ label_2->setText(QCoreApplication::translate("GeneralPage", "Virtual Folder:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/gridalignment.ui.h b/tests/auto/tools/uic/baseline/gridalignment.ui.h
index 421f257c9a..f85ed818f7 100644
--- a/tests/auto/tools/uic/baseline/gridalignment.ui.h
+++ b/tests/auto/tools/uic/baseline/gridalignment.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'gridalignment.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -61,11 +61,11 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", nullptr));
- pushButton->setText(QApplication::translate("Form", "Left", nullptr));
- pushButton_3->setText(QApplication::translate("Form", "Top", nullptr));
- pushButton_2->setText(QApplication::translate("Form", "Right", nullptr));
- pushButton_4->setText(QApplication::translate("Form", "Bottom", nullptr));
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Form", nullptr));
+ pushButton->setText(QCoreApplication::translate("Form", "Left", nullptr));
+ pushButton_3->setText(QCoreApplication::translate("Form", "Top", nullptr));
+ pushButton_2->setText(QCoreApplication::translate("Form", "Right", nullptr));
+ pushButton_4->setText(QCoreApplication::translate("Form", "Bottom", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/gridpanel.ui.h b/tests/auto/tools/uic/baseline/gridpanel.ui.h
index 858b71d0cc..54c9a3b5de 100644
--- a/tests/auto/tools/uic/baseline/gridpanel.ui.h
+++ b/tests/auto/tools/uic/baseline/gridpanel.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'gridpanel.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -120,10 +120,10 @@ public:
vboxLayout->addWidget(m_gridGroupBox);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(m_deltaXSpinBox);
label_2->setBuddy(m_deltaYSpinBox);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(qdesigner_internal__GridPanel);
@@ -132,14 +132,14 @@ public:
void retranslateUi(QWidget *qdesigner_internal__GridPanel)
{
- qdesigner_internal__GridPanel->setWindowTitle(QApplication::translate("qdesigner_internal::GridPanel", "Form", nullptr));
- m_gridGroupBox->setTitle(QApplication::translate("qdesigner_internal::GridPanel", "Grid", nullptr));
- m_visibleCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Visible", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::GridPanel", "Grid &X", nullptr));
- m_snapXCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Snap", nullptr));
- m_resetButton->setText(QApplication::translate("qdesigner_internal::GridPanel", "Reset", nullptr));
- label_2->setText(QApplication::translate("qdesigner_internal::GridPanel", "Grid &Y", nullptr));
- m_snapYCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Snap", nullptr));
+ qdesigner_internal__GridPanel->setWindowTitle(QCoreApplication::translate("qdesigner_internal::GridPanel", "Form", nullptr));
+ m_gridGroupBox->setTitle(QCoreApplication::translate("qdesigner_internal::GridPanel", "Grid", nullptr));
+ m_visibleCheckBox->setText(QCoreApplication::translate("qdesigner_internal::GridPanel", "Visible", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::GridPanel", "Grid &X", nullptr));
+ m_snapXCheckBox->setText(QCoreApplication::translate("qdesigner_internal::GridPanel", "Snap", nullptr));
+ m_resetButton->setText(QCoreApplication::translate("qdesigner_internal::GridPanel", "Reset", nullptr));
+ label_2->setText(QCoreApplication::translate("qdesigner_internal::GridPanel", "Grid &Y", nullptr));
+ m_snapYCheckBox->setText(QCoreApplication::translate("qdesigner_internal::GridPanel", "Snap", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/helpdialog.ui b/tests/auto/tools/uic/baseline/helpdialog.ui
index 8c3178183c..91b81c75d5 100644
--- a/tests/auto/tools/uic/baseline/helpdialog.ui
+++ b/tests/auto/tools/uic/baseline/helpdialog.ui
@@ -57,6 +57,9 @@
<string>Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.</string>
</property>
<widget class="QWidget" name="contentPage" >
+ <attribute name="icon">
+ <iconset theme="edit-copy"/>
+ </attribute>
<attribute name="title" >
<string>Con&amp;tents</string>
</attribute>
diff --git a/tests/auto/tools/uic/baseline/helpdialog.ui.h b/tests/auto/tools/uic/baseline/helpdialog.ui.h
index abcf280cf9..dd28041a3e 100644
--- a/tests/auto/tools/uic/baseline/helpdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/helpdialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'helpdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -124,7 +124,8 @@ public:
vboxLayout1->addWidget(listContents);
- tabWidget->addTab(contentPage, QString());
+ QIcon icon(QIcon::fromTheme(QString::fromUtf8("edit-copy")));
+ tabWidget->addTab(contentPage, icon, QString());
indexPage = new QWidget();
indexPage->setObjectName(QString::fromUtf8("indexPage"));
vboxLayout2 = new QVBoxLayout(indexPage);
@@ -273,11 +274,11 @@ public:
vboxLayout->addWidget(framePrepare);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
TextLabel1->setBuddy(editIndex);
TextLabel1_2->setBuddy(termsEdit);
TextLabel2->setBuddy(resultBox);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(tabWidget, listContents);
QWidget::setTabOrder(listContents, editIndex);
QWidget::setTabOrder(editIndex, listIndex);
@@ -296,77 +297,77 @@ public:
void retranslateUi(QWidget *HelpDialog)
{
- HelpDialog->setWindowTitle(QApplication::translate("HelpDialog", "Help", nullptr));
-#ifndef QT_NO_WHATSTHIS
- HelpDialog->setWhatsThis(QApplication::translate("HelpDialog", "<b>Help</b><p>Choose the topic you want help on from the contents list, or search the index for keywords.</p>", nullptr));
-#endif // QT_NO_WHATSTHIS
-#ifndef QT_NO_WHATSTHIS
- tabWidget->setWhatsThis(QApplication::translate("HelpDialog", "Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.", nullptr));
-#endif // QT_NO_WHATSTHIS
+ HelpDialog->setWindowTitle(QCoreApplication::translate("HelpDialog", "Help", nullptr));
+#if QT_CONFIG(whatsthis)
+ HelpDialog->setWhatsThis(QCoreApplication::translate("HelpDialog", "<b>Help</b><p>Choose the topic you want help on from the contents list, or search the index for keywords.</p>", nullptr));
+#endif // QT_CONFIG(whatsthis)
+#if QT_CONFIG(whatsthis)
+ tabWidget->setWhatsThis(QCoreApplication::translate("HelpDialog", "Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.", nullptr));
+#endif // QT_CONFIG(whatsthis)
QTreeWidgetItem *___qtreewidgetitem = listContents->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("HelpDialog", "column 1", nullptr));
-#ifndef QT_NO_WHATSTHIS
- listContents->setWhatsThis(QApplication::translate("HelpDialog", "<b>Help topics organized by category.</b><p>Double-click an item to see the topics in that category. To view a topic, just double-click it.</p>", nullptr));
-#endif // QT_NO_WHATSTHIS
- tabWidget->setTabText(tabWidget->indexOf(contentPage), QApplication::translate("HelpDialog", "Con&tents", nullptr));
- TextLabel1->setText(QApplication::translate("HelpDialog", "&Look For:", nullptr));
-#ifndef QT_NO_TOOLTIP
- editIndex->setToolTip(QApplication::translate("HelpDialog", "Enter keyword", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- editIndex->setWhatsThis(QApplication::translate("HelpDialog", "<b>Enter a keyword.</b><p>The list will select an item that matches the entered string best.</p>", nullptr));
-#endif // QT_NO_WHATSTHIS
-#ifndef QT_NO_WHATSTHIS
- listIndex->setWhatsThis(QApplication::translate("HelpDialog", "<b>List of available help topics.</b><p>Double-click on an item to open its help page. If more than one is found, you must specify which page you want.</p>", nullptr));
-#endif // QT_NO_WHATSTHIS
- tabWidget->setTabText(tabWidget->indexOf(indexPage), QApplication::translate("HelpDialog", "&Index", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("HelpDialog", "column 1", nullptr));
+#if QT_CONFIG(whatsthis)
+ listContents->setWhatsThis(QCoreApplication::translate("HelpDialog", "<b>Help topics organized by category.</b><p>Double-click an item to see the topics in that category. To view a topic, just double-click it.</p>", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ tabWidget->setTabText(tabWidget->indexOf(contentPage), QCoreApplication::translate("HelpDialog", "Con&tents", nullptr));
+ TextLabel1->setText(QCoreApplication::translate("HelpDialog", "&Look For:", nullptr));
+#if QT_CONFIG(tooltip)
+ editIndex->setToolTip(QCoreApplication::translate("HelpDialog", "Enter keyword", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ editIndex->setWhatsThis(QCoreApplication::translate("HelpDialog", "<b>Enter a keyword.</b><p>The list will select an item that matches the entered string best.</p>", nullptr));
+#endif // QT_CONFIG(whatsthis)
+#if QT_CONFIG(whatsthis)
+ listIndex->setWhatsThis(QCoreApplication::translate("HelpDialog", "<b>List of available help topics.</b><p>Double-click on an item to open its help page. If more than one is found, you must specify which page you want.</p>", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ tabWidget->setTabText(tabWidget->indexOf(indexPage), QCoreApplication::translate("HelpDialog", "&Index", nullptr));
QTreeWidgetItem *___qtreewidgetitem1 = listBookmarks->headerItem();
- ___qtreewidgetitem1->setText(0, QApplication::translate("HelpDialog", "column 1", nullptr));
-#ifndef QT_NO_WHATSTHIS
- listBookmarks->setWhatsThis(QApplication::translate("HelpDialog", "Displays the list of bookmarks.", nullptr));
-#endif // QT_NO_WHATSTHIS
-#ifndef QT_NO_TOOLTIP
- buttonAdd->setToolTip(QApplication::translate("HelpDialog", "Add new bookmark", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- buttonAdd->setWhatsThis(QApplication::translate("HelpDialog", "Add the currently displayed page as a new bookmark.", nullptr));
-#endif // QT_NO_WHATSTHIS
- buttonAdd->setText(QApplication::translate("HelpDialog", "&New", nullptr));
-#ifndef QT_NO_TOOLTIP
- buttonRemove->setToolTip(QApplication::translate("HelpDialog", "Delete bookmark", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- buttonRemove->setWhatsThis(QApplication::translate("HelpDialog", "Delete the selected bookmark.", nullptr));
-#endif // QT_NO_WHATSTHIS
- buttonRemove->setText(QApplication::translate("HelpDialog", "&Delete", nullptr));
- tabWidget->setTabText(tabWidget->indexOf(bookmarkPage), QApplication::translate("HelpDialog", "&Bookmarks", nullptr));
- TextLabel1_2->setText(QApplication::translate("HelpDialog", "Searching f&or:", nullptr));
-#ifndef QT_NO_TOOLTIP
- termsEdit->setToolTip(QApplication::translate("HelpDialog", "Enter searchword(s).", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- termsEdit->setWhatsThis(QApplication::translate("HelpDialog", "<b>Enter search word(s).</b><p>Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.</p>", nullptr));
-#endif // QT_NO_WHATSTHIS
-#ifndef QT_NO_WHATSTHIS
- resultBox->setWhatsThis(QApplication::translate("HelpDialog", "<b>Found documents</b><p>This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.</p>", nullptr));
-#endif // QT_NO_WHATSTHIS
- TextLabel2->setText(QApplication::translate("HelpDialog", "Found &Documents:", nullptr));
-#ifndef QT_NO_TOOLTIP
- helpButton->setToolTip(QApplication::translate("HelpDialog", "Display the help page.", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- helpButton->setWhatsThis(QApplication::translate("HelpDialog", "Display the help page for the full text search.", nullptr));
-#endif // QT_NO_WHATSTHIS
- helpButton->setText(QApplication::translate("HelpDialog", "He&lp", nullptr));
-#ifndef QT_NO_TOOLTIP
- searchButton->setToolTip(QApplication::translate("HelpDialog", "Start searching.", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- searchButton->setWhatsThis(QApplication::translate("HelpDialog", "Pressing this button starts the search.", nullptr));
-#endif // QT_NO_WHATSTHIS
- searchButton->setText(QApplication::translate("HelpDialog", "&Search", nullptr));
- tabWidget->setTabText(tabWidget->indexOf(searchPage), QApplication::translate("HelpDialog", "&Search", nullptr));
- labelPrepare->setText(QApplication::translate("HelpDialog", "Preparing...", nullptr));
+ ___qtreewidgetitem1->setText(0, QCoreApplication::translate("HelpDialog", "column 1", nullptr));
+#if QT_CONFIG(whatsthis)
+ listBookmarks->setWhatsThis(QCoreApplication::translate("HelpDialog", "Displays the list of bookmarks.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+#if QT_CONFIG(tooltip)
+ buttonAdd->setToolTip(QCoreApplication::translate("HelpDialog", "Add new bookmark", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ buttonAdd->setWhatsThis(QCoreApplication::translate("HelpDialog", "Add the currently displayed page as a new bookmark.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ buttonAdd->setText(QCoreApplication::translate("HelpDialog", "&New", nullptr));
+#if QT_CONFIG(tooltip)
+ buttonRemove->setToolTip(QCoreApplication::translate("HelpDialog", "Delete bookmark", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ buttonRemove->setWhatsThis(QCoreApplication::translate("HelpDialog", "Delete the selected bookmark.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ buttonRemove->setText(QCoreApplication::translate("HelpDialog", "&Delete", nullptr));
+ tabWidget->setTabText(tabWidget->indexOf(bookmarkPage), QCoreApplication::translate("HelpDialog", "&Bookmarks", nullptr));
+ TextLabel1_2->setText(QCoreApplication::translate("HelpDialog", "Searching f&or:", nullptr));
+#if QT_CONFIG(tooltip)
+ termsEdit->setToolTip(QCoreApplication::translate("HelpDialog", "Enter searchword(s).", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ termsEdit->setWhatsThis(QCoreApplication::translate("HelpDialog", "<b>Enter search word(s).</b><p>Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.</p>", nullptr));
+#endif // QT_CONFIG(whatsthis)
+#if QT_CONFIG(whatsthis)
+ resultBox->setWhatsThis(QCoreApplication::translate("HelpDialog", "<b>Found documents</b><p>This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.</p>", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ TextLabel2->setText(QCoreApplication::translate("HelpDialog", "Found &Documents:", nullptr));
+#if QT_CONFIG(tooltip)
+ helpButton->setToolTip(QCoreApplication::translate("HelpDialog", "Display the help page.", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ helpButton->setWhatsThis(QCoreApplication::translate("HelpDialog", "Display the help page for the full text search.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ helpButton->setText(QCoreApplication::translate("HelpDialog", "He&lp", nullptr));
+#if QT_CONFIG(tooltip)
+ searchButton->setToolTip(QCoreApplication::translate("HelpDialog", "Start searching.", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ searchButton->setWhatsThis(QCoreApplication::translate("HelpDialog", "Pressing this button starts the search.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ searchButton->setText(QCoreApplication::translate("HelpDialog", "&Search", nullptr));
+ tabWidget->setTabText(tabWidget->indexOf(searchPage), QCoreApplication::translate("HelpDialog", "&Search", nullptr));
+ labelPrepare->setText(QCoreApplication::translate("HelpDialog", "Preparing...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/history.ui.h b/tests/auto/tools/uic/baseline/history.ui.h
index 715312d11a..7f48fb9f54 100644
--- a/tests/auto/tools/uic/baseline/history.ui.h
+++ b/tests/auto/tools/uic/baseline/history.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'history.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -91,9 +91,9 @@ public:
void retranslateUi(QDialog *HistoryDialog)
{
- HistoryDialog->setWindowTitle(QApplication::translate("HistoryDialog", "History", nullptr));
- removeButton->setText(QApplication::translate("HistoryDialog", "&Remove", nullptr));
- removeAllButton->setText(QApplication::translate("HistoryDialog", "Remove &All", nullptr));
+ HistoryDialog->setWindowTitle(QCoreApplication::translate("HistoryDialog", "History", nullptr));
+ removeButton->setText(QCoreApplication::translate("HistoryDialog", "&Remove", nullptr));
+ removeAllButton->setText(QCoreApplication::translate("HistoryDialog", "Remove &All", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/icontheme.ui.h b/tests/auto/tools/uic/baseline/icontheme.ui.h
index 936d6b5cf7..f1f6e42a02 100644
--- a/tests/auto/tools/uic/baseline/icontheme.ui.h
+++ b/tests/auto/tools/uic/baseline/icontheme.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'icontheme.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -75,10 +75,10 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", nullptr));
- fileicon->setText(QApplication::translate("Form", "fileicon", nullptr));
- fileandthemeicon->setText(QApplication::translate("Form", "PushButton", nullptr));
- themeicon->setText(QApplication::translate("Form", "PushButton", nullptr));
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Form", nullptr));
+ fileicon->setText(QCoreApplication::translate("Form", "fileicon", nullptr));
+ fileandthemeicon->setText(QCoreApplication::translate("Form", "PushButton", nullptr));
+ themeicon->setText(QCoreApplication::translate("Form", "PushButton", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/idbased.ui.h b/tests/auto/tools/uic/baseline/idbased.ui.h
index e246313e11..0209895a3c 100644
--- a/tests/auto/tools/uic/baseline/idbased.ui.h
+++ b/tests/auto/tools/uic/baseline/idbased.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'idbased.ui'
**
-** Created by: Qt User Interface Compiler version 5.11.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -44,15 +44,15 @@ public:
void retranslateUi(QWidget *Form)
{
Form->setWindowTitle(qtTrId("windowTitleId"));
-#ifndef QT_NO_TOOLTIP
+#if QT_CONFIG(tooltip)
pushButton->setToolTip(qtTrId("buttonToolTipId"));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
pushButton->setStatusTip(qtTrId("buttonStatusTipId"));
-#endif // QT_NO_STATUSTIP
-#ifndef QT_NO_WHATSTHIS
+#endif // QT_CONFIG(statustip)
+#if QT_CONFIG(whatsthis)
pushButton->setWhatsThis(qtTrId("buttonWhatsThisId"));
-#endif // QT_NO_WHATSTHIS
+#endif // QT_CONFIG(whatsthis)
pushButton->setText(qtTrId("buttonTextId"));
} // retranslateUi
diff --git a/tests/auto/tools/uic/baseline/identifierpage.ui.h b/tests/auto/tools/uic/baseline/identifierpage.ui.h
index 322a9cf30a..420d668fe9 100644
--- a/tests/auto/tools/uic/baseline/identifierpage.ui.h
+++ b/tests/auto/tools/uic/baseline/identifierpage.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'identifierpage.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -89,10 +89,10 @@ public:
void retranslateUi(QWidget *IdentifierPage)
{
- IdentifierPage->setWindowTitle(QApplication::translate("IdentifierPage", "Form", nullptr));
- identifierCheckBox->setText(QApplication::translate("IdentifierPage", "Create identifiers", nullptr));
- globalButton->setText(QApplication::translate("IdentifierPage", "Global prefix:", nullptr));
- fileNameButton->setText(QApplication::translate("IdentifierPage", "Inherit prefix from file names", nullptr));
+ IdentifierPage->setWindowTitle(QCoreApplication::translate("IdentifierPage", "Form", nullptr));
+ identifierCheckBox->setText(QCoreApplication::translate("IdentifierPage", "Create identifiers", nullptr));
+ globalButton->setText(QCoreApplication::translate("IdentifierPage", "Global prefix:", nullptr));
+ fileNameButton->setText(QCoreApplication::translate("IdentifierPage", "Inherit prefix from file names", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/imagedialog.ui.h b/tests/auto/tools/uic/baseline/imagedialog.ui.h
index e32e7639fa..eea8b6ee03 100644
--- a/tests/auto/tools/uic/baseline/imagedialog.ui.h
+++ b/tests/auto/tools/uic/baseline/imagedialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'imagedialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -86,7 +86,7 @@ public:
colorDepthCombo = new QComboBox(dialog);
colorDepthCombo->setObjectName(QString::fromUtf8("colorDepthCombo"));
colorDepthCombo->setGeometry(QRect(74, 83, 227, 22));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(0));
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(colorDepthCombo->sizePolicy().hasHeightForWidth());
@@ -98,7 +98,7 @@ public:
nameLineEdit = new QLineEdit(dialog);
nameLineEdit->setObjectName(QString::fromUtf8("nameLineEdit"));
nameLineEdit->setGeometry(QRect(74, 83, 227, 22));
- QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(0));
+ QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy1.setHorizontalStretch(1);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(nameLineEdit->sizePolicy().hasHeightForWidth());
@@ -196,14 +196,14 @@ public:
void retranslateUi(QDialog *dialog)
{
- dialog->setWindowTitle(QApplication::translate("ImageDialog", "Create Image", nullptr));
- widthLabel->setText(QApplication::translate("ImageDialog", "Width:", nullptr));
- heightLabel->setText(QApplication::translate("ImageDialog", "Height:", nullptr));
- nameLineEdit->setText(QApplication::translate("ImageDialog", "Untitled image", nullptr));
- nameLabel->setText(QApplication::translate("ImageDialog", "Name:", nullptr));
- colorDepthLabel->setText(QApplication::translate("ImageDialog", "Color depth:", nullptr));
- okButton->setText(QApplication::translate("ImageDialog", "OK", nullptr));
- cancelButton->setText(QApplication::translate("ImageDialog", "Cancel", nullptr));
+ dialog->setWindowTitle(QCoreApplication::translate("ImageDialog", "Create Image", nullptr));
+ widthLabel->setText(QCoreApplication::translate("ImageDialog", "Width:", nullptr));
+ heightLabel->setText(QCoreApplication::translate("ImageDialog", "Height:", nullptr));
+ nameLineEdit->setText(QCoreApplication::translate("ImageDialog", "Untitled image", nullptr));
+ nameLabel->setText(QCoreApplication::translate("ImageDialog", "Name:", nullptr));
+ colorDepthLabel->setText(QCoreApplication::translate("ImageDialog", "Color depth:", nullptr));
+ okButton->setText(QCoreApplication::translate("ImageDialog", "OK", nullptr));
+ cancelButton->setText(QCoreApplication::translate("ImageDialog", "Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/inputpage.ui.h b/tests/auto/tools/uic/baseline/inputpage.ui.h
index 9367dec6df..0cb4cce4f2 100644
--- a/tests/auto/tools/uic/baseline/inputpage.ui.h
+++ b/tests/auto/tools/uic/baseline/inputpage.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'inputpage.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -81,9 +81,9 @@ public:
void retranslateUi(QWidget *InputPage)
{
- InputPage->setWindowTitle(QApplication::translate("InputPage", "Form", nullptr));
- label->setText(QApplication::translate("InputPage", "File name:", nullptr));
- browseButton->setText(QApplication::translate("InputPage", "...", nullptr));
+ InputPage->setWindowTitle(QCoreApplication::translate("InputPage", "Form", nullptr));
+ label->setText(QCoreApplication::translate("InputPage", "File name:", nullptr));
+ browseButton->setText(QCoreApplication::translate("InputPage", "...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/installdialog.ui.h b/tests/auto/tools/uic/baseline/installdialog.ui.h
index 3ec7f69b76..b452971f19 100644
--- a/tests/auto/tools/uic/baseline/installdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/installdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'installdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -120,13 +120,13 @@ public:
void retranslateUi(QDialog *InstallDialog)
{
- InstallDialog->setWindowTitle(QApplication::translate("InstallDialog", "Install Documentation", nullptr));
- label->setText(QApplication::translate("InstallDialog", "Available Documentation:", nullptr));
- installButton->setText(QApplication::translate("InstallDialog", "Install", nullptr));
- cancelButton->setText(QApplication::translate("InstallDialog", "Cancel", nullptr));
- closeButton->setText(QApplication::translate("InstallDialog", "Close", nullptr));
- label_4->setText(QApplication::translate("InstallDialog", "Installation Path:", nullptr));
- browseButton->setText(QApplication::translate("InstallDialog", "...", nullptr));
+ InstallDialog->setWindowTitle(QCoreApplication::translate("InstallDialog", "Install Documentation", nullptr));
+ label->setText(QCoreApplication::translate("InstallDialog", "Available Documentation:", nullptr));
+ installButton->setText(QCoreApplication::translate("InstallDialog", "Install", nullptr));
+ cancelButton->setText(QCoreApplication::translate("InstallDialog", "Cancel", nullptr));
+ closeButton->setText(QCoreApplication::translate("InstallDialog", "Close", nullptr));
+ label_4->setText(QCoreApplication::translate("InstallDialog", "Installation Path:", nullptr));
+ browseButton->setText(QCoreApplication::translate("InstallDialog", "...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/languagesdialog.ui.h b/tests/auto/tools/uic/baseline/languagesdialog.ui.h
index cf2599fd07..f605d942d4 100644
--- a/tests/auto/tools/uic/baseline/languagesdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/languagesdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'languagesdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -108,39 +108,39 @@ public:
void retranslateUi(QDialog *LanguagesDialog)
{
- LanguagesDialog->setWindowTitle(QApplication::translate("LanguagesDialog", "Auxiliary Languages", nullptr));
+ LanguagesDialog->setWindowTitle(QCoreApplication::translate("LanguagesDialog", "Auxiliary Languages", nullptr));
QTreeWidgetItem *___qtreewidgetitem = languagesList->headerItem();
- ___qtreewidgetitem->setText(1, QApplication::translate("LanguagesDialog", "File", nullptr));
- ___qtreewidgetitem->setText(0, QApplication::translate("LanguagesDialog", "Locale", nullptr));
-#ifndef QT_NO_TOOLTIP
- upButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+ ___qtreewidgetitem->setText(1, QCoreApplication::translate("LanguagesDialog", "File", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("LanguagesDialog", "Locale", nullptr));
+#if QT_CONFIG(tooltip)
+ upButton->setToolTip(QCoreApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Move selected language up</p></body></html>", nullptr));
-#endif // QT_NO_TOOLTIP
- upButton->setText(QApplication::translate("LanguagesDialog", "up", nullptr));
-#ifndef QT_NO_TOOLTIP
- downButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+#endif // QT_CONFIG(tooltip)
+ upButton->setText(QCoreApplication::translate("LanguagesDialog", "up", nullptr));
+#if QT_CONFIG(tooltip)
+ downButton->setToolTip(QCoreApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;\">Move selected language down</p></body></html>", nullptr));
-#endif // QT_NO_TOOLTIP
- downButton->setText(QApplication::translate("LanguagesDialog", "down", nullptr));
-#ifndef QT_NO_TOOLTIP
- removeButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+#endif // QT_CONFIG(tooltip)
+ downButton->setText(QCoreApplication::translate("LanguagesDialog", "down", nullptr));
+#if QT_CONFIG(tooltip)
+ removeButton->setToolTip(QCoreApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Remove selected language</p></body></html>", nullptr));
-#endif // QT_NO_TOOLTIP
- removeButton->setText(QApplication::translate("LanguagesDialog", "remove", nullptr));
-#ifndef QT_NO_TOOLTIP
- openFileButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+#endif // QT_CONFIG(tooltip)
+ removeButton->setText(QCoreApplication::translate("LanguagesDialog", "remove", nullptr));
+#if QT_CONFIG(tooltip)
+ openFileButton->setToolTip(QCoreApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Open auxiliary language files</p></body></html>", nullptr));
-#endif // QT_NO_TOOLTIP
- openFileButton->setText(QApplication::translate("LanguagesDialog", "...", nullptr));
- okButton->setText(QApplication::translate("LanguagesDialog", "OK", nullptr));
+#endif // QT_CONFIG(tooltip)
+ openFileButton->setText(QCoreApplication::translate("LanguagesDialog", "...", nullptr));
+ okButton->setText(QCoreApplication::translate("LanguagesDialog", "OK", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h b/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h
index 14067ced18..721d4c9950 100644
--- a/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'listwidgeteditor.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -172,28 +172,28 @@ public:
void retranslateUi(QDialog *qdesigner_internal__ListWidgetEditor)
{
- qdesigner_internal__ListWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Dialog", nullptr));
- groupBox->setTitle(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", nullptr));
-#ifndef QT_NO_TOOLTIP
- listWidget->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- newItemButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "New Item", nullptr));
-#endif // QT_NO_TOOLTIP
- newItemButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "&New", nullptr));
-#ifndef QT_NO_TOOLTIP
- deleteItemButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Delete Item", nullptr));
-#endif // QT_NO_TOOLTIP
- deleteItemButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "&Delete", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveItemUpButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Up", nullptr));
-#endif // QT_NO_TOOLTIP
- moveItemUpButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "U", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveItemDownButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Down", nullptr));
-#endif // QT_NO_TOOLTIP
- moveItemDownButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "D", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Icon", nullptr));
+ qdesigner_internal__ListWidgetEditor->setWindowTitle(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "Dialog", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", nullptr));
+#if QT_CONFIG(tooltip)
+ listWidget->setToolTip(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ newItemButton->setToolTip(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "New Item", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newItemButton->setText(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "&New", nullptr));
+#if QT_CONFIG(tooltip)
+ deleteItemButton->setToolTip(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "Delete Item", nullptr));
+#endif // QT_CONFIG(tooltip)
+ deleteItemButton->setText(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "&Delete", nullptr));
+#if QT_CONFIG(tooltip)
+ moveItemUpButton->setToolTip(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveItemUpButton->setText(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "U", nullptr));
+#if QT_CONFIG(tooltip)
+ moveItemDownButton->setToolTip(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Down", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveItemDownButton->setText(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "D", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::ListWidgetEditor", "Icon", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/mainwindow.ui.h b/tests/auto/tools/uic/baseline/mainwindow.ui.h
index fe84d0baa3..df61d57ceb 100644
--- a/tests/auto/tools/uic/baseline/mainwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/mainwindow.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -361,30 +361,30 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MakeQPF", nullptr));
- actionAdd_Custom_Font->setText(QApplication::translate("MainWindow", "&Add Custom Font...", nullptr));
- action_Exit->setText(QApplication::translate("MainWindow", "&Exit", nullptr));
- groupBox->setTitle(QApplication::translate("MainWindow", "Font Properties", nullptr));
- label->setText(QApplication::translate("MainWindow", "Family:", nullptr));
- label_2->setText(QApplication::translate("MainWindow", "Pixel Size:", nullptr));
- label_7->setText(QApplication::translate("MainWindow", "Weight:", nullptr));
- italic->setText(QApplication::translate("MainWindow", "Italic", nullptr));
- groupBox_2->setTitle(QApplication::translate("MainWindow", "Glyph Coverage", nullptr));
- chooseFromCodePoints->setText(QApplication::translate("MainWindow", "Choose from Unicode Codepoints:", nullptr));
- selectAll->setText(QApplication::translate("MainWindow", "Select &All", nullptr));
- deselectAll->setText(QApplication::translate("MainWindow", "&Deselect All", nullptr));
- invertSelection->setText(QApplication::translate("MainWindow", "&Invert Selection", nullptr));
- chooseFromSampleFile->setText(QApplication::translate("MainWindow", "Choose from Sample Text File (UTF-8 Encoded):", nullptr));
- label_5->setText(QApplication::translate("MainWindow", "Path:", nullptr));
- browseSampleFile->setText(QApplication::translate("MainWindow", "Browse...", nullptr));
- charCount->setText(QApplication::translate("MainWindow", "TextLabel", nullptr));
- groupBox_3->setTitle(QApplication::translate("MainWindow", "Preview", nullptr));
- groupBox_4->setTitle(QApplication::translate("MainWindow", "Output Options", nullptr));
- label_3->setText(QApplication::translate("MainWindow", "Path:", nullptr));
- browsePath->setText(QApplication::translate("MainWindow", "Browse...", nullptr));
- label_4->setText(QApplication::translate("MainWindow", "Filename:", nullptr));
- generate->setText(QApplication::translate("MainWindow", "Generate Pre-Rendered Font...", nullptr));
- menuFile->setTitle(QApplication::translate("MainWindow", "File", nullptr));
+ MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MakeQPF", nullptr));
+ actionAdd_Custom_Font->setText(QCoreApplication::translate("MainWindow", "&Add Custom Font...", nullptr));
+ action_Exit->setText(QCoreApplication::translate("MainWindow", "&Exit", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("MainWindow", "Font Properties", nullptr));
+ label->setText(QCoreApplication::translate("MainWindow", "Family:", nullptr));
+ label_2->setText(QCoreApplication::translate("MainWindow", "Pixel Size:", nullptr));
+ label_7->setText(QCoreApplication::translate("MainWindow", "Weight:", nullptr));
+ italic->setText(QCoreApplication::translate("MainWindow", "Italic", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("MainWindow", "Glyph Coverage", nullptr));
+ chooseFromCodePoints->setText(QCoreApplication::translate("MainWindow", "Choose from Unicode Codepoints:", nullptr));
+ selectAll->setText(QCoreApplication::translate("MainWindow", "Select &All", nullptr));
+ deselectAll->setText(QCoreApplication::translate("MainWindow", "&Deselect All", nullptr));
+ invertSelection->setText(QCoreApplication::translate("MainWindow", "&Invert Selection", nullptr));
+ chooseFromSampleFile->setText(QCoreApplication::translate("MainWindow", "Choose from Sample Text File (UTF-8 Encoded):", nullptr));
+ label_5->setText(QCoreApplication::translate("MainWindow", "Path:", nullptr));
+ browseSampleFile->setText(QCoreApplication::translate("MainWindow", "Browse...", nullptr));
+ charCount->setText(QCoreApplication::translate("MainWindow", "TextLabel", nullptr));
+ groupBox_3->setTitle(QCoreApplication::translate("MainWindow", "Preview", nullptr));
+ groupBox_4->setTitle(QCoreApplication::translate("MainWindow", "Output Options", nullptr));
+ label_3->setText(QCoreApplication::translate("MainWindow", "Path:", nullptr));
+ browsePath->setText(QCoreApplication::translate("MainWindow", "Browse...", nullptr));
+ label_4->setText(QCoreApplication::translate("MainWindow", "Filename:", nullptr));
+ generate->setText(QCoreApplication::translate("MainWindow", "Generate Pre-Rendered Font...", nullptr));
+ menuFile->setTitle(QCoreApplication::translate("MainWindow", "File", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/mydialog.ui.h b/tests/auto/tools/uic/baseline/mydialog.ui.h
index 1a784d1b0a..e71927092f 100644
--- a/tests/auto/tools/uic/baseline/mydialog.ui.h
+++ b/tests/auto/tools/uic/baseline/mydialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'mydialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.9.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -56,12 +56,12 @@ public:
void retranslateUi(QDialog *MyDialog)
{
- MyDialog->setWindowTitle(QApplication::translate("MyDialog", "Mach 2!", nullptr));
- aLabel->setText(QApplication::translate("MyDialog", "Join the life in the fastlane; - PCH enable your project today! -", nullptr));
- aButton->setText(QApplication::translate("MyDialog", "&Quit", nullptr));
-#ifndef QT_NO_SHORTCUT
- aButton->setShortcut(QApplication::translate("MyDialog", "Alt+Q", nullptr));
-#endif // QT_NO_SHORTCUT
+ MyDialog->setWindowTitle(QCoreApplication::translate("MyDialog", "Mach 2!", nullptr));
+ aLabel->setText(QCoreApplication::translate("MyDialog", "Join the life in the fastlane; - PCH enable your project today! -", nullptr));
+ aButton->setText(QCoreApplication::translate("MyDialog", "&Quit", nullptr));
+#if QT_CONFIG(shortcut)
+ aButton->setShortcut(QCoreApplication::translate("MyDialog", "Alt+Q", nullptr));
+#endif // QT_CONFIG(shortcut)
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/myform.ui.h b/tests/auto/tools/uic/baseline/myform.ui.h
index d3a08e04c9..87d88e8246 100644
--- a/tests/auto/tools/uic/baseline/myform.ui.h
+++ b/tests/auto/tools/uic/baseline/myform.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'myform.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -120,17 +120,17 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Export Document", nullptr));
- groupBox->setTitle(QApplication::translate("Form", "Export Options", nullptr));
- radioButton_2->setText(QApplication::translate("Form", "&DocBook", nullptr));
- radioButton->setText(QApplication::translate("Form", "&LaTeX", nullptr));
- checkBox_2->setText(QApplication::translate("Form", "Include p&ictures", nullptr));
- checkBox->setText(QApplication::translate("Form", "&Compress", nullptr));
- radioButton_2_2->setText(QApplication::translate("Form", "&HTML", nullptr));
- radioButton_3->setText(QApplication::translate("Form", "&PostScript", nullptr));
- radioButton_4->setText(QApplication::translate("Form", "PD&F", nullptr));
- checkBox_3->setText(QApplication::translate("Form", "Include &metadata", nullptr));
- checkBox_4->setText(QApplication::translate("Form", "Create inde&x", nullptr));
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Export Document", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("Form", "Export Options", nullptr));
+ radioButton_2->setText(QCoreApplication::translate("Form", "&DocBook", nullptr));
+ radioButton->setText(QCoreApplication::translate("Form", "&LaTeX", nullptr));
+ checkBox_2->setText(QCoreApplication::translate("Form", "Include p&ictures", nullptr));
+ checkBox->setText(QCoreApplication::translate("Form", "&Compress", nullptr));
+ radioButton_2_2->setText(QCoreApplication::translate("Form", "&HTML", nullptr));
+ radioButton_3->setText(QCoreApplication::translate("Form", "&PostScript", nullptr));
+ radioButton_4->setText(QCoreApplication::translate("Form", "PD&F", nullptr));
+ checkBox_3->setText(QCoreApplication::translate("Form", "Include &metadata", nullptr));
+ checkBox_4->setText(QCoreApplication::translate("Form", "Create inde&x", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/newactiondialog.ui.h b/tests/auto/tools/uic/baseline/newactiondialog.ui.h
index ca99ab8356..4b3b6bcf1a 100644
--- a/tests/auto/tools/uic/baseline/newactiondialog.ui.h
+++ b/tests/auto/tools/uic/baseline/newactiondialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'newactiondialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -143,11 +143,11 @@ public:
verticalLayout->addWidget(buttonBox);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(editActionText);
label_3->setBuddy(editObjectName);
label_2->setBuddy(iconSelector);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(editActionText, editObjectName);
retranslateUi(qdesigner_internal__NewActionDialog);
@@ -159,10 +159,10 @@ public:
void retranslateUi(QDialog *qdesigner_internal__NewActionDialog)
{
- qdesigner_internal__NewActionDialog->setWindowTitle(QApplication::translate("qdesigner_internal::NewActionDialog", "New Action...", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "&Text:", nullptr));
- label_3->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "Object &name:", nullptr));
- label_2->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "&Icon:", nullptr));
+ qdesigner_internal__NewActionDialog->setWindowTitle(QCoreApplication::translate("qdesigner_internal::NewActionDialog", "New Action...", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::NewActionDialog", "&Text:", nullptr));
+ label_3->setText(QCoreApplication::translate("qdesigner_internal::NewActionDialog", "Object &name:", nullptr));
+ label_2->setText(QCoreApplication::translate("qdesigner_internal::NewActionDialog", "&Icon:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h b/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h
index f5fd6f1fa4..406f8bc1a3 100644
--- a/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h
+++ b/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'newdynamicpropertydialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -108,9 +108,9 @@ public:
void retranslateUi(QDialog *qdesigner_internal__NewDynamicPropertyDialog)
{
- qdesigner_internal__NewDynamicPropertyDialog->setWindowTitle(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Create Dynamic Property", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Name", nullptr));
- label_2->setText(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Type", nullptr));
+ qdesigner_internal__NewDynamicPropertyDialog->setWindowTitle(QCoreApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Create Dynamic Property", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Name", nullptr));
+ label_2->setText(QCoreApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Type", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/newform.ui.h b/tests/auto/tools/uic/baseline/newform.ui.h
index 80e70dcf66..e0b5baef81 100644
--- a/tests/auto/tools/uic/baseline/newform.ui.h
+++ b/tests/auto/tools/uic/baseline/newform.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'newform.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -93,7 +93,7 @@ public:
lblPreview = new QLabel(NewForm);
lblPreview->setObjectName(QString::fromUtf8("lblPreview"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(5));
+ QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(lblPreview->sizePolicy().hasHeightForWidth());
@@ -132,11 +132,11 @@ public:
void retranslateUi(QDialog *NewForm)
{
- NewForm->setWindowTitle(QApplication::translate("NewForm", "New Form", nullptr));
+ NewForm->setWindowTitle(QCoreApplication::translate("NewForm", "New Form", nullptr));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("NewForm", "0", nullptr));
- lblPreview->setText(QApplication::translate("NewForm", "Choose a template for a preview", nullptr));
- chkShowOnStartup->setText(QApplication::translate("NewForm", "Show this Dialog on Startup", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("NewForm", "0", nullptr));
+ lblPreview->setText(QCoreApplication::translate("NewForm", "Choose a template for a preview", nullptr));
+ chkShowOnStartup->setText(QCoreApplication::translate("NewForm", "Show this Dialog on Startup", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/orderdialog.ui.h b/tests/auto/tools/uic/baseline/orderdialog.ui.h
index 0ee08257f4..532ec2d41c 100644
--- a/tests/auto/tools/uic/baseline/orderdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/orderdialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'orderdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -130,14 +130,14 @@ public:
void retranslateUi(QDialog *qdesigner_internal__OrderDialog)
{
- qdesigner_internal__OrderDialog->setWindowTitle(QApplication::translate("qdesigner_internal::OrderDialog", "Change Page Order", nullptr));
- groupBox->setTitle(QApplication::translate("qdesigner_internal::OrderDialog", "Page Order", nullptr));
-#ifndef QT_NO_TOOLTIP
- upButton->setToolTip(QApplication::translate("qdesigner_internal::OrderDialog", "Move page up", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- downButton->setToolTip(QApplication::translate("qdesigner_internal::OrderDialog", "Move page down", nullptr));
-#endif // QT_NO_TOOLTIP
+ qdesigner_internal__OrderDialog->setWindowTitle(QCoreApplication::translate("qdesigner_internal::OrderDialog", "Change Page Order", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("qdesigner_internal::OrderDialog", "Page Order", nullptr));
+#if QT_CONFIG(tooltip)
+ upButton->setToolTip(QCoreApplication::translate("qdesigner_internal::OrderDialog", "Move page up", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ downButton->setToolTip(QCoreApplication::translate("qdesigner_internal::OrderDialog", "Move page down", nullptr));
+#endif // QT_CONFIG(tooltip)
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/outputpage.ui.h b/tests/auto/tools/uic/baseline/outputpage.ui.h
index 00491bb3d8..9d2593dc77 100644
--- a/tests/auto/tools/uic/baseline/outputpage.ui.h
+++ b/tests/auto/tools/uic/baseline/outputpage.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'outputpage.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -87,9 +87,9 @@ public:
void retranslateUi(QWidget *OutputPage)
{
- OutputPage->setWindowTitle(QApplication::translate("OutputPage", "Form", nullptr));
- label->setText(QApplication::translate("OutputPage", "Project file name:", nullptr));
- label_2->setText(QApplication::translate("OutputPage", "Collection file name:", nullptr));
+ OutputPage->setWindowTitle(QCoreApplication::translate("OutputPage", "Form", nullptr));
+ label->setText(QCoreApplication::translate("OutputPage", "Project file name:", nullptr));
+ label_2->setText(QCoreApplication::translate("OutputPage", "Collection file name:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/pagefold.ui.h b/tests/auto/tools/uic/baseline/pagefold.ui.h
index c1ff03648d..a0594b7ec7 100644
--- a/tests/auto/tools/uic/baseline/pagefold.ui.h
+++ b/tests/auto/tools/uic/baseline/pagefold.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'pagefold.ui'
**
-** Created by: Qt User Interface Compiler version 5.10.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -213,13 +213,13 @@ public:
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
ageLabel->setBuddy(ageSpinBox);
nameLabel->setBuddy(nameCombo);
passwordLabel->setBuddy(passwordEdit);
label->setBuddy(professionList);
countryLabel->setBuddy(professionList);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
menubar->addAction(menu_File->menuAction());
menubar->addAction(menu_Help->menuAction());
@@ -242,84 +242,84 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", nullptr));
- exitAction->setText(QApplication::translate("MainWindow", "&Exit", nullptr));
- aboutQtAction->setText(QApplication::translate("MainWindow", "About Qt", nullptr));
- editStyleAction->setText(QApplication::translate("MainWindow", "Edit &Style", nullptr));
- aboutAction->setText(QApplication::translate("MainWindow", "About", nullptr));
- nameCombo->setItemText(0, QApplication::translate("MainWindow", "Girish", nullptr));
- nameCombo->setItemText(1, QApplication::translate("MainWindow", "Jasmin", nullptr));
- nameCombo->setItemText(2, QApplication::translate("MainWindow", "Simon", nullptr));
- nameCombo->setItemText(3, QApplication::translate("MainWindow", "Zack", nullptr));
-
-#ifndef QT_NO_TOOLTIP
- nameCombo->setToolTip(QApplication::translate("MainWindow", "Specify your name", nullptr));
-#endif // QT_NO_TOOLTIP
- femaleRadioButton->setStyleSheet(QApplication::translate("MainWindow", "Check this if you are female", nullptr));
- femaleRadioButton->setText(QApplication::translate("MainWindow", "&Female", nullptr));
- genderLabel->setText(QApplication::translate("MainWindow", "Gender:", nullptr));
- ageLabel->setText(QApplication::translate("MainWindow", "&Age:", nullptr));
-#ifndef QT_NO_TOOLTIP
- maleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are male", nullptr));
-#endif // QT_NO_TOOLTIP
- maleRadioButton->setText(QApplication::translate("MainWindow", "&Male", nullptr));
- nameLabel->setText(QApplication::translate("MainWindow", "&Name:", nullptr));
- passwordLabel->setText(QApplication::translate("MainWindow", "&Password:", nullptr));
-#ifndef QT_NO_TOOLTIP
- ageSpinBox->setToolTip(QApplication::translate("MainWindow", "Specify your age", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- ageSpinBox->setStatusTip(QApplication::translate("MainWindow", "Specify your age", nullptr));
-#endif // QT_NO_STATUSTIP
-#ifndef QT_NO_TOOLTIP
- agreeCheckBox->setToolTip(QApplication::translate("MainWindow", "Please read the LICENSE file before checking", nullptr));
-#endif // QT_NO_TOOLTIP
- agreeCheckBox->setText(QApplication::translate("MainWindow", "I &accept the terms and &conditions", nullptr));
-#ifndef QT_NO_TOOLTIP
- passwordEdit->setToolTip(QApplication::translate("MainWindow", "Specify your password", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- passwordEdit->setStatusTip(QApplication::translate("MainWindow", "Specify your password", nullptr));
-#endif // QT_NO_STATUSTIP
- passwordEdit->setText(QApplication::translate("MainWindow", "Password", nullptr));
+ MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
+ exitAction->setText(QCoreApplication::translate("MainWindow", "&Exit", nullptr));
+ aboutQtAction->setText(QCoreApplication::translate("MainWindow", "About Qt", nullptr));
+ editStyleAction->setText(QCoreApplication::translate("MainWindow", "Edit &Style", nullptr));
+ aboutAction->setText(QCoreApplication::translate("MainWindow", "About", nullptr));
+ nameCombo->setItemText(0, QCoreApplication::translate("MainWindow", "Girish", nullptr));
+ nameCombo->setItemText(1, QCoreApplication::translate("MainWindow", "Jasmin", nullptr));
+ nameCombo->setItemText(2, QCoreApplication::translate("MainWindow", "Simon", nullptr));
+ nameCombo->setItemText(3, QCoreApplication::translate("MainWindow", "Zack", nullptr));
+
+#if QT_CONFIG(tooltip)
+ nameCombo->setToolTip(QCoreApplication::translate("MainWindow", "Specify your name", nullptr));
+#endif // QT_CONFIG(tooltip)
+ femaleRadioButton->setStyleSheet(QCoreApplication::translate("MainWindow", "Check this if you are female", nullptr));
+ femaleRadioButton->setText(QCoreApplication::translate("MainWindow", "&Female", nullptr));
+ genderLabel->setText(QCoreApplication::translate("MainWindow", "Gender:", nullptr));
+ ageLabel->setText(QCoreApplication::translate("MainWindow", "&Age:", nullptr));
+#if QT_CONFIG(tooltip)
+ maleRadioButton->setToolTip(QCoreApplication::translate("MainWindow", "Check this if you are male", nullptr));
+#endif // QT_CONFIG(tooltip)
+ maleRadioButton->setText(QCoreApplication::translate("MainWindow", "&Male", nullptr));
+ nameLabel->setText(QCoreApplication::translate("MainWindow", "&Name:", nullptr));
+ passwordLabel->setText(QCoreApplication::translate("MainWindow", "&Password:", nullptr));
+#if QT_CONFIG(tooltip)
+ ageSpinBox->setToolTip(QCoreApplication::translate("MainWindow", "Specify your age", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ ageSpinBox->setStatusTip(QCoreApplication::translate("MainWindow", "Specify your age", nullptr));
+#endif // QT_CONFIG(statustip)
+#if QT_CONFIG(tooltip)
+ agreeCheckBox->setToolTip(QCoreApplication::translate("MainWindow", "Please read the LICENSE file before checking", nullptr));
+#endif // QT_CONFIG(tooltip)
+ agreeCheckBox->setText(QCoreApplication::translate("MainWindow", "I &accept the terms and &conditions", nullptr));
+#if QT_CONFIG(tooltip)
+ passwordEdit->setToolTip(QCoreApplication::translate("MainWindow", "Specify your password", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ passwordEdit->setStatusTip(QCoreApplication::translate("MainWindow", "Specify your password", nullptr));
+#endif // QT_CONFIG(statustip)
+ passwordEdit->setText(QCoreApplication::translate("MainWindow", "Password", nullptr));
const bool __sortingEnabled = professionList->isSortingEnabled();
professionList->setSortingEnabled(false);
QListWidgetItem *___qlistwidgetitem = professionList->item(0);
- ___qlistwidgetitem->setText(QApplication::translate("MainWindow", "Developer", nullptr));
+ ___qlistwidgetitem->setText(QCoreApplication::translate("MainWindow", "Developer", nullptr));
QListWidgetItem *___qlistwidgetitem1 = professionList->item(1);
- ___qlistwidgetitem1->setText(QApplication::translate("MainWindow", "Student", nullptr));
+ ___qlistwidgetitem1->setText(QCoreApplication::translate("MainWindow", "Student", nullptr));
QListWidgetItem *___qlistwidgetitem2 = professionList->item(2);
- ___qlistwidgetitem2->setText(QApplication::translate("MainWindow", "Fisherman", nullptr));
+ ___qlistwidgetitem2->setText(QCoreApplication::translate("MainWindow", "Fisherman", nullptr));
professionList->setSortingEnabled(__sortingEnabled);
-#ifndef QT_NO_TOOLTIP
- professionList->setToolTip(QApplication::translate("MainWindow", "Select your profession", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- professionList->setStatusTip(QApplication::translate("MainWindow", "Specify your name here", nullptr));
-#endif // QT_NO_STATUSTIP
-#ifndef QT_NO_WHATSTHIS
- professionList->setWhatsThis(QApplication::translate("MainWindow", "Specify your name here", nullptr));
-#endif // QT_NO_WHATSTHIS
- label->setText(QApplication::translate("MainWindow", "Profession:", nullptr));
- countryCombo->setItemText(0, QApplication::translate("MainWindow", "Egypt", nullptr));
- countryCombo->setItemText(1, QApplication::translate("MainWindow", "France", nullptr));
- countryCombo->setItemText(2, QApplication::translate("MainWindow", "Germany", nullptr));
- countryCombo->setItemText(3, QApplication::translate("MainWindow", "India", nullptr));
- countryCombo->setItemText(4, QApplication::translate("MainWindow", "Italy", nullptr));
- countryCombo->setItemText(5, QApplication::translate("MainWindow", "Korea", nullptr));
- countryCombo->setItemText(6, QApplication::translate("MainWindow", "Norway", nullptr));
-
-#ifndef QT_NO_TOOLTIP
- countryCombo->setToolTip(QApplication::translate("MainWindow", "Specify country of origin", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_STATUSTIP
- countryCombo->setStatusTip(QApplication::translate("MainWindow", "Specify country of origin", nullptr));
-#endif // QT_NO_STATUSTIP
- countryLabel->setText(QApplication::translate("MainWindow", "Pro&fession", nullptr));
- menu_File->setTitle(QApplication::translate("MainWindow", "&File", nullptr));
- menu_Help->setTitle(QApplication::translate("MainWindow", "&Help", nullptr));
+#if QT_CONFIG(tooltip)
+ professionList->setToolTip(QCoreApplication::translate("MainWindow", "Select your profession", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ professionList->setStatusTip(QCoreApplication::translate("MainWindow", "Specify your name here", nullptr));
+#endif // QT_CONFIG(statustip)
+#if QT_CONFIG(whatsthis)
+ professionList->setWhatsThis(QCoreApplication::translate("MainWindow", "Specify your name here", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ label->setText(QCoreApplication::translate("MainWindow", "Profession:", nullptr));
+ countryCombo->setItemText(0, QCoreApplication::translate("MainWindow", "Egypt", nullptr));
+ countryCombo->setItemText(1, QCoreApplication::translate("MainWindow", "France", nullptr));
+ countryCombo->setItemText(2, QCoreApplication::translate("MainWindow", "Germany", nullptr));
+ countryCombo->setItemText(3, QCoreApplication::translate("MainWindow", "India", nullptr));
+ countryCombo->setItemText(4, QCoreApplication::translate("MainWindow", "Italy", nullptr));
+ countryCombo->setItemText(5, QCoreApplication::translate("MainWindow", "Korea", nullptr));
+ countryCombo->setItemText(6, QCoreApplication::translate("MainWindow", "Norway", nullptr));
+
+#if QT_CONFIG(tooltip)
+ countryCombo->setToolTip(QCoreApplication::translate("MainWindow", "Specify country of origin", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(statustip)
+ countryCombo->setStatusTip(QCoreApplication::translate("MainWindow", "Specify country of origin", nullptr));
+#endif // QT_CONFIG(statustip)
+ countryLabel->setText(QCoreApplication::translate("MainWindow", "Pro&fession", nullptr));
+ menu_File->setTitle(QCoreApplication::translate("MainWindow", "&File", nullptr));
+ menu_Help->setTitle(QCoreApplication::translate("MainWindow", "&Help", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/paletteeditor.ui.h b/tests/auto/tools/uic/baseline/paletteeditor.ui.h
index 0061164960..eb1cad8c3a 100644
--- a/tests/auto/tools/uic/baseline/paletteeditor.ui.h
+++ b/tests/auto/tools/uic/baseline/paletteeditor.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'paletteeditor.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -81,7 +81,7 @@ public:
if (qdesigner_internal__PaletteEditor->objectName().isEmpty())
qdesigner_internal__PaletteEditor->setObjectName(QString::fromUtf8("qdesigner_internal__PaletteEditor"));
qdesigner_internal__PaletteEditor->resize(365, 409);
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(7));
+ QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(qdesigner_internal__PaletteEditor->sizePolicy().hasHeightForWidth());
@@ -108,7 +108,7 @@ public:
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
buildButton = new QtColorButton(advancedBox);
buildButton->setObjectName(QString::fromUtf8("buildButton"));
- QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(13));
+ QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Ignored);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(buildButton->sizePolicy().hasHeightForWidth());
@@ -143,7 +143,7 @@ public:
GroupBox126 = new QGroupBox(qdesigner_internal__PaletteEditor);
GroupBox126->setObjectName(QString::fromUtf8("GroupBox126"));
- QSizePolicy sizePolicy2(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(7));
+ QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Expanding);
sizePolicy2.setHorizontalStretch(0);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(GroupBox126->sizePolicy().hasHeightForWidth());
@@ -197,16 +197,16 @@ public:
void retranslateUi(QDialog *qdesigner_internal__PaletteEditor)
{
- qdesigner_internal__PaletteEditor->setWindowTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Edit Palette", nullptr));
- advancedBox->setTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Tune Palette", nullptr));
+ qdesigner_internal__PaletteEditor->setWindowTitle(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Edit Palette", nullptr));
+ advancedBox->setTitle(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Tune Palette", nullptr));
buildButton->setText(QString());
- detailsRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Show Details", nullptr));
- computeRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Compute Details", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Quick", nullptr));
- GroupBox126->setTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Preview", nullptr));
- disabledRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Disabled", nullptr));
- inactiveRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Inactive", nullptr));
- activeRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Active", nullptr));
+ detailsRadio->setText(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Show Details", nullptr));
+ computeRadio->setText(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Compute Details", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Quick", nullptr));
+ GroupBox126->setTitle(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Preview", nullptr));
+ disabledRadio->setText(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Disabled", nullptr));
+ inactiveRadio->setText(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Inactive", nullptr));
+ activeRadio->setText(QCoreApplication::translate("qdesigner_internal::PaletteEditor", "Active", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/passworddialog.ui.h b/tests/auto/tools/uic/baseline/passworddialog.ui.h
index 9ab95c4de9..0542098ec2 100644
--- a/tests/auto/tools/uic/baseline/passworddialog.ui.h
+++ b/tests/auto/tools/uic/baseline/passworddialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'passworddialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -98,11 +98,11 @@ public:
void retranslateUi(QDialog *PasswordDialog)
{
- PasswordDialog->setWindowTitle(QApplication::translate("PasswordDialog", "Authentication Required", nullptr));
- iconLabel->setText(QApplication::translate("PasswordDialog", "DUMMY ICON", nullptr));
- introLabel->setText(QApplication::translate("PasswordDialog", "INTRO TEXT DUMMY", nullptr));
- label->setText(QApplication::translate("PasswordDialog", "Username:", nullptr));
- lblPassword->setText(QApplication::translate("PasswordDialog", "Password:", nullptr));
+ PasswordDialog->setWindowTitle(QCoreApplication::translate("PasswordDialog", "Authentication Required", nullptr));
+ iconLabel->setText(QCoreApplication::translate("PasswordDialog", "DUMMY ICON", nullptr));
+ introLabel->setText(QCoreApplication::translate("PasswordDialog", "INTRO TEXT DUMMY", nullptr));
+ label->setText(QCoreApplication::translate("PasswordDialog", "Username:", nullptr));
+ lblPassword->setText(QCoreApplication::translate("PasswordDialog", "Password:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/pathpage.ui.h b/tests/auto/tools/uic/baseline/pathpage.ui.h
index eb151f9550..bc9f254965 100644
--- a/tests/auto/tools/uic/baseline/pathpage.ui.h
+++ b/tests/auto/tools/uic/baseline/pathpage.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'pathpage.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -104,11 +104,11 @@ public:
void retranslateUi(QWidget *PathPage)
{
- PathPage->setWindowTitle(QApplication::translate("PathPage", "Form", nullptr));
- label_2->setText(QApplication::translate("PathPage", "File filters:", nullptr));
- label->setText(QApplication::translate("PathPage", "Documentation source file paths:", nullptr));
- addButton->setText(QApplication::translate("PathPage", "Add", nullptr));
- removeButton->setText(QApplication::translate("PathPage", "Remove", nullptr));
+ PathPage->setWindowTitle(QCoreApplication::translate("PathPage", "Form", nullptr));
+ label_2->setText(QCoreApplication::translate("PathPage", "File filters:", nullptr));
+ label->setText(QCoreApplication::translate("PathPage", "Documentation source file paths:", nullptr));
+ addButton->setText(QCoreApplication::translate("PathPage", "Add", nullptr));
+ removeButton->setText(QCoreApplication::translate("PathPage", "Remove", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/phrasebookbox.ui.h b/tests/auto/tools/uic/baseline/phrasebookbox.ui.h
index 27a0fa79ed..25989c4bd3 100644
--- a/tests/auto/tools/uic/baseline/phrasebookbox.ui.h
+++ b/tests/auto/tools/uic/baseline/phrasebookbox.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'phrasebookbox.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -165,11 +165,11 @@ public:
unnamed->addLayout(buttonLayout);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
target->setBuddy(targetLed);
source->setBuddy(sourceLed);
definition->setBuddy(definitionLed);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(sourceLed, targetLed);
QWidget::setTabOrder(targetLed, definitionLed);
QWidget::setTabOrder(definitionLed, newBut);
@@ -184,38 +184,38 @@ public:
void retranslateUi(QDialog *PhraseBookBox)
{
- PhraseBookBox->setWindowTitle(QApplication::translate("PhraseBookBox", "Edit Phrase Book", nullptr));
-#ifndef QT_NO_WHATSTHIS
- PhraseBookBox->setWhatsThis(QApplication::translate("PhraseBookBox", "This window allows you to add, modify, or delete phrases in a phrase book.", nullptr));
-#endif // QT_NO_WHATSTHIS
- target->setText(QApplication::translate("PhraseBookBox", "&Translation:", nullptr));
-#ifndef QT_NO_WHATSTHIS
- targetLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is the phrase in the target language corresponding to the source phrase.", nullptr));
-#endif // QT_NO_WHATSTHIS
- source->setText(QApplication::translate("PhraseBookBox", "S&ource phrase:", nullptr));
-#ifndef QT_NO_WHATSTHIS
- definitionLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is a definition for the source phrase.", nullptr));
-#endif // QT_NO_WHATSTHIS
-#ifndef QT_NO_WHATSTHIS
- sourceLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is the phrase in the source language.", nullptr));
-#endif // QT_NO_WHATSTHIS
- definition->setText(QApplication::translate("PhraseBookBox", "&Definition:", nullptr));
-#ifndef QT_NO_WHATSTHIS
- newBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to add the phrase to the phrase book.", nullptr));
-#endif // QT_NO_WHATSTHIS
- newBut->setText(QApplication::translate("PhraseBookBox", "&New Phrase", nullptr));
-#ifndef QT_NO_WHATSTHIS
- removeBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to remove the phrase from the phrase book.", nullptr));
-#endif // QT_NO_WHATSTHIS
- removeBut->setText(QApplication::translate("PhraseBookBox", "&Remove Phrase", nullptr));
-#ifndef QT_NO_WHATSTHIS
- saveBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to save the changes made.", nullptr));
-#endif // QT_NO_WHATSTHIS
- saveBut->setText(QApplication::translate("PhraseBookBox", "&Save", nullptr));
-#ifndef QT_NO_WHATSTHIS
- closeBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to close this window.", nullptr));
-#endif // QT_NO_WHATSTHIS
- closeBut->setText(QApplication::translate("PhraseBookBox", "Close", nullptr));
+ PhraseBookBox->setWindowTitle(QCoreApplication::translate("PhraseBookBox", "Edit Phrase Book", nullptr));
+#if QT_CONFIG(whatsthis)
+ PhraseBookBox->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "This window allows you to add, modify, or delete phrases in a phrase book.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ target->setText(QCoreApplication::translate("PhraseBookBox", "&Translation:", nullptr));
+#if QT_CONFIG(whatsthis)
+ targetLed->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "This is the phrase in the target language corresponding to the source phrase.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ source->setText(QCoreApplication::translate("PhraseBookBox", "S&ource phrase:", nullptr));
+#if QT_CONFIG(whatsthis)
+ definitionLed->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "This is a definition for the source phrase.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+#if QT_CONFIG(whatsthis)
+ sourceLed->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "This is the phrase in the source language.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ definition->setText(QCoreApplication::translate("PhraseBookBox", "&Definition:", nullptr));
+#if QT_CONFIG(whatsthis)
+ newBut->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "Click here to add the phrase to the phrase book.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ newBut->setText(QCoreApplication::translate("PhraseBookBox", "&New Phrase", nullptr));
+#if QT_CONFIG(whatsthis)
+ removeBut->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "Click here to remove the phrase from the phrase book.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ removeBut->setText(QCoreApplication::translate("PhraseBookBox", "&Remove Phrase", nullptr));
+#if QT_CONFIG(whatsthis)
+ saveBut->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "Click here to save the changes made.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ saveBut->setText(QCoreApplication::translate("PhraseBookBox", "&Save", nullptr));
+#if QT_CONFIG(whatsthis)
+ closeBut->setWhatsThis(QCoreApplication::translate("PhraseBookBox", "Click here to close this window.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ closeBut->setText(QCoreApplication::translate("PhraseBookBox", "Close", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/pixmapfunction.ui.h b/tests/auto/tools/uic/baseline/pixmapfunction.ui.h
index 1644380c15..5a24aeeded 100644
--- a/tests/auto/tools/uic/baseline/pixmapfunction.ui.h
+++ b/tests/auto/tools/uic/baseline/pixmapfunction.ui.h
@@ -58,9 +58,9 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", nullptr));
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Form", nullptr));
label->setText(QString());
- pushButton->setText(QApplication::translate("Form", "PushButton", nullptr));
+ pushButton->setText(QCoreApplication::translate("Form", "PushButton", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/plugindialog.ui.h b/tests/auto/tools/uic/baseline/plugindialog.ui.h
index 3634b8436f..72e4d22b78 100644
--- a/tests/auto/tools/uic/baseline/plugindialog.ui.h
+++ b/tests/auto/tools/uic/baseline/plugindialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'plugindialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -111,11 +111,11 @@ public:
void retranslateUi(QDialog *PluginDialog)
{
- PluginDialog->setWindowTitle(QApplication::translate("PluginDialog", "Plugin Information", nullptr));
- label->setText(QApplication::translate("PluginDialog", "TextLabel", nullptr));
+ PluginDialog->setWindowTitle(QCoreApplication::translate("PluginDialog", "Plugin Information", nullptr));
+ label->setText(QCoreApplication::translate("PluginDialog", "TextLabel", nullptr));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("PluginDialog", "1", nullptr));
- message->setText(QApplication::translate("PluginDialog", "TextLabel", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("PluginDialog", "1", nullptr));
+ message->setText(QCoreApplication::translate("PluginDialog", "TextLabel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/preferencesdialog.ui.h b/tests/auto/tools/uic/baseline/preferencesdialog.ui.h
index 289e6775b4..c4002eaff7 100644
--- a/tests/auto/tools/uic/baseline/preferencesdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/preferencesdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'preferencesdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -150,11 +150,11 @@ public:
void retranslateUi(QDialog *PreferencesDialog)
{
- PreferencesDialog->setWindowTitle(QApplication::translate("PreferencesDialog", "Preferences", nullptr));
- m_uiModeGroupBox->setTitle(QApplication::translate("PreferencesDialog", "User Interface Mode", nullptr));
- m_templatePathGroupBox->setTitle(QApplication::translate("PreferencesDialog", "Additional Template Paths", nullptr));
- m_addTemplatePathButton->setText(QApplication::translate("PreferencesDialog", "...", nullptr));
- m_removeTemplatePathButton->setText(QApplication::translate("PreferencesDialog", "...", nullptr));
+ PreferencesDialog->setWindowTitle(QCoreApplication::translate("PreferencesDialog", "Preferences", nullptr));
+ m_uiModeGroupBox->setTitle(QCoreApplication::translate("PreferencesDialog", "User Interface Mode", nullptr));
+ m_templatePathGroupBox->setTitle(QCoreApplication::translate("PreferencesDialog", "Additional Template Paths", nullptr));
+ m_addTemplatePathButton->setText(QCoreApplication::translate("PreferencesDialog", "...", nullptr));
+ m_removeTemplatePathButton->setText(QCoreApplication::translate("PreferencesDialog", "...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h b/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h
index 3c729b9c65..71e8605832 100644
--- a/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'previewconfigurationwidget.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -108,14 +108,14 @@ public:
void retranslateUi(QGroupBox *PreviewConfigurationWidget)
{
- PreviewConfigurationWidget->setWindowTitle(QApplication::translate("PreviewConfigurationWidget", "Form", nullptr));
- PreviewConfigurationWidget->setTitle(QApplication::translate("PreviewConfigurationWidget", "Print/Preview Configuration", nullptr));
- m_styleLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Style", nullptr));
- m_appStyleSheetLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Style sheet", nullptr));
- m_appStyleSheetChangeButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", nullptr));
- m_appStyleSheetClearButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", nullptr));
- m_skinLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Device skin", nullptr));
- m_skinRemoveButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", nullptr));
+ PreviewConfigurationWidget->setWindowTitle(QCoreApplication::translate("PreviewConfigurationWidget", "Form", nullptr));
+ PreviewConfigurationWidget->setTitle(QCoreApplication::translate("PreviewConfigurationWidget", "Print/Preview Configuration", nullptr));
+ m_styleLabel->setText(QCoreApplication::translate("PreviewConfigurationWidget", "Style", nullptr));
+ m_appStyleSheetLabel->setText(QCoreApplication::translate("PreviewConfigurationWidget", "Style sheet", nullptr));
+ m_appStyleSheetChangeButton->setText(QCoreApplication::translate("PreviewConfigurationWidget", "...", nullptr));
+ m_appStyleSheetClearButton->setText(QCoreApplication::translate("PreviewConfigurationWidget", "...", nullptr));
+ m_skinLabel->setText(QCoreApplication::translate("PreviewConfigurationWidget", "Device skin", nullptr));
+ m_skinRemoveButton->setText(QCoreApplication::translate("PreviewConfigurationWidget", "...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/previewdialogbase.ui.h b/tests/auto/tools/uic/baseline/previewdialogbase.ui.h
index 8d4c0dae9f..5ff155de13 100644
--- a/tests/auto/tools/uic/baseline/previewdialogbase.ui.h
+++ b/tests/auto/tools/uic/baseline/previewdialogbase.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'previewdialogbase.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -70,7 +70,7 @@ public:
paperSizeCombo = new QComboBox(PreviewDialogBase);
paperSizeCombo->setObjectName(QString::fromUtf8("paperSizeCombo"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(1), static_cast<QSizePolicy::Policy>(0));
+ QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(paperSizeCombo->sizePolicy().hasHeightForWidth());
@@ -115,7 +115,7 @@ public:
previewArea = new QScrollArea(PreviewDialogBase);
previewArea->setObjectName(QString::fromUtf8("previewArea"));
- QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(5));
+ QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred);
sizePolicy1.setHorizontalStretch(1);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(previewArea->sizePolicy().hasHeightForWidth());
@@ -135,7 +135,7 @@ public:
progressBar = new QProgressBar(PreviewDialogBase);
progressBar->setObjectName(QString::fromUtf8("progressBar"));
progressBar->setEnabled(false);
- QSizePolicy sizePolicy2(static_cast<QSizePolicy::Policy>(7), static_cast<QSizePolicy::Policy>(0));
+ QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Fixed);
sizePolicy2.setHorizontalStretch(1);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(progressBar->sizePolicy().hasHeightForWidth());
@@ -156,10 +156,10 @@ public:
vboxLayout->addLayout(hboxLayout2);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(paperSizeCombo);
label_2->setBuddy(paperOrientationCombo);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(PreviewDialogBase);
QObject::connect(buttonBox, SIGNAL(accepted()), PreviewDialogBase, SLOT(accept()));
@@ -170,11 +170,11 @@ public:
void retranslateUi(QDialog *PreviewDialogBase)
{
- PreviewDialogBase->setWindowTitle(QApplication::translate("PreviewDialogBase", "Print Preview", nullptr));
- label->setText(QApplication::translate("PreviewDialogBase", "&Paper Size:", nullptr));
- label_2->setText(QApplication::translate("PreviewDialogBase", "&Orientation:", nullptr));
+ PreviewDialogBase->setWindowTitle(QCoreApplication::translate("PreviewDialogBase", "Print Preview", nullptr));
+ label->setText(QCoreApplication::translate("PreviewDialogBase", "&Paper Size:", nullptr));
+ label_2->setText(QCoreApplication::translate("PreviewDialogBase", "&Orientation:", nullptr));
QTreeWidgetItem *___qtreewidgetitem = pageList->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("PreviewDialogBase", "1", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("PreviewDialogBase", "1", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/previewwidget.ui.h b/tests/auto/tools/uic/baseline/previewwidget.ui.h
index 6e359416c8..47563587fb 100644
--- a/tests/auto/tools/uic/baseline/previewwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/previewwidget.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'previewwidget.ui'
**
-** Created by: Qt User Interface Compiler version 5.10.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -92,7 +92,7 @@ public:
if (qdesigner_internal__PreviewWidget->objectName().isEmpty())
qdesigner_internal__PreviewWidget->setObjectName(QString::fromUtf8("qdesigner_internal__PreviewWidget"));
qdesigner_internal__PreviewWidget->resize(471, 251);
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(1), static_cast<QSizePolicy::Policy>(1));
+ QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(qdesigner_internal__PreviewWidget->sizePolicy().hasHeightForWidth());
@@ -235,18 +235,18 @@ public:
void retranslateUi(QWidget *qdesigner_internal__PreviewWidget)
{
- qdesigner_internal__PreviewWidget->setWindowTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "Preview Window", nullptr));
- LineEdit1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "LineEdit", nullptr));
- ComboBox1->setItemText(0, QApplication::translate("qdesigner_internal::PreviewWidget", "ComboBox", nullptr));
-
- PushButton1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "PushButton", nullptr));
- ButtonGroup2->setTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup2", nullptr));
- CheckBox1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox1", nullptr));
- CheckBox2->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox2", nullptr));
- ButtonGroup1->setTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup", nullptr));
- RadioButton1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton1", nullptr));
- RadioButton2->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton2", nullptr));
- RadioButton3->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton3", nullptr));
+ qdesigner_internal__PreviewWidget->setWindowTitle(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "Preview Window", nullptr));
+ LineEdit1->setText(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "LineEdit", nullptr));
+ ComboBox1->setItemText(0, QCoreApplication::translate("qdesigner_internal::PreviewWidget", "ComboBox", nullptr));
+
+ PushButton1->setText(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "PushButton", nullptr));
+ ButtonGroup2->setTitle(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup2", nullptr));
+ CheckBox1->setText(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox1", nullptr));
+ CheckBox2->setText(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox2", nullptr));
+ ButtonGroup1->setTitle(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup", nullptr));
+ RadioButton1->setText(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton1", nullptr));
+ RadioButton2->setText(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton2", nullptr));
+ RadioButton3->setText(QCoreApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton3", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/proxy.ui.h b/tests/auto/tools/uic/baseline/proxy.ui.h
index a1bc287190..1ecea389f3 100644
--- a/tests/auto/tools/uic/baseline/proxy.ui.h
+++ b/tests/auto/tools/uic/baseline/proxy.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'proxy.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -87,11 +87,11 @@ public:
void retranslateUi(QDialog *ProxyDialog)
{
- ProxyDialog->setWindowTitle(QApplication::translate("ProxyDialog", "Proxy Authentication", nullptr));
- iconLabel->setText(QApplication::translate("ProxyDialog", "ICON", nullptr));
- introLabel->setText(QApplication::translate("ProxyDialog", "Connect to proxy", nullptr));
- usernameLabel->setText(QApplication::translate("ProxyDialog", "Username:", nullptr));
- passwordLabel->setText(QApplication::translate("ProxyDialog", "Password:", nullptr));
+ ProxyDialog->setWindowTitle(QCoreApplication::translate("ProxyDialog", "Proxy Authentication", nullptr));
+ iconLabel->setText(QCoreApplication::translate("ProxyDialog", "ICON", nullptr));
+ introLabel->setText(QCoreApplication::translate("ProxyDialog", "Connect to proxy", nullptr));
+ usernameLabel->setText(QCoreApplication::translate("ProxyDialog", "Username:", nullptr));
+ passwordLabel->setText(QCoreApplication::translate("ProxyDialog", "Password:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qfiledialog.ui.h b/tests/auto/tools/uic/baseline/qfiledialog.ui.h
index 53607db449..9e51ee6a7c 100644
--- a/tests/auto/tools/uic/baseline/qfiledialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qfiledialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'qfiledialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -271,26 +271,26 @@ public:
void retranslateUi(QDialog *QFileDialog)
{
- lookInLabel->setText(QApplication::translate("QFileDialog", "Look in:", nullptr));
-#ifndef QT_NO_TOOLTIP
- backButton->setToolTip(QApplication::translate("QFileDialog", "Back", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- forwardButton->setToolTip(QApplication::translate("QFileDialog", "Forward", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- toParentButton->setToolTip(QApplication::translate("QFileDialog", "Parent Directory", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- newFolderButton->setToolTip(QApplication::translate("QFileDialog", "Create New Folder", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- listModeButton->setToolTip(QApplication::translate("QFileDialog", "List View", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- detailModeButton->setToolTip(QApplication::translate("QFileDialog", "Detail View", nullptr));
-#endif // QT_NO_TOOLTIP
- fileTypeLabel->setText(QApplication::translate("QFileDialog", "Files of type:", nullptr));
+ lookInLabel->setText(QCoreApplication::translate("QFileDialog", "Look in:", nullptr));
+#if QT_CONFIG(tooltip)
+ backButton->setToolTip(QCoreApplication::translate("QFileDialog", "Back", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ forwardButton->setToolTip(QCoreApplication::translate("QFileDialog", "Forward", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ toParentButton->setToolTip(QCoreApplication::translate("QFileDialog", "Parent Directory", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ newFolderButton->setToolTip(QCoreApplication::translate("QFileDialog", "Create New Folder", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ listModeButton->setToolTip(QCoreApplication::translate("QFileDialog", "List View", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ detailModeButton->setToolTip(QCoreApplication::translate("QFileDialog", "Detail View", nullptr));
+#endif // QT_CONFIG(tooltip)
+ fileTypeLabel->setText(QCoreApplication::translate("QFileDialog", "Files of type:", nullptr));
Q_UNUSED(QFileDialog);
} // retranslateUi
diff --git a/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h b/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h
index a5379bc468..d21d6da972 100644
--- a/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h
@@ -290,12 +290,12 @@ public:
gridLayout_3->addItem(verticalSpacer, 6, 0, 1, 1);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
pageSizeLabel->setBuddy(pageSizeCombo);
widthLabel->setBuddy(pageWidth);
heightLabel->setBuddy(pageHeight);
paperSourceLabel->setBuddy(paperSource);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(QPageSetupWidget);
@@ -304,45 +304,45 @@ public:
void retranslateUi(QWidget *QPageSetupWidget)
{
- QPageSetupWidget->setWindowTitle(QApplication::translate("QPageSetupWidget", "Form", nullptr));
- groupBox_2->setTitle(QApplication::translate("QPageSetupWidget", "Paper", nullptr));
- pageSizeLabel->setText(QApplication::translate("QPageSetupWidget", "Page size:", nullptr));
- widthLabel->setText(QApplication::translate("QPageSetupWidget", "Width:", nullptr));
- heightLabel->setText(QApplication::translate("QPageSetupWidget", "Height:", nullptr));
- paperSourceLabel->setText(QApplication::translate("QPageSetupWidget", "Paper source:", nullptr));
- groupBox_3->setTitle(QApplication::translate("QPageSetupWidget", "Orientation", nullptr));
- portrait->setText(QApplication::translate("QPageSetupWidget", "Portrait", nullptr));
- landscape->setText(QApplication::translate("QPageSetupWidget", "Landscape", nullptr));
- reverseLandscape->setText(QApplication::translate("QPageSetupWidget", "Reverse landscape", nullptr));
- reversePortrait->setText(QApplication::translate("QPageSetupWidget", "Reverse portrait", nullptr));
- groupBox->setTitle(QApplication::translate("QPageSetupWidget", "Margins", nullptr));
-#ifndef QT_NO_TOOLTIP
- topMargin->setToolTip(QApplication::translate("QPageSetupWidget", "top margin", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_ACCESSIBILITY
- topMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "top margin", nullptr));
-#endif // QT_NO_ACCESSIBILITY
-#ifndef QT_NO_TOOLTIP
- leftMargin->setToolTip(QApplication::translate("QPageSetupWidget", "left margin", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_ACCESSIBILITY
- leftMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "left margin", nullptr));
-#endif // QT_NO_ACCESSIBILITY
-#ifndef QT_NO_TOOLTIP
- rightMargin->setToolTip(QApplication::translate("QPageSetupWidget", "right margin", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_ACCESSIBILITY
- rightMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "right margin", nullptr));
-#endif // QT_NO_ACCESSIBILITY
-#ifndef QT_NO_TOOLTIP
- bottomMargin->setToolTip(QApplication::translate("QPageSetupWidget", "bottom margin", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_ACCESSIBILITY
- bottomMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "bottom margin", nullptr));
-#endif // QT_NO_ACCESSIBILITY
- pagesPerSheetButtonGroup->setTitle(QApplication::translate("QPageSetupWidget", "Page Layout", nullptr));
- label->setText(QApplication::translate("QPageSetupWidget", "Page order:", nullptr));
- label_2->setText(QApplication::translate("QPageSetupWidget", "Pages per sheet:", nullptr));
+ QPageSetupWidget->setWindowTitle(QCoreApplication::translate("QPageSetupWidget", "Form", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("QPageSetupWidget", "Paper", nullptr));
+ pageSizeLabel->setText(QCoreApplication::translate("QPageSetupWidget", "Page size:", nullptr));
+ widthLabel->setText(QCoreApplication::translate("QPageSetupWidget", "Width:", nullptr));
+ heightLabel->setText(QCoreApplication::translate("QPageSetupWidget", "Height:", nullptr));
+ paperSourceLabel->setText(QCoreApplication::translate("QPageSetupWidget", "Paper source:", nullptr));
+ groupBox_3->setTitle(QCoreApplication::translate("QPageSetupWidget", "Orientation", nullptr));
+ portrait->setText(QCoreApplication::translate("QPageSetupWidget", "Portrait", nullptr));
+ landscape->setText(QCoreApplication::translate("QPageSetupWidget", "Landscape", nullptr));
+ reverseLandscape->setText(QCoreApplication::translate("QPageSetupWidget", "Reverse landscape", nullptr));
+ reversePortrait->setText(QCoreApplication::translate("QPageSetupWidget", "Reverse portrait", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("QPageSetupWidget", "Margins", nullptr));
+#if QT_CONFIG(tooltip)
+ topMargin->setToolTip(QCoreApplication::translate("QPageSetupWidget", "top margin", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(accessibility)
+ topMargin->setAccessibleName(QCoreApplication::translate("QPageSetupWidget", "top margin", nullptr));
+#endif // QT_CONFIG(accessibility)
+#if QT_CONFIG(tooltip)
+ leftMargin->setToolTip(QCoreApplication::translate("QPageSetupWidget", "left margin", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(accessibility)
+ leftMargin->setAccessibleName(QCoreApplication::translate("QPageSetupWidget", "left margin", nullptr));
+#endif // QT_CONFIG(accessibility)
+#if QT_CONFIG(tooltip)
+ rightMargin->setToolTip(QCoreApplication::translate("QPageSetupWidget", "right margin", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(accessibility)
+ rightMargin->setAccessibleName(QCoreApplication::translate("QPageSetupWidget", "right margin", nullptr));
+#endif // QT_CONFIG(accessibility)
+#if QT_CONFIG(tooltip)
+ bottomMargin->setToolTip(QCoreApplication::translate("QPageSetupWidget", "bottom margin", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(accessibility)
+ bottomMargin->setAccessibleName(QCoreApplication::translate("QPageSetupWidget", "bottom margin", nullptr));
+#endif // QT_CONFIG(accessibility)
+ pagesPerSheetButtonGroup->setTitle(QCoreApplication::translate("QPageSetupWidget", "Page Layout", nullptr));
+ label->setText(QCoreApplication::translate("QPageSetupWidget", "Page order:", nullptr));
+ label_2->setText(QCoreApplication::translate("QPageSetupWidget", "Pages per sheet:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h b/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h
index 8626a9fc3c..f0e06548b5 100644
--- a/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h
+++ b/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'qprintpropertieswidget.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -79,9 +79,9 @@ public:
void retranslateUi(QWidget *QPrintPropertiesWidget)
{
- QPrintPropertiesWidget->setWindowTitle(QApplication::translate("QPrintPropertiesWidget", "Form", nullptr));
- tabs->setTabText(tabs->indexOf(tabPage), QApplication::translate("QPrintPropertiesWidget", "Page", nullptr));
- tabs->setTabText(tabs->indexOf(cupsPropertiesPage), QApplication::translate("QPrintPropertiesWidget", "Advanced", nullptr));
+ QPrintPropertiesWidget->setWindowTitle(QCoreApplication::translate("QPrintPropertiesWidget", "Form", nullptr));
+ tabs->setTabText(tabs->indexOf(tabPage), QCoreApplication::translate("QPrintPropertiesWidget", "Page", nullptr));
+ tabs->setTabText(tabs->indexOf(cupsPropertiesPage), QCoreApplication::translate("QPrintPropertiesWidget", "Advanced", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h b/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h
index 656b5f9deb..3d37a55548 100644
--- a/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h
+++ b/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'qprintsettingsoutput.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -260,9 +260,9 @@ public:
horizontalLayout_2->addWidget(tabs);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(copies);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(QPrintSettingsOutput);
QObject::connect(printRange, SIGNAL(toggled(bool)), from, SLOT(setEnabled(bool)));
@@ -276,25 +276,25 @@ public:
void retranslateUi(QWidget *QPrintSettingsOutput)
{
- QPrintSettingsOutput->setWindowTitle(QApplication::translate("QPrintSettingsOutput", "Form", nullptr));
- gbPrintRange->setTitle(QApplication::translate("QPrintSettingsOutput", "Print range", nullptr));
- printAll->setText(QApplication::translate("QPrintSettingsOutput", "Print all", nullptr));
- printRange->setText(QApplication::translate("QPrintSettingsOutput", "Pages from", nullptr));
- label_3->setText(QApplication::translate("QPrintSettingsOutput", "to", nullptr));
- printSelection->setText(QApplication::translate("QPrintSettingsOutput", "Selection", nullptr));
- groupBox->setTitle(QApplication::translate("QPrintSettingsOutput", "Output Settings", nullptr));
- label->setText(QApplication::translate("QPrintSettingsOutput", "Copies:", nullptr));
- collate->setText(QApplication::translate("QPrintSettingsOutput", "Collate", nullptr));
- reverse->setText(QApplication::translate("QPrintSettingsOutput", "Reverse", nullptr));
- tabs->setTabText(tabs->indexOf(copiesTab), QApplication::translate("QPrintSettingsOutput", "Copies", nullptr));
- colorMode->setTitle(QApplication::translate("QPrintSettingsOutput", "Color Mode", nullptr));
- color->setText(QApplication::translate("QPrintSettingsOutput", "Color", nullptr));
- grayscale->setText(QApplication::translate("QPrintSettingsOutput", "Grayscale", nullptr));
- duplex->setTitle(QApplication::translate("QPrintSettingsOutput", "Duplex Printing", nullptr));
- noDuplex->setText(QApplication::translate("QPrintSettingsOutput", "None", nullptr));
- duplexLong->setText(QApplication::translate("QPrintSettingsOutput", "Long side", nullptr));
- duplexShort->setText(QApplication::translate("QPrintSettingsOutput", "Short side", nullptr));
- tabs->setTabText(tabs->indexOf(optionsTab), QApplication::translate("QPrintSettingsOutput", "Options", nullptr));
+ QPrintSettingsOutput->setWindowTitle(QCoreApplication::translate("QPrintSettingsOutput", "Form", nullptr));
+ gbPrintRange->setTitle(QCoreApplication::translate("QPrintSettingsOutput", "Print range", nullptr));
+ printAll->setText(QCoreApplication::translate("QPrintSettingsOutput", "Print all", nullptr));
+ printRange->setText(QCoreApplication::translate("QPrintSettingsOutput", "Pages from", nullptr));
+ label_3->setText(QCoreApplication::translate("QPrintSettingsOutput", "to", nullptr));
+ printSelection->setText(QCoreApplication::translate("QPrintSettingsOutput", "Selection", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("QPrintSettingsOutput", "Output Settings", nullptr));
+ label->setText(QCoreApplication::translate("QPrintSettingsOutput", "Copies:", nullptr));
+ collate->setText(QCoreApplication::translate("QPrintSettingsOutput", "Collate", nullptr));
+ reverse->setText(QCoreApplication::translate("QPrintSettingsOutput", "Reverse", nullptr));
+ tabs->setTabText(tabs->indexOf(copiesTab), QCoreApplication::translate("QPrintSettingsOutput", "Copies", nullptr));
+ colorMode->setTitle(QCoreApplication::translate("QPrintSettingsOutput", "Color Mode", nullptr));
+ color->setText(QCoreApplication::translate("QPrintSettingsOutput", "Color", nullptr));
+ grayscale->setText(QCoreApplication::translate("QPrintSettingsOutput", "Grayscale", nullptr));
+ duplex->setTitle(QCoreApplication::translate("QPrintSettingsOutput", "Duplex Printing", nullptr));
+ noDuplex->setText(QCoreApplication::translate("QPrintSettingsOutput", "None", nullptr));
+ duplexLong->setText(QCoreApplication::translate("QPrintSettingsOutput", "Long side", nullptr));
+ duplexShort->setText(QCoreApplication::translate("QPrintSettingsOutput", "Short side", nullptr));
+ tabs->setTabText(tabs->indexOf(optionsTab), QCoreApplication::translate("QPrintSettingsOutput", "Options", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qprintwidget.ui.h b/tests/auto/tools/uic/baseline/qprintwidget.ui.h
index 04b05143c6..5b1d921173 100644
--- a/tests/auto/tools/uic/baseline/qprintwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/qprintwidget.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'qprintwidget.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -128,10 +128,10 @@ public:
horizontalLayout_2->addWidget(printerGroup);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(printers);
lOutput->setBuddy(filename);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(QPrintWidget);
@@ -140,15 +140,15 @@ public:
void retranslateUi(QWidget *QPrintWidget)
{
- QPrintWidget->setWindowTitle(QApplication::translate("QPrintWidget", "Form", nullptr));
- printerGroup->setTitle(QApplication::translate("QPrintWidget", "Printer", nullptr));
- label->setText(QApplication::translate("QPrintWidget", "&Name:", nullptr));
- properties->setText(QApplication::translate("QPrintWidget", "P&roperties", nullptr));
- label_2->setText(QApplication::translate("QPrintWidget", "Location:", nullptr));
- preview->setText(QApplication::translate("QPrintWidget", "Preview", nullptr));
- label_3->setText(QApplication::translate("QPrintWidget", "Type:", nullptr));
- lOutput->setText(QApplication::translate("QPrintWidget", "Output &file:", nullptr));
- fileBrowser->setText(QApplication::translate("QPrintWidget", "...", nullptr));
+ QPrintWidget->setWindowTitle(QCoreApplication::translate("QPrintWidget", "Form", nullptr));
+ printerGroup->setTitle(QCoreApplication::translate("QPrintWidget", "Printer", nullptr));
+ label->setText(QCoreApplication::translate("QPrintWidget", "&Name:", nullptr));
+ properties->setText(QCoreApplication::translate("QPrintWidget", "P&roperties", nullptr));
+ label_2->setText(QCoreApplication::translate("QPrintWidget", "Location:", nullptr));
+ preview->setText(QCoreApplication::translate("QPrintWidget", "Preview", nullptr));
+ label_3->setText(QCoreApplication::translate("QPrintWidget", "Type:", nullptr));
+ lOutput->setText(QCoreApplication::translate("QPrintWidget", "Output &file:", nullptr));
+ fileBrowser->setText(QCoreApplication::translate("QPrintWidget", "...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h b/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h
index 2131bc6d9b..681c1f97da 100644
--- a/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'qsqlconnectiondialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -179,14 +179,14 @@ public:
vboxLayout->addLayout(hboxLayout1);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
textLabel4->setBuddy(editUsername);
textLabel2->setBuddy(comboDriver);
textLabel3->setBuddy(editDatabase);
textLabel5->setBuddy(editHostname);
textLabel5_2->setBuddy(portSpinBox);
textLabel4_2->setBuddy(editPassword);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(comboDriver, editDatabase);
QWidget::setTabOrder(editDatabase, editUsername);
QWidget::setTabOrder(editUsername, editPassword);
@@ -206,18 +206,18 @@ public:
void retranslateUi(QDialog *QSqlConnectionDialogUi)
{
- QSqlConnectionDialogUi->setWindowTitle(QApplication::translate("QSqlConnectionDialogUi", "Connect...", nullptr));
- connGroupBox->setTitle(QApplication::translate("QSqlConnectionDialogUi", "Connection settings", nullptr));
- textLabel4->setText(QApplication::translate("QSqlConnectionDialogUi", "&Username:", nullptr));
- textLabel2->setText(QApplication::translate("QSqlConnectionDialogUi", "D&river", nullptr));
- portSpinBox->setSpecialValueText(QApplication::translate("QSqlConnectionDialogUi", "Default", nullptr));
- textLabel3->setText(QApplication::translate("QSqlConnectionDialogUi", "Database Name:", nullptr));
- textLabel5->setText(QApplication::translate("QSqlConnectionDialogUi", "&Hostname:", nullptr));
- textLabel5_2->setText(QApplication::translate("QSqlConnectionDialogUi", "P&ort:", nullptr));
- textLabel4_2->setText(QApplication::translate("QSqlConnectionDialogUi", "&Password:", nullptr));
- dbCheckBox->setText(QApplication::translate("QSqlConnectionDialogUi", "Us&e predefined in-memory database", nullptr));
- okButton->setText(QApplication::translate("QSqlConnectionDialogUi", "&OK", nullptr));
- cancelButton->setText(QApplication::translate("QSqlConnectionDialogUi", "&Cancel", nullptr));
+ QSqlConnectionDialogUi->setWindowTitle(QCoreApplication::translate("QSqlConnectionDialogUi", "Connect...", nullptr));
+ connGroupBox->setTitle(QCoreApplication::translate("QSqlConnectionDialogUi", "Connection settings", nullptr));
+ textLabel4->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "&Username:", nullptr));
+ textLabel2->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "D&river", nullptr));
+ portSpinBox->setSpecialValueText(QCoreApplication::translate("QSqlConnectionDialogUi", "Default", nullptr));
+ textLabel3->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "Database Name:", nullptr));
+ textLabel5->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "&Hostname:", nullptr));
+ textLabel5_2->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "P&ort:", nullptr));
+ textLabel4_2->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "&Password:", nullptr));
+ dbCheckBox->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "Us&e predefined in-memory database", nullptr));
+ okButton->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "&OK", nullptr));
+ cancelButton->setText(QCoreApplication::translate("QSqlConnectionDialogUi", "&Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h b/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h
index 805f70e60d..5c09962572 100644
--- a/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'qtgradientdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -89,7 +89,7 @@ public:
void retranslateUi(QDialog *QtGradientDialog)
{
- QtGradientDialog->setWindowTitle(QApplication::translate("QtGradientDialog", "Edit Gradient", nullptr));
+ QtGradientDialog->setWindowTitle(QCoreApplication::translate("QtGradientDialog", "Edit Gradient", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h b/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h
index 9db07f35ac..7ca14d6ef4 100644
--- a/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h
@@ -583,119 +583,119 @@ public:
void retranslateUi(QWidget *QtGradientEditor)
{
- QtGradientEditor->setWindowTitle(QApplication::translate("QtGradientEditor", "Form", nullptr));
-#ifndef QT_NO_TOOLTIP
- gradientWidget->setToolTip(QApplication::translate("QtGradientEditor", "Gradient Editor", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- gradientWidget->setWhatsThis(QApplication::translate("QtGradientEditor", "This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop.", nullptr));
-#endif // QT_NO_WHATSTHIS
- label1->setText(QApplication::translate("QtGradientEditor", "1", nullptr));
- label2->setText(QApplication::translate("QtGradientEditor", "2", nullptr));
- label3->setText(QApplication::translate("QtGradientEditor", "3", nullptr));
- label4->setText(QApplication::translate("QtGradientEditor", "4", nullptr));
- label5->setText(QApplication::translate("QtGradientEditor", "5", nullptr));
-#ifndef QT_NO_TOOLTIP
- gradientStopsWidget->setToolTip(QApplication::translate("QtGradientEditor", "Gradient Stops Editor", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_WHATSTHIS
- gradientStopsWidget->setWhatsThis(QApplication::translate("QtGradientEditor", "This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.", nullptr));
-#endif // QT_NO_WHATSTHIS
- zoomLabel->setText(QApplication::translate("QtGradientEditor", "Zoom", nullptr));
-#ifndef QT_NO_TOOLTIP
- zoomAllButton->setToolTip(QApplication::translate("QtGradientEditor", "Reset Zoom", nullptr));
-#endif // QT_NO_TOOLTIP
- zoomAllButton->setText(QApplication::translate("QtGradientEditor", "Reset Zoom", nullptr));
- positionLabel->setText(QApplication::translate("QtGradientEditor", "Position", nullptr));
-#ifndef QT_NO_TOOLTIP
- hLabel->setToolTip(QApplication::translate("QtGradientEditor", "Hue", nullptr));
-#endif // QT_NO_TOOLTIP
- hLabel->setText(QApplication::translate("QtGradientEditor", "H", nullptr));
-#ifndef QT_NO_TOOLTIP
- hueColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Hue", nullptr));
-#endif // QT_NO_TOOLTIP
- hueLabel->setText(QApplication::translate("QtGradientEditor", "Hue", nullptr));
-#ifndef QT_NO_TOOLTIP
- sLabel->setToolTip(QApplication::translate("QtGradientEditor", "Saturation", nullptr));
-#endif // QT_NO_TOOLTIP
- sLabel->setText(QApplication::translate("QtGradientEditor", "S", nullptr));
-#ifndef QT_NO_TOOLTIP
- saturationColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Saturation", nullptr));
-#endif // QT_NO_TOOLTIP
- saturationLabel->setText(QApplication::translate("QtGradientEditor", "Sat", nullptr));
-#ifndef QT_NO_TOOLTIP
- vLabel->setToolTip(QApplication::translate("QtGradientEditor", "Value", nullptr));
-#endif // QT_NO_TOOLTIP
- vLabel->setText(QApplication::translate("QtGradientEditor", "V", nullptr));
-#ifndef QT_NO_TOOLTIP
- valueColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Value", nullptr));
-#endif // QT_NO_TOOLTIP
- valueLabel->setText(QApplication::translate("QtGradientEditor", "Val", nullptr));
-#ifndef QT_NO_TOOLTIP
- aLabel->setToolTip(QApplication::translate("QtGradientEditor", "Alpha", nullptr));
-#endif // QT_NO_TOOLTIP
- aLabel->setText(QApplication::translate("QtGradientEditor", "A", nullptr));
-#ifndef QT_NO_TOOLTIP
- alphaColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Alpha", nullptr));
-#endif // QT_NO_TOOLTIP
- alphaLabel->setText(QApplication::translate("QtGradientEditor", "Alpha", nullptr));
-#ifndef QT_NO_TOOLTIP
- typeComboBox->setToolTip(QApplication::translate("QtGradientEditor", "Type", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- spreadComboBox->setToolTip(QApplication::translate("QtGradientEditor", "Spread", nullptr));
-#endif // QT_NO_TOOLTIP
- colorLabel->setText(QApplication::translate("QtGradientEditor", "Color", nullptr));
-#ifndef QT_NO_TOOLTIP
- colorButton->setToolTip(QApplication::translate("QtGradientEditor", "Current stop's color", nullptr));
-#endif // QT_NO_TOOLTIP
+ QtGradientEditor->setWindowTitle(QCoreApplication::translate("QtGradientEditor", "Form", nullptr));
+#if QT_CONFIG(tooltip)
+ gradientWidget->setToolTip(QCoreApplication::translate("QtGradientEditor", "Gradient Editor", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ gradientWidget->setWhatsThis(QCoreApplication::translate("QtGradientEditor", "This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ label1->setText(QCoreApplication::translate("QtGradientEditor", "1", nullptr));
+ label2->setText(QCoreApplication::translate("QtGradientEditor", "2", nullptr));
+ label3->setText(QCoreApplication::translate("QtGradientEditor", "3", nullptr));
+ label4->setText(QCoreApplication::translate("QtGradientEditor", "4", nullptr));
+ label5->setText(QCoreApplication::translate("QtGradientEditor", "5", nullptr));
+#if QT_CONFIG(tooltip)
+ gradientStopsWidget->setToolTip(QCoreApplication::translate("QtGradientEditor", "Gradient Stops Editor", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(whatsthis)
+ gradientStopsWidget->setWhatsThis(QCoreApplication::translate("QtGradientEditor", "This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ zoomLabel->setText(QCoreApplication::translate("QtGradientEditor", "Zoom", nullptr));
+#if QT_CONFIG(tooltip)
+ zoomAllButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Reset Zoom", nullptr));
+#endif // QT_CONFIG(tooltip)
+ zoomAllButton->setText(QCoreApplication::translate("QtGradientEditor", "Reset Zoom", nullptr));
+ positionLabel->setText(QCoreApplication::translate("QtGradientEditor", "Position", nullptr));
+#if QT_CONFIG(tooltip)
+ hLabel->setToolTip(QCoreApplication::translate("QtGradientEditor", "Hue", nullptr));
+#endif // QT_CONFIG(tooltip)
+ hLabel->setText(QCoreApplication::translate("QtGradientEditor", "H", nullptr));
+#if QT_CONFIG(tooltip)
+ hueColorLine->setToolTip(QCoreApplication::translate("QtGradientEditor", "Hue", nullptr));
+#endif // QT_CONFIG(tooltip)
+ hueLabel->setText(QCoreApplication::translate("QtGradientEditor", "Hue", nullptr));
+#if QT_CONFIG(tooltip)
+ sLabel->setToolTip(QCoreApplication::translate("QtGradientEditor", "Saturation", nullptr));
+#endif // QT_CONFIG(tooltip)
+ sLabel->setText(QCoreApplication::translate("QtGradientEditor", "S", nullptr));
+#if QT_CONFIG(tooltip)
+ saturationColorLine->setToolTip(QCoreApplication::translate("QtGradientEditor", "Saturation", nullptr));
+#endif // QT_CONFIG(tooltip)
+ saturationLabel->setText(QCoreApplication::translate("QtGradientEditor", "Sat", nullptr));
+#if QT_CONFIG(tooltip)
+ vLabel->setToolTip(QCoreApplication::translate("QtGradientEditor", "Value", nullptr));
+#endif // QT_CONFIG(tooltip)
+ vLabel->setText(QCoreApplication::translate("QtGradientEditor", "V", nullptr));
+#if QT_CONFIG(tooltip)
+ valueColorLine->setToolTip(QCoreApplication::translate("QtGradientEditor", "Value", nullptr));
+#endif // QT_CONFIG(tooltip)
+ valueLabel->setText(QCoreApplication::translate("QtGradientEditor", "Val", nullptr));
+#if QT_CONFIG(tooltip)
+ aLabel->setToolTip(QCoreApplication::translate("QtGradientEditor", "Alpha", nullptr));
+#endif // QT_CONFIG(tooltip)
+ aLabel->setText(QCoreApplication::translate("QtGradientEditor", "A", nullptr));
+#if QT_CONFIG(tooltip)
+ alphaColorLine->setToolTip(QCoreApplication::translate("QtGradientEditor", "Alpha", nullptr));
+#endif // QT_CONFIG(tooltip)
+ alphaLabel->setText(QCoreApplication::translate("QtGradientEditor", "Alpha", nullptr));
+#if QT_CONFIG(tooltip)
+ typeComboBox->setToolTip(QCoreApplication::translate("QtGradientEditor", "Type", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ spreadComboBox->setToolTip(QCoreApplication::translate("QtGradientEditor", "Spread", nullptr));
+#endif // QT_CONFIG(tooltip)
+ colorLabel->setText(QCoreApplication::translate("QtGradientEditor", "Color", nullptr));
+#if QT_CONFIG(tooltip)
+ colorButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Current stop's color", nullptr));
+#endif // QT_CONFIG(tooltip)
colorButton->setText(QString());
-#ifndef QT_NO_TOOLTIP
- hsvRadioButton->setToolTip(QApplication::translate("QtGradientEditor", "Show HSV specification", nullptr));
-#endif // QT_NO_TOOLTIP
- hsvRadioButton->setText(QApplication::translate("QtGradientEditor", "HSV", nullptr));
-#ifndef QT_NO_TOOLTIP
- rgbRadioButton->setToolTip(QApplication::translate("QtGradientEditor", "Show RGB specification", nullptr));
-#endif // QT_NO_TOOLTIP
- rgbRadioButton->setText(QApplication::translate("QtGradientEditor", "RGB", nullptr));
-#ifndef QT_NO_TOOLTIP
- positionSpinBox->setToolTip(QApplication::translate("QtGradientEditor", "Current stop's position", nullptr));
-#endif // QT_NO_TOOLTIP
- zoomSpinBox->setSuffix(QApplication::translate("QtGradientEditor", "%", nullptr));
-#ifndef QT_NO_TOOLTIP
- zoomInButton->setToolTip(QApplication::translate("QtGradientEditor", "Zoom In", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- zoomOutButton->setToolTip(QApplication::translate("QtGradientEditor", "Zoom Out", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- detailsButton->setToolTip(QApplication::translate("QtGradientEditor", "Toggle details extension", nullptr));
-#endif // QT_NO_TOOLTIP
- detailsButton->setText(QApplication::translate("QtGradientEditor", ">", nullptr));
-#ifndef QT_NO_TOOLTIP
- linearButton->setToolTip(QApplication::translate("QtGradientEditor", "Linear Type", nullptr));
-#endif // QT_NO_TOOLTIP
- linearButton->setText(QApplication::translate("QtGradientEditor", "...", nullptr));
-#ifndef QT_NO_TOOLTIP
- radialButton->setToolTip(QApplication::translate("QtGradientEditor", "Radial Type", nullptr));
-#endif // QT_NO_TOOLTIP
- radialButton->setText(QApplication::translate("QtGradientEditor", "...", nullptr));
-#ifndef QT_NO_TOOLTIP
- conicalButton->setToolTip(QApplication::translate("QtGradientEditor", "Conical Type", nullptr));
-#endif // QT_NO_TOOLTIP
- conicalButton->setText(QApplication::translate("QtGradientEditor", "...", nullptr));
-#ifndef QT_NO_TOOLTIP
- padButton->setToolTip(QApplication::translate("QtGradientEditor", "Pad Spread", nullptr));
-#endif // QT_NO_TOOLTIP
- padButton->setText(QApplication::translate("QtGradientEditor", "...", nullptr));
-#ifndef QT_NO_TOOLTIP
- repeatButton->setToolTip(QApplication::translate("QtGradientEditor", "Repeat Spread", nullptr));
-#endif // QT_NO_TOOLTIP
- repeatButton->setText(QApplication::translate("QtGradientEditor", "...", nullptr));
-#ifndef QT_NO_TOOLTIP
- reflectButton->setToolTip(QApplication::translate("QtGradientEditor", "Reflect Spread", nullptr));
-#endif // QT_NO_TOOLTIP
- reflectButton->setText(QApplication::translate("QtGradientEditor", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ hsvRadioButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Show HSV specification", nullptr));
+#endif // QT_CONFIG(tooltip)
+ hsvRadioButton->setText(QCoreApplication::translate("QtGradientEditor", "HSV", nullptr));
+#if QT_CONFIG(tooltip)
+ rgbRadioButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Show RGB specification", nullptr));
+#endif // QT_CONFIG(tooltip)
+ rgbRadioButton->setText(QCoreApplication::translate("QtGradientEditor", "RGB", nullptr));
+#if QT_CONFIG(tooltip)
+ positionSpinBox->setToolTip(QCoreApplication::translate("QtGradientEditor", "Current stop's position", nullptr));
+#endif // QT_CONFIG(tooltip)
+ zoomSpinBox->setSuffix(QCoreApplication::translate("QtGradientEditor", "%", nullptr));
+#if QT_CONFIG(tooltip)
+ zoomInButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Zoom In", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ zoomOutButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Zoom Out", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ detailsButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Toggle details extension", nullptr));
+#endif // QT_CONFIG(tooltip)
+ detailsButton->setText(QCoreApplication::translate("QtGradientEditor", ">", nullptr));
+#if QT_CONFIG(tooltip)
+ linearButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Linear Type", nullptr));
+#endif // QT_CONFIG(tooltip)
+ linearButton->setText(QCoreApplication::translate("QtGradientEditor", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ radialButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Radial Type", nullptr));
+#endif // QT_CONFIG(tooltip)
+ radialButton->setText(QCoreApplication::translate("QtGradientEditor", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ conicalButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Conical Type", nullptr));
+#endif // QT_CONFIG(tooltip)
+ conicalButton->setText(QCoreApplication::translate("QtGradientEditor", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ padButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Pad Spread", nullptr));
+#endif // QT_CONFIG(tooltip)
+ padButton->setText(QCoreApplication::translate("QtGradientEditor", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ repeatButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Repeat Spread", nullptr));
+#endif // QT_CONFIG(tooltip)
+ repeatButton->setText(QCoreApplication::translate("QtGradientEditor", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ reflectButton->setToolTip(QCoreApplication::translate("QtGradientEditor", "Reflect Spread", nullptr));
+#endif // QT_CONFIG(tooltip)
+ reflectButton->setText(QCoreApplication::translate("QtGradientEditor", "...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradientview.ui.h b/tests/auto/tools/uic/baseline/qtgradientview.ui.h
index aa3c03b02f..494324b00f 100644
--- a/tests/auto/tools/uic/baseline/qtgradientview.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradientview.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'qtgradientview.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -105,11 +105,11 @@ public:
void retranslateUi(QWidget *QtGradientView)
{
- QtGradientView->setWindowTitle(QApplication::translate("QtGradientView", "Gradient View", nullptr));
- newButton->setText(QApplication::translate("QtGradientView", "New...", nullptr));
- editButton->setText(QApplication::translate("QtGradientView", "Edit...", nullptr));
- renameButton->setText(QApplication::translate("QtGradientView", "Rename", nullptr));
- removeButton->setText(QApplication::translate("QtGradientView", "Remove", nullptr));
+ QtGradientView->setWindowTitle(QCoreApplication::translate("QtGradientView", "Gradient View", nullptr));
+ newButton->setText(QCoreApplication::translate("QtGradientView", "New...", nullptr));
+ editButton->setText(QCoreApplication::translate("QtGradientView", "Edit...", nullptr));
+ renameButton->setText(QCoreApplication::translate("QtGradientView", "Rename", nullptr));
+ removeButton->setText(QCoreApplication::translate("QtGradientView", "Remove", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h b/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h
index e6d98ed4f0..f6369c8c5f 100644
--- a/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'qtgradientviewdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -89,7 +89,7 @@ public:
void retranslateUi(QDialog *QtGradientViewDialog)
{
- QtGradientViewDialog->setWindowTitle(QApplication::translate("QtGradientViewDialog", "Select Gradient", nullptr));
+ QtGradientViewDialog->setWindowTitle(QCoreApplication::translate("QtGradientViewDialog", "Select Gradient", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h b/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h
index 6a8c9c7172..7428778a9c 100644
--- a/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'qtresourceeditordialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -141,25 +141,25 @@ public:
void retranslateUi(QDialog *QtResourceEditorDialog)
{
- QtResourceEditorDialog->setWindowTitle(QApplication::translate("QtResourceEditorDialog", "Dialog", nullptr));
-#ifndef QT_NO_TOOLTIP
- newQrcButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "New File", nullptr));
-#endif // QT_NO_TOOLTIP
- newQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "N", nullptr));
-#ifndef QT_NO_TOOLTIP
- removeQrcButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "Remove File", nullptr));
-#endif // QT_NO_TOOLTIP
- removeQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "R", nullptr));
- importQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "I", nullptr));
-#ifndef QT_NO_TOOLTIP
- newResourceButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "New Resource", nullptr));
-#endif // QT_NO_TOOLTIP
- newResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "N", nullptr));
- addResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "A", nullptr));
-#ifndef QT_NO_TOOLTIP
- removeResourceButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "Remove Resource or File", nullptr));
-#endif // QT_NO_TOOLTIP
- removeResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "R", nullptr));
+ QtResourceEditorDialog->setWindowTitle(QCoreApplication::translate("QtResourceEditorDialog", "Dialog", nullptr));
+#if QT_CONFIG(tooltip)
+ newQrcButton->setToolTip(QCoreApplication::translate("QtResourceEditorDialog", "New File", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newQrcButton->setText(QCoreApplication::translate("QtResourceEditorDialog", "N", nullptr));
+#if QT_CONFIG(tooltip)
+ removeQrcButton->setToolTip(QCoreApplication::translate("QtResourceEditorDialog", "Remove File", nullptr));
+#endif // QT_CONFIG(tooltip)
+ removeQrcButton->setText(QCoreApplication::translate("QtResourceEditorDialog", "R", nullptr));
+ importQrcButton->setText(QCoreApplication::translate("QtResourceEditorDialog", "I", nullptr));
+#if QT_CONFIG(tooltip)
+ newResourceButton->setToolTip(QCoreApplication::translate("QtResourceEditorDialog", "New Resource", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newResourceButton->setText(QCoreApplication::translate("QtResourceEditorDialog", "N", nullptr));
+ addResourceButton->setText(QCoreApplication::translate("QtResourceEditorDialog", "A", nullptr));
+#if QT_CONFIG(tooltip)
+ removeResourceButton->setToolTip(QCoreApplication::translate("QtResourceEditorDialog", "Remove Resource or File", nullptr));
+#endif // QT_CONFIG(tooltip)
+ removeResourceButton->setText(QCoreApplication::translate("QtResourceEditorDialog", "R", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h b/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h
index e893386d9b..bfaeb99af2 100644
--- a/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'qttoolbardialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -178,40 +178,40 @@ public:
void retranslateUi(QDialog *QtToolBarDialog)
{
- QtToolBarDialog->setWindowTitle(QApplication::translate("QtToolBarDialog", "Customize Toolbars", nullptr));
+ QtToolBarDialog->setWindowTitle(QCoreApplication::translate("QtToolBarDialog", "Customize Toolbars", nullptr));
QTreeWidgetItem *___qtreewidgetitem = actionTree->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("QtToolBarDialog", "1", nullptr));
- label->setText(QApplication::translate("QtToolBarDialog", "Actions", nullptr));
- label_2->setText(QApplication::translate("QtToolBarDialog", "Toolbars", nullptr));
-#ifndef QT_NO_TOOLTIP
- newButton->setToolTip(QApplication::translate("QtToolBarDialog", "Add new toolbar", nullptr));
-#endif // QT_NO_TOOLTIP
- newButton->setText(QApplication::translate("QtToolBarDialog", "New", nullptr));
-#ifndef QT_NO_TOOLTIP
- removeButton->setToolTip(QApplication::translate("QtToolBarDialog", "Remove selected toolbar", nullptr));
-#endif // QT_NO_TOOLTIP
- removeButton->setText(QApplication::translate("QtToolBarDialog", "Remove", nullptr));
-#ifndef QT_NO_TOOLTIP
- renameButton->setToolTip(QApplication::translate("QtToolBarDialog", "Rename toolbar", nullptr));
-#endif // QT_NO_TOOLTIP
- renameButton->setText(QApplication::translate("QtToolBarDialog", "Rename", nullptr));
-#ifndef QT_NO_TOOLTIP
- upButton->setToolTip(QApplication::translate("QtToolBarDialog", "Move action up", nullptr));
-#endif // QT_NO_TOOLTIP
- upButton->setText(QApplication::translate("QtToolBarDialog", "Up", nullptr));
-#ifndef QT_NO_TOOLTIP
- leftButton->setToolTip(QApplication::translate("QtToolBarDialog", "Remove action from toolbar", nullptr));
-#endif // QT_NO_TOOLTIP
- leftButton->setText(QApplication::translate("QtToolBarDialog", "<-", nullptr));
-#ifndef QT_NO_TOOLTIP
- rightButton->setToolTip(QApplication::translate("QtToolBarDialog", "Add action to toolbar", nullptr));
-#endif // QT_NO_TOOLTIP
- rightButton->setText(QApplication::translate("QtToolBarDialog", "->", nullptr));
-#ifndef QT_NO_TOOLTIP
- downButton->setToolTip(QApplication::translate("QtToolBarDialog", "Move action down", nullptr));
-#endif // QT_NO_TOOLTIP
- downButton->setText(QApplication::translate("QtToolBarDialog", "Down", nullptr));
- label_3->setText(QApplication::translate("QtToolBarDialog", "Current Toolbar Actions", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("QtToolBarDialog", "1", nullptr));
+ label->setText(QCoreApplication::translate("QtToolBarDialog", "Actions", nullptr));
+ label_2->setText(QCoreApplication::translate("QtToolBarDialog", "Toolbars", nullptr));
+#if QT_CONFIG(tooltip)
+ newButton->setToolTip(QCoreApplication::translate("QtToolBarDialog", "Add new toolbar", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newButton->setText(QCoreApplication::translate("QtToolBarDialog", "New", nullptr));
+#if QT_CONFIG(tooltip)
+ removeButton->setToolTip(QCoreApplication::translate("QtToolBarDialog", "Remove selected toolbar", nullptr));
+#endif // QT_CONFIG(tooltip)
+ removeButton->setText(QCoreApplication::translate("QtToolBarDialog", "Remove", nullptr));
+#if QT_CONFIG(tooltip)
+ renameButton->setToolTip(QCoreApplication::translate("QtToolBarDialog", "Rename toolbar", nullptr));
+#endif // QT_CONFIG(tooltip)
+ renameButton->setText(QCoreApplication::translate("QtToolBarDialog", "Rename", nullptr));
+#if QT_CONFIG(tooltip)
+ upButton->setToolTip(QCoreApplication::translate("QtToolBarDialog", "Move action up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ upButton->setText(QCoreApplication::translate("QtToolBarDialog", "Up", nullptr));
+#if QT_CONFIG(tooltip)
+ leftButton->setToolTip(QCoreApplication::translate("QtToolBarDialog", "Remove action from toolbar", nullptr));
+#endif // QT_CONFIG(tooltip)
+ leftButton->setText(QCoreApplication::translate("QtToolBarDialog", "<-", nullptr));
+#if QT_CONFIG(tooltip)
+ rightButton->setToolTip(QCoreApplication::translate("QtToolBarDialog", "Add action to toolbar", nullptr));
+#endif // QT_CONFIG(tooltip)
+ rightButton->setText(QCoreApplication::translate("QtToolBarDialog", "->", nullptr));
+#if QT_CONFIG(tooltip)
+ downButton->setToolTip(QCoreApplication::translate("QtToolBarDialog", "Move action down", nullptr));
+#endif // QT_CONFIG(tooltip)
+ downButton->setText(QCoreApplication::translate("QtToolBarDialog", "Down", nullptr));
+ label_3->setText(QCoreApplication::translate("QtToolBarDialog", "Current Toolbar Actions", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/querywidget.ui.h b/tests/auto/tools/uic/baseline/querywidget.ui.h
index 81516722d5..a92c60f4fe 100644
--- a/tests/auto/tools/uic/baseline/querywidget.ui.h
+++ b/tests/auto/tools/uic/baseline/querywidget.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'querywidget.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -153,10 +153,10 @@ public:
void retranslateUi(QMainWindow *QueryWidget)
{
- QueryWidget->setWindowTitle(QApplication::translate("QueryWidget", "Recipes XQuery Example", nullptr));
- inputGroupBox->setTitle(QApplication::translate("QueryWidget", "Input Document", nullptr));
- queryGroupBox->setTitle(QApplication::translate("QueryWidget", "Select your query:", nullptr));
- outputGroupBox->setTitle(QApplication::translate("QueryWidget", "Output Document", nullptr));
+ QueryWidget->setWindowTitle(QCoreApplication::translate("QueryWidget", "Recipes XQuery Example", nullptr));
+ inputGroupBox->setTitle(QCoreApplication::translate("QueryWidget", "Input Document", nullptr));
+ queryGroupBox->setTitle(QCoreApplication::translate("QueryWidget", "Select your query:", nullptr));
+ outputGroupBox->setTitle(QCoreApplication::translate("QueryWidget", "Output Document", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/remotecontrol.ui.h b/tests/auto/tools/uic/baseline/remotecontrol.ui.h
index 5893ff42af..5b7c6c42c2 100644
--- a/tests/auto/tools/uic/baseline/remotecontrol.ui.h
+++ b/tests/auto/tools/uic/baseline/remotecontrol.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'remotecontrol.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -222,22 +222,22 @@ public:
void retranslateUi(QMainWindow *RemoteControlClass)
{
- RemoteControlClass->setWindowTitle(QApplication::translate("RemoteControlClass", "RemoteControl", nullptr));
- actionQuit->setText(QApplication::translate("RemoteControlClass", "Quit", nullptr));
- label->setText(QApplication::translate("RemoteControlClass", "Start URL:", nullptr));
- launchButton->setText(QApplication::translate("RemoteControlClass", "Launch Qt HelpViewer", nullptr));
- actionGroupBox->setTitle(QApplication::translate("RemoteControlClass", "Actions", nullptr));
- label_2->setText(QApplication::translate("RemoteControlClass", "Search in Index:", nullptr));
+ RemoteControlClass->setWindowTitle(QCoreApplication::translate("RemoteControlClass", "RemoteControl", nullptr));
+ actionQuit->setText(QCoreApplication::translate("RemoteControlClass", "Quit", nullptr));
+ label->setText(QCoreApplication::translate("RemoteControlClass", "Start URL:", nullptr));
+ launchButton->setText(QCoreApplication::translate("RemoteControlClass", "Launch Qt HelpViewer", nullptr));
+ actionGroupBox->setTitle(QCoreApplication::translate("RemoteControlClass", "Actions", nullptr));
+ label_2->setText(QCoreApplication::translate("RemoteControlClass", "Search in Index:", nullptr));
indexButton->setText(QString());
- label_4->setText(QApplication::translate("RemoteControlClass", "Identifier:", nullptr));
+ label_4->setText(QCoreApplication::translate("RemoteControlClass", "Identifier:", nullptr));
identifierButton->setText(QString());
- label_3->setText(QApplication::translate("RemoteControlClass", "Show URL:", nullptr));
+ label_3->setText(QCoreApplication::translate("RemoteControlClass", "Show URL:", nullptr));
urlButton->setText(QString());
- syncContentsButton->setText(QApplication::translate("RemoteControlClass", "Sync Contents", nullptr));
- contentsCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Contents", nullptr));
- indexCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Index", nullptr));
- bookmarksCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Bookmarks", nullptr));
- menuFile->setTitle(QApplication::translate("RemoteControlClass", "File", nullptr));
+ syncContentsButton->setText(QCoreApplication::translate("RemoteControlClass", "Sync Contents", nullptr));
+ contentsCheckBox->setText(QCoreApplication::translate("RemoteControlClass", "Show Contents", nullptr));
+ indexCheckBox->setText(QCoreApplication::translate("RemoteControlClass", "Show Index", nullptr));
+ bookmarksCheckBox->setText(QCoreApplication::translate("RemoteControlClass", "Show Bookmarks", nullptr));
+ menuFile->setTitle(QCoreApplication::translate("RemoteControlClass", "File", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/saveformastemplate.ui.h b/tests/auto/tools/uic/baseline/saveformastemplate.ui.h
index 9ef6eedb4c..6829958463 100644
--- a/tests/auto/tools/uic/baseline/saveformastemplate.ui.h
+++ b/tests/auto/tools/uic/baseline/saveformastemplate.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'saveformastemplate.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -117,10 +117,10 @@ public:
vboxLayout->addWidget(buttonBox);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(templateNameEdit);
label_2->setBuddy(categoryCombo);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(SaveFormAsTemplate);
QObject::connect(buttonBox, SIGNAL(accepted()), SaveFormAsTemplate, SLOT(accept()));
@@ -131,10 +131,10 @@ public:
void retranslateUi(QDialog *SaveFormAsTemplate)
{
- SaveFormAsTemplate->setWindowTitle(QApplication::translate("SaveFormAsTemplate", "Save Form As Template", nullptr));
- label->setText(QApplication::translate("SaveFormAsTemplate", "&Name:", nullptr));
+ SaveFormAsTemplate->setWindowTitle(QCoreApplication::translate("SaveFormAsTemplate", "Save Form As Template", nullptr));
+ label->setText(QCoreApplication::translate("SaveFormAsTemplate", "&Name:", nullptr));
templateNameEdit->setText(QString());
- label_2->setText(QApplication::translate("SaveFormAsTemplate", "&Category:", nullptr));
+ label_2->setText(QCoreApplication::translate("SaveFormAsTemplate", "&Category:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/settings.ui.h b/tests/auto/tools/uic/baseline/settings.ui.h
index cc680c8033..6a1adb2d2c 100644
--- a/tests/auto/tools/uic/baseline/settings.ui.h
+++ b/tests/auto/tools/uic/baseline/settings.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'settings.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -182,13 +182,13 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", nullptr));
- label->setText(QApplication::translate("Dialog", "Audio device:", nullptr));
- label_6->setText(QApplication::translate("Dialog", "Audio effect:", nullptr));
- crossFadeLabel->setText(QApplication::translate("Dialog", "Cross fade:", nullptr));
- label_3->setText(QApplication::translate("Dialog", "-10 Sec", nullptr));
- label_5->setText(QApplication::translate("Dialog", "0", nullptr));
- label_4->setText(QApplication::translate("Dialog", "10 Sec", nullptr));
+ Dialog->setWindowTitle(QCoreApplication::translate("Dialog", "Dialog", nullptr));
+ label->setText(QCoreApplication::translate("Dialog", "Audio device:", nullptr));
+ label_6->setText(QCoreApplication::translate("Dialog", "Audio effect:", nullptr));
+ crossFadeLabel->setText(QCoreApplication::translate("Dialog", "Cross fade:", nullptr));
+ label_3->setText(QCoreApplication::translate("Dialog", "-10 Sec", nullptr));
+ label_5->setText(QCoreApplication::translate("Dialog", "0", nullptr));
+ label_4->setText(QCoreApplication::translate("Dialog", "10 Sec", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/signalslotdialog.ui.h b/tests/auto/tools/uic/baseline/signalslotdialog.ui.h
index 5833a25a8b..143e281a24 100644
--- a/tests/auto/tools/uic/baseline/signalslotdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/signalslotdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'signalslotdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -133,25 +133,25 @@ public:
void retranslateUi(QDialog *SignalSlotDialogClass)
{
- SignalSlotDialogClass->setWindowTitle(QApplication::translate("SignalSlotDialogClass", "Signals and slots", nullptr));
- slotGroupBox->setTitle(QApplication::translate("SignalSlotDialogClass", "Slots", nullptr));
-#ifndef QT_NO_TOOLTIP
- addSlotButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Add", nullptr));
-#endif // QT_NO_TOOLTIP
- addSlotButton->setText(QApplication::translate("SignalSlotDialogClass", "...", nullptr));
-#ifndef QT_NO_TOOLTIP
- removeSlotButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Delete", nullptr));
-#endif // QT_NO_TOOLTIP
- removeSlotButton->setText(QApplication::translate("SignalSlotDialogClass", "...", nullptr));
- signalGroupBox->setTitle(QApplication::translate("SignalSlotDialogClass", "Signals", nullptr));
-#ifndef QT_NO_TOOLTIP
- addSignalButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Add", nullptr));
-#endif // QT_NO_TOOLTIP
- addSignalButton->setText(QApplication::translate("SignalSlotDialogClass", "...", nullptr));
-#ifndef QT_NO_TOOLTIP
- removeSignalButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Delete", nullptr));
-#endif // QT_NO_TOOLTIP
- removeSignalButton->setText(QApplication::translate("SignalSlotDialogClass", "...", nullptr));
+ SignalSlotDialogClass->setWindowTitle(QCoreApplication::translate("SignalSlotDialogClass", "Signals and slots", nullptr));
+ slotGroupBox->setTitle(QCoreApplication::translate("SignalSlotDialogClass", "Slots", nullptr));
+#if QT_CONFIG(tooltip)
+ addSlotButton->setToolTip(QCoreApplication::translate("SignalSlotDialogClass", "Add", nullptr));
+#endif // QT_CONFIG(tooltip)
+ addSlotButton->setText(QCoreApplication::translate("SignalSlotDialogClass", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ removeSlotButton->setToolTip(QCoreApplication::translate("SignalSlotDialogClass", "Delete", nullptr));
+#endif // QT_CONFIG(tooltip)
+ removeSlotButton->setText(QCoreApplication::translate("SignalSlotDialogClass", "...", nullptr));
+ signalGroupBox->setTitle(QCoreApplication::translate("SignalSlotDialogClass", "Signals", nullptr));
+#if QT_CONFIG(tooltip)
+ addSignalButton->setToolTip(QCoreApplication::translate("SignalSlotDialogClass", "Add", nullptr));
+#endif // QT_CONFIG(tooltip)
+ addSignalButton->setText(QCoreApplication::translate("SignalSlotDialogClass", "...", nullptr));
+#if QT_CONFIG(tooltip)
+ removeSignalButton->setToolTip(QCoreApplication::translate("SignalSlotDialogClass", "Delete", nullptr));
+#endif // QT_CONFIG(tooltip)
+ removeSignalButton->setText(QCoreApplication::translate("SignalSlotDialogClass", "...", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/sslclient.ui.h b/tests/auto/tools/uic/baseline/sslclient.ui.h
index 382889648e..755ea7827b 100644
--- a/tests/auto/tools/uic/baseline/sslclient.ui.h
+++ b/tests/auto/tools/uic/baseline/sslclient.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'sslclient.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -155,20 +155,20 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Secure Socket Client", nullptr));
- hostNameLabel->setText(QApplication::translate("Form", "Host name:", nullptr));
- hostNameEdit->setText(QApplication::translate("Form", "imap.example.com", nullptr));
- portLabel->setText(QApplication::translate("Form", "Port:", nullptr));
- connectButton->setText(QApplication::translate("Form", "Connect to host", nullptr));
- sessionBox->setTitle(QApplication::translate("Form", "Active session", nullptr));
- cipherText->setText(QApplication::translate("Form", "Cryptographic Cipher:", nullptr));
- cipherLabel->setText(QApplication::translate("Form", "<none>", nullptr));
- sessionOutput->setHtml(QApplication::translate("Form", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Secure Socket Client", nullptr));
+ hostNameLabel->setText(QCoreApplication::translate("Form", "Host name:", nullptr));
+ hostNameEdit->setText(QCoreApplication::translate("Form", "imap.example.com", nullptr));
+ portLabel->setText(QCoreApplication::translate("Form", "Port:", nullptr));
+ connectButton->setText(QCoreApplication::translate("Form", "Connect to host", nullptr));
+ sessionBox->setTitle(QCoreApplication::translate("Form", "Active session", nullptr));
+ cipherText->setText(QCoreApplication::translate("Form", "Cryptographic Cipher:", nullptr));
+ cipherLabel->setText(QCoreApplication::translate("Form", "<none>", nullptr));
+ sessionOutput->setHtml(QCoreApplication::translate("Form", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"></p></body></html>", nullptr));
- sessionInputLabel->setText(QApplication::translate("Form", "Input:", nullptr));
- sendButton->setText(QApplication::translate("Form", "&Send", nullptr));
+ sessionInputLabel->setText(QCoreApplication::translate("Form", "Input:", nullptr));
+ sendButton->setText(QCoreApplication::translate("Form", "&Send", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/sslerrors.ui.h b/tests/auto/tools/uic/baseline/sslerrors.ui.h
index 04f21ded43..ac40fe8244 100644
--- a/tests/auto/tools/uic/baseline/sslerrors.ui.h
+++ b/tests/auto/tools/uic/baseline/sslerrors.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'sslerrors.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -86,14 +86,14 @@ public:
void retranslateUi(QDialog *SslErrors)
{
- SslErrors->setWindowTitle(QApplication::translate("SslErrors", "Unable To Validate The Connection", nullptr));
- label->setText(QApplication::translate("SslErrors", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+ SslErrors->setWindowTitle(QCoreApplication::translate("SslErrors", "Unable To Validate The Connection", nullptr));
+ label->setText(QCoreApplication::translate("SslErrors", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600; color:#ff0000;\">Warning</span><span style=\" color:#ff0000;\">:</span><span style=\" color:#000000;\"> One or more errors with this connection prevent validating the authenticity of the host you are connecting to. Please review the following list of errors, and click </span><span style=\" color:#000000;\">Ignore</span><span style=\" color:#000000;\"> to continue, or </span><span style=\" color:#000000;\">Cancel</span><span style=\" color:#000000;\"> to abort the connection.</span></p></body></html>", nullptr));
- certificateChainButton->setText(QApplication::translate("SslErrors", "View Certificate Chain", nullptr));
- pushButton->setText(QApplication::translate("SslErrors", "Ignore", nullptr));
- pushButton_2->setText(QApplication::translate("SslErrors", "Cancel", nullptr));
+ certificateChainButton->setText(QCoreApplication::translate("SslErrors", "View Certificate Chain", nullptr));
+ pushButton->setText(QCoreApplication::translate("SslErrors", "Ignore", nullptr));
+ pushButton_2->setText(QCoreApplication::translate("SslErrors", "Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/statistics.ui.h b/tests/auto/tools/uic/baseline/statistics.ui.h
index 0b508836f2..6bbb6dbc32 100644
--- a/tests/auto/tools/uic/baseline/statistics.ui.h
+++ b/tests/auto/tools/uic/baseline/statistics.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'statistics.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -179,19 +179,19 @@ public:
void retranslateUi(QDialog *Statistics)
{
- Statistics->setWindowTitle(QApplication::translate("Statistics", "Statistics", nullptr));
- closeBtn->setText(QApplication::translate("Statistics", "&Close", nullptr));
- textLabel4->setText(QApplication::translate("Statistics", "Translation", nullptr));
- textLabel5->setText(QApplication::translate("Statistics", "Source", nullptr));
- untrWords->setText(QApplication::translate("Statistics", "0", nullptr));
- trWords->setText(QApplication::translate("Statistics", "0", nullptr));
- textLabel1->setText(QApplication::translate("Statistics", "Words:", nullptr));
- trChars->setText(QApplication::translate("Statistics", "0", nullptr));
- untrChars->setText(QApplication::translate("Statistics", "0", nullptr));
- textLabel3->setText(QApplication::translate("Statistics", "Characters:", nullptr));
- textLabel6->setText(QApplication::translate("Statistics", "Characters (with spaces):", nullptr));
- trCharsSpc->setText(QApplication::translate("Statistics", "0", nullptr));
- untrCharsSpc->setText(QApplication::translate("Statistics", "0", nullptr));
+ Statistics->setWindowTitle(QCoreApplication::translate("Statistics", "Statistics", nullptr));
+ closeBtn->setText(QCoreApplication::translate("Statistics", "&Close", nullptr));
+ textLabel4->setText(QCoreApplication::translate("Statistics", "Translation", nullptr));
+ textLabel5->setText(QCoreApplication::translate("Statistics", "Source", nullptr));
+ untrWords->setText(QCoreApplication::translate("Statistics", "0", nullptr));
+ trWords->setText(QCoreApplication::translate("Statistics", "0", nullptr));
+ textLabel1->setText(QCoreApplication::translate("Statistics", "Words:", nullptr));
+ trChars->setText(QCoreApplication::translate("Statistics", "0", nullptr));
+ untrChars->setText(QCoreApplication::translate("Statistics", "0", nullptr));
+ textLabel3->setText(QCoreApplication::translate("Statistics", "Characters:", nullptr));
+ textLabel6->setText(QCoreApplication::translate("Statistics", "Characters (with spaces):", nullptr));
+ trCharsSpc->setText(QCoreApplication::translate("Statistics", "0", nullptr));
+ untrCharsSpc->setText(QCoreApplication::translate("Statistics", "0", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/stringlisteditor.ui.h b/tests/auto/tools/uic/baseline/stringlisteditor.ui.h
index fd78ce91c1..91e7198793 100644
--- a/tests/auto/tools/uic/baseline/stringlisteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/stringlisteditor.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'stringlisteditor.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -201,9 +201,9 @@ public:
vboxLayout->addWidget(buttonBox);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(valueEdit);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(qdesigner_internal__Dialog);
QObject::connect(buttonBox, SIGNAL(accepted()), qdesigner_internal__Dialog, SLOT(accept()));
@@ -214,25 +214,25 @@ public:
void retranslateUi(QDialog *qdesigner_internal__Dialog)
{
- qdesigner_internal__Dialog->setWindowTitle(QApplication::translate("qdesigner_internal::Dialog", "Dialog", nullptr));
- groupBox->setTitle(QApplication::translate("qdesigner_internal::Dialog", "StringList", nullptr));
-#ifndef QT_NO_TOOLTIP
- newButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "New String", nullptr));
-#endif // QT_NO_TOOLTIP
- newButton->setText(QApplication::translate("qdesigner_internal::Dialog", "&New", nullptr));
-#ifndef QT_NO_TOOLTIP
- deleteButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Delete String", nullptr));
-#endif // QT_NO_TOOLTIP
- deleteButton->setText(QApplication::translate("qdesigner_internal::Dialog", "&Delete", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::Dialog", "&Value:", nullptr));
-#ifndef QT_NO_TOOLTIP
- upButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Move String Up", nullptr));
-#endif // QT_NO_TOOLTIP
- upButton->setText(QApplication::translate("qdesigner_internal::Dialog", "Up", nullptr));
-#ifndef QT_NO_TOOLTIP
- downButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Move String Down", nullptr));
-#endif // QT_NO_TOOLTIP
- downButton->setText(QApplication::translate("qdesigner_internal::Dialog", "Down", nullptr));
+ qdesigner_internal__Dialog->setWindowTitle(QCoreApplication::translate("qdesigner_internal::Dialog", "Dialog", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("qdesigner_internal::Dialog", "StringList", nullptr));
+#if QT_CONFIG(tooltip)
+ newButton->setToolTip(QCoreApplication::translate("qdesigner_internal::Dialog", "New String", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newButton->setText(QCoreApplication::translate("qdesigner_internal::Dialog", "&New", nullptr));
+#if QT_CONFIG(tooltip)
+ deleteButton->setToolTip(QCoreApplication::translate("qdesigner_internal::Dialog", "Delete String", nullptr));
+#endif // QT_CONFIG(tooltip)
+ deleteButton->setText(QCoreApplication::translate("qdesigner_internal::Dialog", "&Delete", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::Dialog", "&Value:", nullptr));
+#if QT_CONFIG(tooltip)
+ upButton->setToolTip(QCoreApplication::translate("qdesigner_internal::Dialog", "Move String Up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ upButton->setText(QCoreApplication::translate("qdesigner_internal::Dialog", "Up", nullptr));
+#if QT_CONFIG(tooltip)
+ downButton->setToolTip(QCoreApplication::translate("qdesigner_internal::Dialog", "Move String Down", nullptr));
+#endif // QT_CONFIG(tooltip)
+ downButton->setText(QCoreApplication::translate("qdesigner_internal::Dialog", "Down", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h b/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h
index 5ae254ebab..ecca62c867 100644
--- a/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'stylesheeteditor.ui'
**
-** Created by: Qt User Interface Compiler version 5.10.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -73,7 +73,7 @@ public:
styleCombo = new QComboBox(StyleSheetEditor);
styleCombo->setObjectName(QString::fromUtf8("styleCombo"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(5), static_cast<QSizePolicy::Policy>(0));
+ QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(styleCombo->sizePolicy().hasHeightForWidth());
@@ -83,7 +83,7 @@ public:
label_7 = new QLabel(StyleSheetEditor);
label_7->setObjectName(QString::fromUtf8("label_7"));
- QSizePolicy sizePolicy1(static_cast<QSizePolicy::Policy>(0), static_cast<QSizePolicy::Policy>(5));
+ QSizePolicy sizePolicy1(QSizePolicy::Fixed, QSizePolicy::Preferred);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(label_7->sizePolicy().hasHeightForWidth());
@@ -130,14 +130,14 @@ public:
void retranslateUi(QWidget *StyleSheetEditor)
{
- StyleSheetEditor->setWindowTitle(QApplication::translate("StyleSheetEditor", "Style Editor", nullptr));
- styleSheetCombo->setItemText(0, QApplication::translate("StyleSheetEditor", "Default", nullptr));
- styleSheetCombo->setItemText(1, QApplication::translate("StyleSheetEditor", "Coffee", nullptr));
- styleSheetCombo->setItemText(2, QApplication::translate("StyleSheetEditor", "Pagefold", nullptr));
-
- label_7->setText(QApplication::translate("StyleSheetEditor", "Style:", nullptr));
- applyButton->setText(QApplication::translate("StyleSheetEditor", "&Apply", nullptr));
- label_8->setText(QApplication::translate("StyleSheetEditor", "Style Sheet:", nullptr));
+ StyleSheetEditor->setWindowTitle(QCoreApplication::translate("StyleSheetEditor", "Style Editor", nullptr));
+ styleSheetCombo->setItemText(0, QCoreApplication::translate("StyleSheetEditor", "Default", nullptr));
+ styleSheetCombo->setItemText(1, QCoreApplication::translate("StyleSheetEditor", "Coffee", nullptr));
+ styleSheetCombo->setItemText(2, QCoreApplication::translate("StyleSheetEditor", "Pagefold", nullptr));
+
+ label_7->setText(QCoreApplication::translate("StyleSheetEditor", "Style:", nullptr));
+ applyButton->setText(QCoreApplication::translate("StyleSheetEditor", "&Apply", nullptr));
+ label_8->setText(QCoreApplication::translate("StyleSheetEditor", "Style Sheet:", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h b/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h
index 09b230f5df..4be294af37 100644
--- a/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h
+++ b/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'tabbedbrowser.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -117,7 +117,7 @@ public:
editFind = new QLineEdit(frameFind);
editFind->setObjectName(QString::fromUtf8("editFind"));
- QSizePolicy sizePolicy(static_cast<QSizePolicy::Policy>(0), static_cast<QSizePolicy::Policy>(0));
+ QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(editFind->sizePolicy().hasHeightForWidth());
@@ -181,14 +181,14 @@ public:
void retranslateUi(QWidget *TabbedBrowser)
{
- TabbedBrowser->setWindowTitle(QApplication::translate("TabbedBrowser", "TabbedBrowser", nullptr));
- tab->setTabText(tab->indexOf(frontpage), QApplication::translate("TabbedBrowser", "Untitled", nullptr));
+ TabbedBrowser->setWindowTitle(QCoreApplication::translate("TabbedBrowser", "TabbedBrowser", nullptr));
+ tab->setTabText(tab->indexOf(frontpage), QCoreApplication::translate("TabbedBrowser", "Untitled", nullptr));
toolClose->setText(QString());
- toolPrevious->setText(QApplication::translate("TabbedBrowser", "Previous", nullptr));
- toolNext->setText(QApplication::translate("TabbedBrowser", "Next", nullptr));
- checkCase->setText(QApplication::translate("TabbedBrowser", "Case Sensitive", nullptr));
- checkWholeWords->setText(QApplication::translate("TabbedBrowser", "Whole words", nullptr));
- labelWrapped->setText(QApplication::translate("TabbedBrowser", "<img src=\":/qt-project.org/assistant/images/wrap.png\">&nbsp;Search wrapped", nullptr));
+ toolPrevious->setText(QCoreApplication::translate("TabbedBrowser", "Previous", nullptr));
+ toolNext->setText(QCoreApplication::translate("TabbedBrowser", "Next", nullptr));
+ checkCase->setText(QCoreApplication::translate("TabbedBrowser", "Case Sensitive", nullptr));
+ checkWholeWords->setText(QCoreApplication::translate("TabbedBrowser", "Whole words", nullptr));
+ labelWrapped->setText(QCoreApplication::translate("TabbedBrowser", "<img src=\":/qt-project.org/assistant/images/wrap.png\">&nbsp;Search wrapped", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h b/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h
index e3ba00095e..4559bd910b 100644
--- a/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'tablewidgeteditor.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -311,54 +311,54 @@ public:
void retranslateUi(QDialog *qdesigner_internal__TableWidgetEditor)
{
- qdesigner_internal__TableWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Edit Table Widget", nullptr));
- itemsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", nullptr));
-#ifndef QT_NO_TOOLTIP
- tableWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", nullptr));
-#endif // QT_NO_TOOLTIP
- label_3->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", nullptr));
- columnsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Columns", nullptr));
-#ifndef QT_NO_TOOLTIP
- columnsListWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Columns", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- newColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New Column", nullptr));
-#endif // QT_NO_TOOLTIP
- newColumnButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New", nullptr));
-#ifndef QT_NO_TOOLTIP
- deleteColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Column", nullptr));
-#endif // QT_NO_TOOLTIP
- deleteColumnButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveColumnUpButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Up", nullptr));
-#endif // QT_NO_TOOLTIP
- moveColumnUpButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "U", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveColumnDownButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Down", nullptr));
-#endif // QT_NO_TOOLTIP
- moveColumnDownButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "D", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", nullptr));
- rowsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Rows", nullptr));
-#ifndef QT_NO_TOOLTIP
- rowsListWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Rows", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- newRowButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New Row", nullptr));
-#endif // QT_NO_TOOLTIP
- newRowButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New", nullptr));
-#ifndef QT_NO_TOOLTIP
- deleteRowButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Row", nullptr));
-#endif // QT_NO_TOOLTIP
- deleteRowButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveRowUpButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Up", nullptr));
-#endif // QT_NO_TOOLTIP
- moveRowUpButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "U", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveRowDownButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Down", nullptr));
-#endif // QT_NO_TOOLTIP
- moveRowDownButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "D", nullptr));
- label_2->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", nullptr));
+ qdesigner_internal__TableWidgetEditor->setWindowTitle(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Edit Table Widget", nullptr));
+ itemsBox->setTitle(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", nullptr));
+#if QT_CONFIG(tooltip)
+ tableWidget->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", nullptr));
+#endif // QT_CONFIG(tooltip)
+ label_3->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", nullptr));
+ columnsBox->setTitle(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Columns", nullptr));
+#if QT_CONFIG(tooltip)
+ columnsListWidget->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Columns", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ newColumnButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "New Column", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newColumnButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "New", nullptr));
+#if QT_CONFIG(tooltip)
+ deleteColumnButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Column", nullptr));
+#endif // QT_CONFIG(tooltip)
+ deleteColumnButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", nullptr));
+#if QT_CONFIG(tooltip)
+ moveColumnUpButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveColumnUpButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "U", nullptr));
+#if QT_CONFIG(tooltip)
+ moveColumnDownButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Down", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveColumnDownButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "D", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", nullptr));
+ rowsBox->setTitle(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Rows", nullptr));
+#if QT_CONFIG(tooltip)
+ rowsListWidget->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Rows", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ newRowButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "New Row", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newRowButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "New", nullptr));
+#if QT_CONFIG(tooltip)
+ deleteRowButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Row", nullptr));
+#endif // QT_CONFIG(tooltip)
+ deleteRowButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", nullptr));
+#if QT_CONFIG(tooltip)
+ moveRowUpButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveRowUpButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "U", nullptr));
+#if QT_CONFIG(tooltip)
+ moveRowDownButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Down", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveRowDownButton->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "D", nullptr));
+ label_2->setText(QCoreApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/tetrixwindow.ui.h b/tests/auto/tools/uic/baseline/tetrixwindow.ui.h
index dc1033ce3a..340acbd9f2 100644
--- a/tests/auto/tools/uic/baseline/tetrixwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/tetrixwindow.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'tetrixwindow.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -147,15 +147,15 @@ public:
void retranslateUi(QWidget *TetrixWindow)
{
- TetrixWindow->setWindowTitle(QApplication::translate("TetrixWindow", "Tetrix", nullptr));
- startButton->setText(QApplication::translate("TetrixWindow", "&Start", nullptr));
- linesRemovedLabel->setText(QApplication::translate("TetrixWindow", "LINES REMOVED", nullptr));
- pauseButton->setText(QApplication::translate("TetrixWindow", "&Pause", nullptr));
- levelLabel->setText(QApplication::translate("TetrixWindow", "LEVEL", nullptr));
- nextLabel->setText(QApplication::translate("TetrixWindow", "NEXT", nullptr));
- scoreLabel->setText(QApplication::translate("TetrixWindow", "SCORE", nullptr));
+ TetrixWindow->setWindowTitle(QCoreApplication::translate("TetrixWindow", "Tetrix", nullptr));
+ startButton->setText(QCoreApplication::translate("TetrixWindow", "&Start", nullptr));
+ linesRemovedLabel->setText(QCoreApplication::translate("TetrixWindow", "LINES REMOVED", nullptr));
+ pauseButton->setText(QCoreApplication::translate("TetrixWindow", "&Pause", nullptr));
+ levelLabel->setText(QCoreApplication::translate("TetrixWindow", "LEVEL", nullptr));
+ nextLabel->setText(QCoreApplication::translate("TetrixWindow", "NEXT", nullptr));
+ scoreLabel->setText(QCoreApplication::translate("TetrixWindow", "SCORE", nullptr));
nextPieceLabel->setText(QString());
- quitButton->setText(QApplication::translate("TetrixWindow", "&Quit", nullptr));
+ quitButton->setText(QCoreApplication::translate("TetrixWindow", "&Quit", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/textfinder.ui.h b/tests/auto/tools/uic/baseline/textfinder.ui.h
index 2f6bfebf98..38bdf756c2 100644
--- a/tests/auto/tools/uic/baseline/textfinder.ui.h
+++ b/tests/auto/tools/uic/baseline/textfinder.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'textfinder.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -81,9 +81,9 @@ public:
vboxLayout->addItem(spacerItem);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
searchLabel->setBuddy(lineEdit);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(Form);
QObject::connect(lineEdit, SIGNAL(returnPressed()), findButton, SLOT(animateClick()));
@@ -93,9 +93,9 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Find Text", nullptr));
- searchLabel->setText(QApplication::translate("Form", "&Keyword:", nullptr));
- findButton->setText(QApplication::translate("Form", "&Find", nullptr));
+ Form->setWindowTitle(QCoreApplication::translate("Form", "Find Text", nullptr));
+ searchLabel->setText(QCoreApplication::translate("Form", "&Keyword:", nullptr));
+ findButton->setText(QCoreApplication::translate("Form", "&Find", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/topicchooser.ui.h b/tests/auto/tools/uic/baseline/topicchooser.ui.h
index 90ec485e39..a89f62c4b5 100644
--- a/tests/auto/tools/uic/baseline/topicchooser.ui.h
+++ b/tests/auto/tools/uic/baseline/topicchooser.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'topicchooser.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -86,9 +86,9 @@ public:
vboxLayout->addWidget(Layout16);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(listWidget);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(TopicChooser);
@@ -100,10 +100,10 @@ public:
void retranslateUi(QDialog *TopicChooser)
{
- TopicChooser->setWindowTitle(QApplication::translate("TopicChooser", "Choose Topic", nullptr));
- label->setText(QApplication::translate("TopicChooser", "&Topics", nullptr));
- buttonDisplay->setText(QApplication::translate("TopicChooser", "&Display", nullptr));
- buttonCancel->setText(QApplication::translate("TopicChooser", "&Close", nullptr));
+ TopicChooser->setWindowTitle(QCoreApplication::translate("TopicChooser", "Choose Topic", nullptr));
+ label->setText(QCoreApplication::translate("TopicChooser", "&Topics", nullptr));
+ buttonDisplay->setText(QCoreApplication::translate("TopicChooser", "&Display", nullptr));
+ buttonCancel->setText(QCoreApplication::translate("TopicChooser", "&Close", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/translatedialog.ui.h b/tests/auto/tools/uic/baseline/translatedialog.ui.h
index 5bea11f9f2..10390c62df 100644
--- a/tests/auto/tools/uic/baseline/translatedialog.ui.h
+++ b/tests/auto/tools/uic/baseline/translatedialog.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'translatedialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -182,10 +182,10 @@ public:
hboxLayout->addLayout(vboxLayout2);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
findWhat->setBuddy(ledFindWhat);
translateTo->setBuddy(ledTranslateTo);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
QWidget::setTabOrder(ledFindWhat, ledTranslateTo);
QWidget::setTabOrder(ledTranslateTo, findNxt);
QWidget::setTabOrder(findNxt, translate);
@@ -205,34 +205,34 @@ public:
void retranslateUi(QDialog *TranslateDialog)
{
- TranslateDialog->setWindowTitle(QApplication::translate("TranslateDialog", "Qt Linguist", nullptr));
-#ifndef QT_NO_WHATSTHIS
- TranslateDialog->setWhatsThis(QApplication::translate("TranslateDialog", "This window allows you to search for some text in the translation source file.", nullptr));
-#endif // QT_NO_WHATSTHIS
-#ifndef QT_NO_WHATSTHIS
- ledTranslateTo->setWhatsThis(QApplication::translate("TranslateDialog", "Type in the text to search for.", nullptr));
-#endif // QT_NO_WHATSTHIS
- findWhat->setText(QApplication::translate("TranslateDialog", "Find &source text:", nullptr));
- translateTo->setText(QApplication::translate("TranslateDialog", "&Translate to:", nullptr));
-#ifndef QT_NO_WHATSTHIS
- ledFindWhat->setWhatsThis(QApplication::translate("TranslateDialog", "Type in the text to search for.", nullptr));
-#endif // QT_NO_WHATSTHIS
- groupBox->setTitle(QApplication::translate("TranslateDialog", "Search options", nullptr));
-#ifndef QT_NO_WHATSTHIS
- ckMatchCase->setWhatsThis(QApplication::translate("TranslateDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", nullptr));
-#endif // QT_NO_WHATSTHIS
- ckMatchCase->setText(QApplication::translate("TranslateDialog", "Match &case", nullptr));
- ckMarkFinished->setText(QApplication::translate("TranslateDialog", "Mark new translation as &finished", nullptr));
-#ifndef QT_NO_WHATSTHIS
- findNxt->setWhatsThis(QApplication::translate("TranslateDialog", "Click here to find the next occurrence of the text you typed in.", nullptr));
-#endif // QT_NO_WHATSTHIS
- findNxt->setText(QApplication::translate("TranslateDialog", "Find Next", nullptr));
- translate->setText(QApplication::translate("TranslateDialog", "Translate", nullptr));
- translateAll->setText(QApplication::translate("TranslateDialog", "Translate All", nullptr));
-#ifndef QT_NO_WHATSTHIS
- cancel->setWhatsThis(QApplication::translate("TranslateDialog", "Click here to close this window.", nullptr));
-#endif // QT_NO_WHATSTHIS
- cancel->setText(QApplication::translate("TranslateDialog", "Cancel", nullptr));
+ TranslateDialog->setWindowTitle(QCoreApplication::translate("TranslateDialog", "Qt Linguist", nullptr));
+#if QT_CONFIG(whatsthis)
+ TranslateDialog->setWhatsThis(QCoreApplication::translate("TranslateDialog", "This window allows you to search for some text in the translation source file.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+#if QT_CONFIG(whatsthis)
+ ledTranslateTo->setWhatsThis(QCoreApplication::translate("TranslateDialog", "Type in the text to search for.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ findWhat->setText(QCoreApplication::translate("TranslateDialog", "Find &source text:", nullptr));
+ translateTo->setText(QCoreApplication::translate("TranslateDialog", "&Translate to:", nullptr));
+#if QT_CONFIG(whatsthis)
+ ledFindWhat->setWhatsThis(QCoreApplication::translate("TranslateDialog", "Type in the text to search for.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ groupBox->setTitle(QCoreApplication::translate("TranslateDialog", "Search options", nullptr));
+#if QT_CONFIG(whatsthis)
+ ckMatchCase->setWhatsThis(QCoreApplication::translate("TranslateDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ ckMatchCase->setText(QCoreApplication::translate("TranslateDialog", "Match &case", nullptr));
+ ckMarkFinished->setText(QCoreApplication::translate("TranslateDialog", "Mark new translation as &finished", nullptr));
+#if QT_CONFIG(whatsthis)
+ findNxt->setWhatsThis(QCoreApplication::translate("TranslateDialog", "Click here to find the next occurrence of the text you typed in.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ findNxt->setText(QCoreApplication::translate("TranslateDialog", "Find Next", nullptr));
+ translate->setText(QCoreApplication::translate("TranslateDialog", "Translate", nullptr));
+ translateAll->setText(QCoreApplication::translate("TranslateDialog", "Translate All", nullptr));
+#if QT_CONFIG(whatsthis)
+ cancel->setWhatsThis(QCoreApplication::translate("TranslateDialog", "Click here to close this window.", nullptr));
+#endif // QT_CONFIG(whatsthis)
+ cancel->setText(QCoreApplication::translate("TranslateDialog", "Cancel", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/translationsettings.ui.h b/tests/auto/tools/uic/baseline/translationsettings.ui.h
index 764e3a85b6..5e0f1520a0 100644
--- a/tests/auto/tools/uic/baseline/translationsettings.ui.h
+++ b/tests/auto/tools/uic/baseline/translationsettings.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'translationsettings.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -86,9 +86,9 @@ public:
vboxLayout->addWidget(buttonBox);
-#ifndef QT_NO_SHORTCUT
+#if QT_CONFIG(shortcut)
label->setBuddy(cbLanguageList);
-#endif // QT_NO_SHORTCUT
+#endif // QT_CONFIG(shortcut)
retranslateUi(TranslationSettings);
QObject::connect(buttonBox, SIGNAL(accepted()), TranslationSettings, SLOT(accept()));
@@ -99,10 +99,10 @@ public:
void retranslateUi(QDialog *TranslationSettings)
{
- TranslationSettings->setWindowTitle(QApplication::translate("TranslationSettings", "Qt Linguist - Translation file settings", nullptr));
- groupBox->setTitle(QApplication::translate("TranslationSettings", "Target language", nullptr));
- label->setText(QApplication::translate("TranslationSettings", "Language", nullptr));
- lblCountry->setText(QApplication::translate("TranslationSettings", "Country/Region", nullptr));
+ TranslationSettings->setWindowTitle(QCoreApplication::translate("TranslationSettings", "Qt Linguist - Translation file settings", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("TranslationSettings", "Target language", nullptr));
+ label->setText(QCoreApplication::translate("TranslationSettings", "Language", nullptr));
+ lblCountry->setText(QCoreApplication::translate("TranslationSettings", "Country/Region", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h b/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h
index d432195648..395d66a999 100644
--- a/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'treewidgeteditor.ui'
**
-** Created by: Qt User Interface Compiler version 5.0.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -276,63 +276,63 @@ public:
void retranslateUi(QDialog *qdesigner_internal__TreeWidgetEditor)
{
- qdesigner_internal__TreeWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Edit Tree Widget", nullptr));
- itemsBox->setTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", nullptr));
+ qdesigner_internal__TreeWidgetEditor->setWindowTitle(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Edit Tree Widget", nullptr));
+ itemsBox->setTitle(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", nullptr));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("qdesigner_internal::TreeWidgetEditor", "1", nullptr));
-#ifndef QT_NO_TOOLTIP
- treeWidget->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- newItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Item", nullptr));
-#endif // QT_NO_TOOLTIP
- newItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "&New", nullptr));
-#ifndef QT_NO_TOOLTIP
- newSubItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Subitem", nullptr));
-#endif // QT_NO_TOOLTIP
- newSubItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New &Subitem", nullptr));
-#ifndef QT_NO_TOOLTIP
- deleteItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Item", nullptr));
-#endif // QT_NO_TOOLTIP
- deleteItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "&Delete", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveItemLeftButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Left (before Parent Item)", nullptr));
-#endif // QT_NO_TOOLTIP
- moveItemLeftButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "L", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveItemRightButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Right (as a First Subitem of the Next Sibling Item)", nullptr));
-#endif // QT_NO_TOOLTIP
- moveItemRightButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "R", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveItemUpButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Up", nullptr));
-#endif // QT_NO_TOOLTIP
- moveItemUpButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveItemDownButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Down", nullptr));
-#endif // QT_NO_TOOLTIP
- moveItemDownButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", nullptr));
- label_2->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", nullptr));
- columnsBox->setTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Columns", nullptr));
-#ifndef QT_NO_TOOLTIP
- listWidget->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Columns", nullptr));
-#endif // QT_NO_TOOLTIP
-#ifndef QT_NO_TOOLTIP
- newColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Column", nullptr));
-#endif // QT_NO_TOOLTIP
- newColumnButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New", nullptr));
-#ifndef QT_NO_TOOLTIP
- deleteColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Column", nullptr));
-#endif // QT_NO_TOOLTIP
- deleteColumnButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveColumnUpButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Up", nullptr));
-#endif // QT_NO_TOOLTIP
- moveColumnUpButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", nullptr));
-#ifndef QT_NO_TOOLTIP
- moveColumnDownButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Down", nullptr));
-#endif // QT_NO_TOOLTIP
- moveColumnDownButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", nullptr));
- label->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", nullptr));
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "1", nullptr));
+#if QT_CONFIG(tooltip)
+ treeWidget->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ newItemButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Item", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newItemButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "&New", nullptr));
+#if QT_CONFIG(tooltip)
+ newSubItemButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Subitem", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newSubItemButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "New &Subitem", nullptr));
+#if QT_CONFIG(tooltip)
+ deleteItemButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Item", nullptr));
+#endif // QT_CONFIG(tooltip)
+ deleteItemButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "&Delete", nullptr));
+#if QT_CONFIG(tooltip)
+ moveItemLeftButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Left (before Parent Item)", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveItemLeftButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "L", nullptr));
+#if QT_CONFIG(tooltip)
+ moveItemRightButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Right (as a First Subitem of the Next Sibling Item)", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveItemRightButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "R", nullptr));
+#if QT_CONFIG(tooltip)
+ moveItemUpButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveItemUpButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", nullptr));
+#if QT_CONFIG(tooltip)
+ moveItemDownButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Down", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveItemDownButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", nullptr));
+ label_2->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", nullptr));
+ columnsBox->setTitle(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Columns", nullptr));
+#if QT_CONFIG(tooltip)
+ listWidget->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Columns", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ newColumnButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Column", nullptr));
+#endif // QT_CONFIG(tooltip)
+ newColumnButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "New", nullptr));
+#if QT_CONFIG(tooltip)
+ deleteColumnButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Column", nullptr));
+#endif // QT_CONFIG(tooltip)
+ deleteColumnButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete", nullptr));
+#if QT_CONFIG(tooltip)
+ moveColumnUpButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveColumnUpButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", nullptr));
+#if QT_CONFIG(tooltip)
+ moveColumnDownButton->setToolTip(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Down", nullptr));
+#endif // QT_CONFIG(tooltip)
+ moveColumnDownButton->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", nullptr));
+ label->setText(QCoreApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/trpreviewtool.ui.h b/tests/auto/tools/uic/baseline/trpreviewtool.ui.h
index 3fbf125a1f..612d7ad427 100644
--- a/tests/auto/tools/uic/baseline/trpreviewtool.ui.h
+++ b/tests/auto/tools/uic/baseline/trpreviewtool.ui.h
@@ -31,7 +31,7 @@
/********************************************************************************
** Form generated from reading UI file 'trpreviewtool.ui'
**
-** Created by: Qt User Interface Compiler version 5.9.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -117,7 +117,7 @@ public:
mainToolBar = new QToolBar(TrPreviewToolClass);
mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
mainToolBar->setOrientation(Qt::Horizontal);
- TrPreviewToolClass->addToolBar(static_cast<Qt::ToolBarArea>(4), mainToolBar);
+ TrPreviewToolClass->addToolBar(Qt::TopToolBarArea, mainToolBar);
statusBar = new QStatusBar(TrPreviewToolClass);
statusBar->setObjectName(QString::fromUtf8("statusBar"));
TrPreviewToolClass->setStatusBar(statusBar);
@@ -138,7 +138,7 @@ public:
vboxLayout->addWidget(viewForms);
dwForms->setWidget(dockWidgetContents);
- TrPreviewToolClass->addDockWidget(static_cast<Qt::DockWidgetArea>(1), dwForms);
+ TrPreviewToolClass->addDockWidget(Qt::LeftDockWidgetArea, dwForms);
menuBar->addAction(menuFile->menuAction());
menuBar->addAction(menuView->menuAction());
@@ -162,21 +162,21 @@ public:
void retranslateUi(QMainWindow *TrPreviewToolClass)
{
- TrPreviewToolClass->setWindowTitle(QApplication::translate("TrPreviewToolClass", "Qt Translation Preview Tool", nullptr));
- actionOpenForm->setText(QApplication::translate("TrPreviewToolClass", "&Open Form...", nullptr));
- actionLoadTranslation->setText(QApplication::translate("TrPreviewToolClass", "&Load Translation...", nullptr));
- actionReloadTranslations->setText(QApplication::translate("TrPreviewToolClass", "&Reload Translations", nullptr));
-#ifndef QT_NO_SHORTCUT
- actionReloadTranslations->setShortcut(QApplication::translate("TrPreviewToolClass", "F5", nullptr));
-#endif // QT_NO_SHORTCUT
- actionClose->setText(QApplication::translate("TrPreviewToolClass", "&Close", nullptr));
- actionAbout->setText(QApplication::translate("TrPreviewToolClass", "About", nullptr));
- actionAbout_Qt->setText(QApplication::translate("TrPreviewToolClass", "About Qt", nullptr));
- menuView->setTitle(QApplication::translate("TrPreviewToolClass", "&View", nullptr));
- menuViewViews->setTitle(QApplication::translate("TrPreviewToolClass", "&Views", nullptr));
- menuHelp->setTitle(QApplication::translate("TrPreviewToolClass", "&Help", nullptr));
- menuFile->setTitle(QApplication::translate("TrPreviewToolClass", "&File", nullptr));
- dwForms->setWindowTitle(QApplication::translate("TrPreviewToolClass", "Forms", nullptr));
+ TrPreviewToolClass->setWindowTitle(QCoreApplication::translate("TrPreviewToolClass", "Qt Translation Preview Tool", nullptr));
+ actionOpenForm->setText(QCoreApplication::translate("TrPreviewToolClass", "&Open Form...", nullptr));
+ actionLoadTranslation->setText(QCoreApplication::translate("TrPreviewToolClass", "&Load Translation...", nullptr));
+ actionReloadTranslations->setText(QCoreApplication::translate("TrPreviewToolClass", "&Reload Translations", nullptr));
+#if QT_CONFIG(shortcut)
+ actionReloadTranslations->setShortcut(QCoreApplication::translate("TrPreviewToolClass", "F5", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionClose->setText(QCoreApplication::translate("TrPreviewToolClass", "&Close", nullptr));
+ actionAbout->setText(QCoreApplication::translate("TrPreviewToolClass", "About", nullptr));
+ actionAbout_Qt->setText(QCoreApplication::translate("TrPreviewToolClass", "About Qt", nullptr));
+ menuView->setTitle(QCoreApplication::translate("TrPreviewToolClass", "&View", nullptr));
+ menuViewViews->setTitle(QCoreApplication::translate("TrPreviewToolClass", "&Views", nullptr));
+ menuHelp->setTitle(QCoreApplication::translate("TrPreviewToolClass", "&Help", nullptr));
+ menuFile->setTitle(QCoreApplication::translate("TrPreviewToolClass", "&File", nullptr));
+ dwForms->setWindowTitle(QCoreApplication::translate("TrPreviewToolClass", "Forms", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/validators.ui.h b/tests/auto/tools/uic/baseline/validators.ui.h
index d0ae777f65..45d9c5aac6 100644
--- a/tests/auto/tools/uic/baseline/validators.ui.h
+++ b/tests/auto/tools/uic/baseline/validators.ui.h
@@ -375,22 +375,22 @@ public:
void retranslateUi(QWidget *ValidatorsForm)
{
- ValidatorsForm->setWindowTitle(QApplication::translate("ValidatorsForm", "Form", nullptr));
- groupBox->setTitle(QApplication::translate("ValidatorsForm", "QIntValidator", nullptr));
- label->setText(QApplication::translate("ValidatorsForm", "Min:", nullptr));
- label_2->setText(QApplication::translate("ValidatorsForm", "Max:", nullptr));
- label_7->setText(QApplication::translate("ValidatorsForm", "editingFinished()", nullptr));
- groupBox_2->setTitle(QApplication::translate("ValidatorsForm", "QDoubleValidator", nullptr));
- label_3->setText(QApplication::translate("ValidatorsForm", "Min:", nullptr));
- label_5->setText(QApplication::translate("ValidatorsForm", "Format:", nullptr));
- doubleFormat->setItemText(0, QApplication::translate("ValidatorsForm", "Standard", nullptr));
- doubleFormat->setItemText(1, QApplication::translate("ValidatorsForm", "Scientific", nullptr));
-
- label_4->setText(QApplication::translate("ValidatorsForm", "Max:", nullptr));
- label_6->setText(QApplication::translate("ValidatorsForm", "Decimals:", nullptr));
+ ValidatorsForm->setWindowTitle(QCoreApplication::translate("ValidatorsForm", "Form", nullptr));
+ groupBox->setTitle(QCoreApplication::translate("ValidatorsForm", "QIntValidator", nullptr));
+ label->setText(QCoreApplication::translate("ValidatorsForm", "Min:", nullptr));
+ label_2->setText(QCoreApplication::translate("ValidatorsForm", "Max:", nullptr));
+ label_7->setText(QCoreApplication::translate("ValidatorsForm", "editingFinished()", nullptr));
+ groupBox_2->setTitle(QCoreApplication::translate("ValidatorsForm", "QDoubleValidator", nullptr));
+ label_3->setText(QCoreApplication::translate("ValidatorsForm", "Min:", nullptr));
+ label_5->setText(QCoreApplication::translate("ValidatorsForm", "Format:", nullptr));
+ doubleFormat->setItemText(0, QCoreApplication::translate("ValidatorsForm", "Standard", nullptr));
+ doubleFormat->setItemText(1, QCoreApplication::translate("ValidatorsForm", "Scientific", nullptr));
+
+ label_4->setText(QCoreApplication::translate("ValidatorsForm", "Max:", nullptr));
+ label_6->setText(QCoreApplication::translate("ValidatorsForm", "Decimals:", nullptr));
doubleLedWidget->setText(QString());
- label_8->setText(QApplication::translate("ValidatorsForm", "editingFinished()", nullptr));
- pushButton->setText(QApplication::translate("ValidatorsForm", "Quit", nullptr));
+ label_8->setText(QCoreApplication::translate("ValidatorsForm", "editingFinished()", nullptr));
+ pushButton->setText(QCoreApplication::translate("ValidatorsForm", "Quit", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h b/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h
index d6f7ff5526..aa005593c0 100644
--- a/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h
@@ -1,7 +1,7 @@
/********************************************************************************
** Form generated from reading UI file 'wateringconfigdialog.ui'
**
-** Created by: Qt User Interface Compiler version 5.10.0
+** Created by: Qt User Interface Compiler version 5.12.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
@@ -250,34 +250,34 @@ public:
void retranslateUi(QDialog *WateringConfigDialog)
{
- WateringConfigDialog->setWindowTitle(QApplication::translate("WateringConfigDialog", "Watering Configuration", nullptr));
- label_3->setText(QApplication::translate("WateringConfigDialog", "Plant:", nullptr));
- plantComboBox->setItemText(0, QApplication::translate("WateringConfigDialog", "Squash", nullptr));
- plantComboBox->setItemText(1, QApplication::translate("WateringConfigDialog", "Bean", nullptr));
- plantComboBox->setItemText(2, QApplication::translate("WateringConfigDialog", "Carrot", nullptr));
- plantComboBox->setItemText(3, QApplication::translate("WateringConfigDialog", "Strawberry", nullptr));
- plantComboBox->setItemText(4, QApplication::translate("WateringConfigDialog", "Raspberry", nullptr));
- plantComboBox->setItemText(5, QApplication::translate("WateringConfigDialog", "Blueberry", nullptr));
-
- label_2->setText(QApplication::translate("WateringConfigDialog", "Water when:", nullptr));
- temperatureCheckBox->setText(QApplication::translate("WateringConfigDialog", "Temperature is higher than:", nullptr));
+ WateringConfigDialog->setWindowTitle(QCoreApplication::translate("WateringConfigDialog", "Watering Configuration", nullptr));
+ label_3->setText(QCoreApplication::translate("WateringConfigDialog", "Plant:", nullptr));
+ plantComboBox->setItemText(0, QCoreApplication::translate("WateringConfigDialog", "Squash", nullptr));
+ plantComboBox->setItemText(1, QCoreApplication::translate("WateringConfigDialog", "Bean", nullptr));
+ plantComboBox->setItemText(2, QCoreApplication::translate("WateringConfigDialog", "Carrot", nullptr));
+ plantComboBox->setItemText(3, QCoreApplication::translate("WateringConfigDialog", "Strawberry", nullptr));
+ plantComboBox->setItemText(4, QCoreApplication::translate("WateringConfigDialog", "Raspberry", nullptr));
+ plantComboBox->setItemText(5, QCoreApplication::translate("WateringConfigDialog", "Blueberry", nullptr));
+
+ label_2->setText(QCoreApplication::translate("WateringConfigDialog", "Water when:", nullptr));
+ temperatureCheckBox->setText(QCoreApplication::translate("WateringConfigDialog", "Temperature is higher than:", nullptr));
temperatureSpinBox->setSpecialValueText(QString());
- temperatureSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "C", nullptr));
- rainCheckBox->setText(QApplication::translate("WateringConfigDialog", "Rain less than:", nullptr));
+ temperatureSpinBox->setSuffix(QCoreApplication::translate("WateringConfigDialog", "C", nullptr));
+ rainCheckBox->setText(QCoreApplication::translate("WateringConfigDialog", "Rain less than:", nullptr));
rainSpinBox->setSpecialValueText(QString());
- rainSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "mm", nullptr));
- label->setText(QApplication::translate("WateringConfigDialog", "Starting Time:", nullptr));
- label_4->setText(QApplication::translate("WateringConfigDialog", "Amount:", nullptr));
- amountSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "l", nullptr));
- label_5->setText(QApplication::translate("WateringConfigDialog", "Source:", nullptr));
- sourceComboBox->setItemText(0, QApplication::translate("WateringConfigDialog", "Foundain", nullptr));
- sourceComboBox->setItemText(1, QApplication::translate("WateringConfigDialog", "River", nullptr));
- sourceComboBox->setItemText(2, QApplication::translate("WateringConfigDialog", "Lake", nullptr));
- sourceComboBox->setItemText(3, QApplication::translate("WateringConfigDialog", "Public Water System", nullptr));
-
- label_6->setText(QApplication::translate("WateringConfigDialog", "Filter:", nullptr));
+ rainSpinBox->setSuffix(QCoreApplication::translate("WateringConfigDialog", "mm", nullptr));
+ label->setText(QCoreApplication::translate("WateringConfigDialog", "Starting Time:", nullptr));
+ label_4->setText(QCoreApplication::translate("WateringConfigDialog", "Amount:", nullptr));
+ amountSpinBox->setSuffix(QCoreApplication::translate("WateringConfigDialog", "l", nullptr));
+ label_5->setText(QCoreApplication::translate("WateringConfigDialog", "Source:", nullptr));
+ sourceComboBox->setItemText(0, QCoreApplication::translate("WateringConfigDialog", "Foundain", nullptr));
+ sourceComboBox->setItemText(1, QCoreApplication::translate("WateringConfigDialog", "River", nullptr));
+ sourceComboBox->setItemText(2, QCoreApplication::translate("WateringConfigDialog", "Lake", nullptr));
+ sourceComboBox->setItemText(3, QCoreApplication::translate("WateringConfigDialog", "Public Water System", nullptr));
+
+ label_6->setText(QCoreApplication::translate("WateringConfigDialog", "Filter:", nullptr));
filterCheckBox->setText(QString());
- helpLabel->setText(QApplication::translate("WateringConfigDialog", "<a href=\"test\">Show Details</a>", nullptr));
+ helpLabel->setText(QCoreApplication::translate("WateringConfigDialog", "<a href=\"test\">Show Details</a>", nullptr));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/tst_uic.cpp b/tests/auto/tools/uic/tst_uic.cpp
index 85668c96d4..f9553028fe 100644
--- a/tests/auto/tools/uic/tst_uic.cpp
+++ b/tests/auto/tools/uic/tst_uic.cpp
@@ -37,6 +37,11 @@
#include <QtCore/QRegularExpression>
#include <QtCore/QStandardPaths>
+#include <cstdio>
+
+static const char keepEnvVar[] = "UIC_KEEP_GENERATED_FILES";
+static const char diffToStderrEnvVar[] = "UIC_STDERR_DIFF";
+
class tst_uic : public QObject
{
Q_OBJECT
@@ -69,7 +74,7 @@ private:
tst_uic::tst_uic()
: m_command(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QLatin1String("/uic"))
- , m_versionRegexp(QLatin1String("\\*\\* Created by: Qt User Interface Compiler version \\d{1,2}\\.\\d{1,2}\\.\\d{1,2}"))
+ , m_versionRegexp(QLatin1String(R"(\*\* Created by: Qt User Interface Compiler version \d{1,2}\.\d{1,2}\.\d{1,2})"))
{
}
@@ -103,14 +108,19 @@ void tst_uic::initTestCase()
qDebug("%s", qPrintable(msg));
}
+static const char helpFormat[] = R"(
+Note: The environment variable '%s' can be set to keep the temporary files
+for error analysis.
+The environment variable '%s' can be set to redirect the diff output to
+stderr.)";
+
void tst_uic::cleanupTestCase()
{
- static const char envVar[] = "UIC_KEEP_GENERATED_FILES";
- if (qgetenv(envVar).isEmpty()) {
- qDebug("Note: The environment variable '%s' can be set to keep the temporary files for error analysis.", envVar);
- } else {
+ if (qEnvironmentVariableIsSet(keepEnvVar)) {
m_generated.setAutoRemove(false);
qDebug("Keeping generated files in '%s'", qPrintable(QDir::toNativeSeparators(m_generated.path())));
+ } else {
+ qDebug(helpFormat, keepEnvVar, diffToStderrEnvVar);
}
}
@@ -152,7 +162,7 @@ void tst_uic::run()
QVERIFY(process.waitForFinished());
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
QCOMPARE(process.exitCode(), 0);
- QCOMPARE(QFileInfo(generatedFile).exists(), true);
+ QVERIFY(QFileInfo::exists(generatedFile));
}
void tst_uic::run_data() const
@@ -212,6 +222,16 @@ static QByteArray msgCannotReadFile(const QFile &file)
return result.toLocal8Bit();
}
+static void outputDiff(const QString &diff)
+{
+ // Use patch -p3 < diff to apply the obtained diff output in the baseline directory.
+ static const bool diffToStderr = qEnvironmentVariableIsSet(diffToStderrEnvVar);
+ if (diffToStderr)
+ std::fputs(qPrintable(diff), stderr);
+ else
+ qWarning("Difference:\n%s", qPrintable(diff));
+}
+
void tst_uic::compare()
{
QFETCH(QString, originalFile);
@@ -233,7 +253,7 @@ void tst_uic::compare()
if (generatedFileContents != originalFileContents) {
const QString diff = generateDiff(originalFile, generatedFile);
if (!diff.isEmpty())
- qWarning().noquote().nospace() << "Difference:\n" << diff;
+ outputDiff(diff);
}
QCOMPARE(generatedFileContents, originalFileContents);
@@ -274,7 +294,7 @@ void tst_uic::runTranslation()
QVERIFY(process.waitForFinished());
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
QCOMPARE(process.exitCode(), 0);
- QCOMPARE(QFileInfo(generatedFile).exists(), true);
+ QVERIFY(QFileInfo::exists(generatedFile));
}
@@ -301,7 +321,7 @@ void tst_uic::runCompare()
if (generatedFileContents != originalFileContents) {
const QString diff = generateDiff(originalFile, generatedFile);
if (!diff.isEmpty())
- qWarning().noquote().nospace() << "Difference:\n" << diff;
+ outputDiff(diff);
}
QCOMPARE(generatedFileContents, originalFileContents);
diff --git a/tests/auto/widgets/dialogs/qcolordialog/tst_qcolordialog.cpp b/tests/auto/widgets/dialogs/qcolordialog/tst_qcolordialog.cpp
index 6a0ad4b3a4..413b865f04 100644
--- a/tests/auto/widgets/dialogs/qcolordialog/tst_qcolordialog.cpp
+++ b/tests/auto/widgets/dialogs/qcolordialog/tst_qcolordialog.cpp
@@ -116,10 +116,10 @@ void tst_QColorDialog::testGetRgba()
#ifdef Q_OS_MAC
QEXPECT_FAIL("", "Sending QTest::keyClick to OSX color dialog helper fails, see QTBUG-24320", Continue);
#endif
- bool ok = false;
- QTimer::singleShot(500, this, SLOT(postKeyReturn()));
- QColorDialog::getRgba(0xffffffff, &ok);
- QVERIFY(ok);
+ QTimer::singleShot(500, this, &tst_QColorDialog::postKeyReturn);
+ const QColor color = QColorDialog::getColor(QColor::fromRgba(0xffffffff), nullptr, QString(),
+ QColorDialog::ShowAlphaChannel);
+ QVERIFY(color.isValid());
}
void tst_QColorDialog::defaultOkButton()
diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
index ae8e4f7e04..f7482bae45 100644
--- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
@@ -620,13 +620,13 @@ void tst_QFiledialog::acceptMode()
void tst_QFiledialog::confirmOverwrite()
{
QFileDialog fd;
- QCOMPARE(fd.confirmOverwrite(), true);
- fd.setConfirmOverwrite(true);
- QCOMPARE(fd.confirmOverwrite(), true);
- fd.setConfirmOverwrite(false);
- QCOMPARE(fd.confirmOverwrite(), false);
- fd.setConfirmOverwrite(true);
- QCOMPARE(fd.confirmOverwrite(), true);
+ QCOMPARE(fd.testOption(QFileDialog::DontConfirmOverwrite), false);
+ fd.setOption(QFileDialog::DontConfirmOverwrite, false);
+ QCOMPARE(fd.testOption(QFileDialog::DontConfirmOverwrite), false);
+ fd.setOption(QFileDialog::DontConfirmOverwrite, true);
+ QCOMPARE(fd.testOption(QFileDialog::DontConfirmOverwrite), true);
+ fd.setOption(QFileDialog::DontConfirmOverwrite, false);
+ QCOMPARE(fd.testOption(QFileDialog::DontConfirmOverwrite), false);
}
void tst_QFiledialog::defaultSuffix()
@@ -808,8 +808,8 @@ void tst_QFiledialog::isReadOnly()
//QCOMPARE(renameAction && renameAction->isEnabled(), true);
//QCOMPARE(deleteAction && deleteAction->isEnabled(), true);
- fd.setReadOnly(true);
- QCOMPARE(fd.isReadOnly(), true);
+ fd.setOption(QFileDialog::ReadOnly, true);
+ QCOMPARE(fd.testOption(QFileDialog::ReadOnly), true);
QCOMPARE(newButton && newButton->isEnabled(), false);
QCOMPARE(renameAction && renameAction->isEnabled(), false);
@@ -853,11 +853,11 @@ void tst_QFiledialog::resolveSymlinks()
QFileDialog fd;
// default
- QCOMPARE(fd.resolveSymlinks(), true);
- fd.setResolveSymlinks(false);
- QCOMPARE(fd.resolveSymlinks(), false);
- fd.setResolveSymlinks(true);
- QCOMPARE(fd.resolveSymlinks(), true);
+ QCOMPARE(fd.testOption(QFileDialog::DontResolveSymlinks), false);
+ fd.setOption(QFileDialog::DontResolveSymlinks, true);
+ QCOMPARE(fd.testOption(QFileDialog::DontResolveSymlinks), true);
+ fd.setOption(QFileDialog::DontResolveSymlinks, false);
+ QCOMPARE(fd.testOption(QFileDialog::DontResolveSymlinks), false);
// the file dialog doesn't do anything based upon this, just passes it to the model
// the model should fully test it, don't test it here
@@ -1119,7 +1119,7 @@ void tst_QFiledialog::setNameFilter()
QFileDialog fd;
fd.setNameFilters(filters);
- fd.setNameFilterDetailsVisible(nameFilterDetailsVisible);
+ fd.setOption(QFileDialog::HideNameFilterDetails, !nameFilterDetailsVisible);
fd.selectNameFilter(selectFilter);
QCOMPARE(fd.selectedNameFilter(), expectedSelectedFilter);
}
@@ -1421,6 +1421,16 @@ void tst_QFiledialog::clearLineEdit()
QTRY_VERIFY(fd.directory().absolutePath() != workDirPath);
QVERIFY(lineEdit->text().isEmpty());
+
+ // QTBUG-71415: When pressing back, the selection (activated
+ // directory) should be restored.
+ QToolButton *backButton = fd.findChild<QToolButton*>("backButton");
+ QVERIFY(backButton);
+ QTreeView *treeView = fd.findChildren<QTreeView*>("treeView").value(0);
+ QVERIFY(treeView);
+ backButton->click();
+ QTRY_COMPARE(treeView->selectionModel()->selectedIndexes().value(0).data().toString(),
+ dirName);
}
void tst_QFiledialog::enableChooseButton()
diff --git a/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp
index 8f9a8c11a7..869418371c 100644
--- a/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp
+++ b/tests/auto/widgets/dialogs/qfiledialog2/tst_qfiledialog2.cpp
@@ -252,7 +252,7 @@ void tst_QFileDialog2::showNameFilterDetails()
QFileDialog fd;
QComboBox *filters = fd.findChild<QComboBox*>("fileTypeCombo");
QVERIFY(filters);
- QVERIFY(fd.isNameFilterDetailsVisible());
+ QVERIFY(!fd.testOption(QFileDialog::HideNameFilterDetails));
QStringList filterChoices;
@@ -261,12 +261,12 @@ void tst_QFileDialog2::showNameFilterDetails()
<< "Any files (*.*)";
fd.setNameFilters(filterChoices);
- fd.setNameFilterDetailsVisible(false);
+ fd.setOption(QFileDialog::HideNameFilterDetails, true);
QCOMPARE(filters->itemText(0), QString("Image files"));
QCOMPARE(filters->itemText(1), QString("Text files"));
QCOMPARE(filters->itemText(2), QString("Any files"));
- fd.setNameFilterDetailsVisible(true);
+ fd.setOption(QFileDialog::HideNameFilterDetails, false);
QCOMPARE(filters->itemText(0), filterChoices.at(0));
QCOMPARE(filters->itemText(1), filterChoices.at(1));
QCOMPARE(filters->itemText(2), filterChoices.at(2));
@@ -486,7 +486,7 @@ protected:
parentIndex = source_parent;
QString path;
- path = parentIndex.child(source_row,0).data(Qt::DisplayRole).toString();
+ path = sourceModel()->index(source_row, 0, parentIndex).data(Qt::DisplayRole).toString();
do {
path = parentIndex.data(Qt::DisplayRole).toString() + QLatin1Char('/') + path;
@@ -601,6 +601,11 @@ void tst_QFileDialog2::task227930_correctNavigationKeyboardBehavior()
fd.setDirectory(current.absolutePath());
fd.show();
QVERIFY(QTest::qWaitForWindowActive(&fd));
+
+ // Ensure LayoutRequest event is processed so that the list view
+ // is sorted correctly to have the directory entires at the top.
+ QCoreApplication::processEvents();
+
QListView *list = fd.findChild<QListView*>("listView");
QVERIFY(list);
QTest::keyClick(list, Qt::Key_Down);
diff --git a/tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST b/tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST
new file mode 100644
index 0000000000..01679eb6ee
--- /dev/null
+++ b/tests/auto/widgets/dialogs/qfilesystemmodel/BLACKLIST
@@ -0,0 +1,11 @@
+winrt
+[sort:QFileDialog usage]
+ubuntu
+b2qt
+[specialFiles]
+ubuntu
+b2qt
+[dirsBeforeFiles]
+ubuntu
+b2qt
+windows
diff --git a/tests/auto/widgets/dialogs/qfilesystemmodel/CMakeLists.txt b/tests/auto/widgets/dialogs/qfilesystemmodel/CMakeLists.txt
index bf615c6805..336ce4ca15 100644
--- a/tests/auto/widgets/dialogs/qfilesystemmodel/CMakeLists.txt
+++ b/tests/auto/widgets/dialogs/qfilesystemmodel/CMakeLists.txt
@@ -1,5 +1,31 @@
-add_qt_test("tst_qfilesystemmodel" SOURCES tst_qfilesystemmodel.cpp
+# Generated from qfilesystemmodel.pro.
+
+#####################################################################
+## tst_qfilesystemmodel Test:
+#####################################################################
+
+add_qt_test(tst_qfilesystemmodel
+ SOURCES
+ ../../../../shared/emulationdetector.h
+ tst_qfilesystemmodel.cpp
+ INCLUDE_DIRECTORIES
+ ../../../../shared
LIBRARIES
- Qt::WidgetsPrivate
Qt::CorePrivate
+ Qt::WidgetsPrivate
+ PUBLIC_LIBRARIES
+ Qt::Core
+ Qt::Widgets
)
+
+#### Keys ignored in scope 1:.:.:qfilesystemmodel.pro:<TRUE>:
+# CONFIG = "testcase"
+
+## Scopes:
+#####################################################################
+
+#### Keys ignored in scope 2:.:.:qfilesystemmodel.pro:WIN32:
+# testcase.timeout = "900"
+
+#### Keys ignored in scope 3:.:.:qfilesystemmodel.pro:APPLE_OSX:
+# testcase.timeout = "900"
diff --git a/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro b/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro
index bc4671f60c..db8cf7de3f 100644
--- a/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro
+++ b/tests/auto/widgets/dialogs/qfilesystemmodel/qfilesystemmodel.pro
@@ -1,3 +1,6 @@
+INCLUDEPATH += ../../../../shared
+HEADERS += ../../../../shared/emulationdetector.h
+
CONFIG += testcase
# This testcase can be slow on Windows and OS X, and may interfere with other file system tests.
win32:testcase.timeout = 900
@@ -8,5 +11,3 @@ QT += core-private testlib
SOURCES += tst_qfilesystemmodel.cpp
TARGET = tst_qfilesystemmodel
-
-CONFIG += insignificant_test # QTBUG-29403
diff --git a/tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp
index d8a680881a..665a116a3a 100644
--- a/tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp
+++ b/tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp
@@ -27,6 +27,7 @@
****************************************************************************/
+#include <emulationdetector.h>
#include <QtTest/QtTest>
#ifdef QT_BUILD_INTERNAL
#include <private/qfilesystemmodel_p.h>
@@ -51,10 +52,15 @@
// Will try to wait for the condition while allowing event processing
// for a maximum of 5 seconds.
-#define TRY_WAIT(expr) \
+#define TRY_WAIT(expr, timedOut) \
do { \
+ *timedOut = true; \
const int step = 50; \
- for (int __i = 0; __i < 5000 && !(expr); __i+=step) { \
+ for (int __i = 0; __i < 5000; __i += step) { \
+ if (expr) { \
+ *timedOut = false; \
+ break; \
+ } \
QTest::qWait(step); \
} \
} while(0)
@@ -123,6 +129,8 @@ private slots:
protected:
bool createFiles(const QString &test_path, const QStringList &initial_files, int existingFileCount = 0, const QStringList &intial_dirs = QStringList());
+ QModelIndex prepareTestModelRoot(const QString &test_path, QSignalSpy **spy2 = nullptr,
+ QSignalSpy **spy3 = nullptr);
private:
QFileSystemModel *model;
@@ -306,7 +314,11 @@ void tst_QFileSystemModel::iconProvider()
bool tst_QFileSystemModel::createFiles(const QString &test_path, const QStringList &initial_files, int existingFileCount, const QStringList &initial_dirs)
{
//qDebug() << (model->rowCount(model->index(test_path))) << existingFileCount << initial_files;
- TRY_WAIT((model->rowCount(model->index(test_path)) == existingFileCount));
+ bool timedOut = false;
+ TRY_WAIT((model->rowCount(model->index(test_path)) == existingFileCount), &timedOut);
+ if (timedOut)
+ return false;
+
for (int i = 0; i < initial_dirs.count(); ++i) {
QDir dir(test_path);
if (!dir.exists()) {
@@ -363,23 +375,45 @@ bool tst_QFileSystemModel::createFiles(const QString &test_path, const QStringLi
return true;
}
-void tst_QFileSystemModel::rowCount()
+QModelIndex tst_QFileSystemModel::prepareTestModelRoot(const QString &test_path, QSignalSpy **spy2,
+ QSignalSpy **spy3)
{
- QString tmp = flatDirTestPath;
- QVERIFY(createFiles(tmp, QStringList()));
+ if (model->rowCount(model->index(test_path)) != 0)
+ return QModelIndex();
- QSignalSpy spy2(model, SIGNAL(rowsInserted(QModelIndex,int,int)));
- QSignalSpy spy3(model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)));
+ if (spy2)
+ *spy2 = new QSignalSpy(model, &QFileSystemModel::rowsInserted);
+ if (spy3)
+ *spy3 = new QSignalSpy(model, &QFileSystemModel::rowsAboutToBeInserted);
- QStringList files = QStringList() << "b" << "d" << "f" << "h" << "j" << ".a" << ".c" << ".e" << ".g";
+ QStringList files = { "b", "d", "f", "h", "j", ".a", ".c", ".e", ".g" };
QString l = "b,d,f,h,j,.a,.c,.e,.g";
- QVERIFY(createFiles(tmp, files));
+ if (!createFiles(test_path, files))
+ return QModelIndex();
- QModelIndex root = model->setRootPath(tmp);
- QTRY_COMPARE(model->rowCount(root), 5);
- QVERIFY(spy2.count() > 0);
- QVERIFY(spy3.count() > 0);
+ QModelIndex root = model->setRootPath(test_path);
+ if (!root.isValid())
+ return QModelIndex();
+
+ bool timedOut = false;
+ TRY_WAIT(model->rowCount(root) == 5, &timedOut);
+ if (timedOut)
+ return QModelIndex();
+
+ return root;
+}
+
+void tst_QFileSystemModel::rowCount()
+{
+ const QString tmp = flatDirTestPath;
+ QSignalSpy *spy2 = nullptr;
+ QSignalSpy *spy3 = nullptr;
+ QModelIndex root = prepareTestModelRoot(flatDirTestPath, &spy2, &spy3);
+ QVERIFY(root.isValid());
+
+ QVERIFY(spy2 && spy2->count() > 0);
+ QVERIFY(spy3 && spy3->count() > 0);
}
void tst_QFileSystemModel::rowsInserted_data()
@@ -401,9 +435,9 @@ static inline QString lastEntry(const QModelIndex &root)
void tst_QFileSystemModel::rowsInserted()
{
- QString tmp = flatDirTestPath;
- rowCount();
- QModelIndex root = model->index(model->rootPath());
+ const QString tmp = flatDirTestPath;
+ QModelIndex root = prepareTestModelRoot(tmp);
+ QVERIFY(root.isValid());
QFETCH(int, ascending);
QFETCH(int, count);
@@ -454,9 +488,9 @@ void tst_QFileSystemModel::rowsRemoved_data()
void tst_QFileSystemModel::rowsRemoved()
{
- QString tmp = flatDirTestPath;
- rowCount();
- QModelIndex root = model->index(model->rootPath());
+ const QString tmp = flatDirTestPath;
+ QModelIndex root = prepareTestModelRoot(tmp);
+ QVERIFY(root.isValid());
QFETCH(int, count);
QFETCH(int, ascending);
@@ -509,9 +543,9 @@ void tst_QFileSystemModel::dataChanged()
{
QSKIP("This can't be tested right now since we don't watch files, only directories.");
- QString tmp = flatDirTestPath;
- rowCount();
- QModelIndex root = model->index(model->rootPath());
+ const QString tmp = flatDirTestPath;
+ QModelIndex root = prepareTestModelRoot(tmp);
+ QVERIFY(root.isValid());
QFETCH(int, count);
QFETCH(int, assending);
@@ -755,6 +789,9 @@ void tst_QFileSystemModel::sort()
MyFriendFileSystemModel *myModel = new MyFriendFileSystemModel();
QTreeView *tree = new QTreeView();
+ if (fileDialogMode && EmulationDetector::isRunningArmOnX86())
+ QSKIP("Crashes in QEMU. QTBUG-70572");
+
#ifdef QT_BUILD_INTERNAL
if (fileDialogMode)
myModel->d_func()->disableRecursiveSort = true;
diff --git a/tests/auto/widgets/dialogs/qmessagebox/tst_qmessagebox.cpp b/tests/auto/widgets/dialogs/qmessagebox/tst_qmessagebox.cpp
index 049468fd7c..76314564f1 100644
--- a/tests/auto/widgets/dialogs/qmessagebox/tst_qmessagebox.cpp
+++ b/tests/auto/widgets/dialogs/qmessagebox/tst_qmessagebox.cpp
@@ -38,49 +38,6 @@
#include <qpa/qplatformtheme.h>
#include <private/qguiapplication_p.h>
-#define CONVENIENCE_FUNC_SYMS(func) \
- { \
- int x1 = QMessageBox::func(0, "Foo", "Bar"); \
- int x3 = QMessageBox::func(0, "Foo", "Bar", "Save"); \
- int x6 = QMessageBox::func(0, "Foo", "Bar", "Save", "Save As"); \
- int x7 = QMessageBox::func(0, "Foo", "Bar", "Save", "Save As", "Dont Save"); \
- int x8 = QMessageBox::func(0, "Foo", "Bar", "Save", "Save As", "Dont Save", 1); \
- int x9 = QMessageBox::func(0, "Foo", "Bar", "Save", "Save As", "Dont Save", 1, 2); \
- int x10 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::YesAll, QMessageBox::Yes); \
- int x11 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::YesAll, QMessageBox::Yes, \
- QMessageBox::No); \
- qDebug("%d %d %d %d %d %d %d %d", x1, x3, x6, x7, x8, x9, x10, x11); \
- { \
- int x4 = QMessageBox::func(0, "Foo", "Bar", (int)QMessageBox::Yes, (int)QMessageBox::No); \
- int x5 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes, (int)QMessageBox::No); \
- int x6 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes | QMessageBox::Default, (int)QMessageBox::No); \
- int x7 = QMessageBox::func(0, "Foo", "Bar", (int)QMessageBox::Yes, QMessageBox::No); \
- int x8 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes, QMessageBox::No); \
- int x9 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No); \
- int x10 = QMessageBox::func(0, "Foo", "Bar", (int)QMessageBox::Yes, (int)QMessageBox::No, (int)QMessageBox::Ok); \
- int x11 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes, (int)QMessageBox::No, (int)QMessageBox::Ok); \
- int x12 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes | QMessageBox::Default, (int)QMessageBox::No, (int)QMessageBox::Ok); \
- int x13 = QMessageBox::func(0, "Foo", "Bar", (int)QMessageBox::Yes, QMessageBox::No, (int)QMessageBox::Ok); \
- int x14 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes, QMessageBox::No, (int)QMessageBox::Ok); \
- int x15 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, (int)QMessageBox::Ok); \
- int x16 = QMessageBox::func(0, "Foo", "Bar", (int)QMessageBox::Yes, (int)QMessageBox::No, QMessageBox::Ok); \
- int x17 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes, (int)QMessageBox::No, QMessageBox::Ok); \
- int x18 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes | QMessageBox::Default, (int)QMessageBox::No, QMessageBox::Ok); \
- int x19 = QMessageBox::func(0, "Foo", "Bar", (int)QMessageBox::Yes, QMessageBox::No, QMessageBox::Ok); \
- int x20 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes, QMessageBox::No, QMessageBox::Ok); \
- int x21 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, QMessageBox::Ok); \
- qDebug("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21); \
- } \
- }
-
-#define CONVENIENCE_FUNC_SYMS_EXTRA(func) \
- { \
- int x1 = QMessageBox::func(0, "Foo", "Bar", (int)QMessageBox::Yes); \
- int x2 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes); \
- int x3 = QMessageBox::func(0, "Foo", "Bar", QMessageBox::Yes | QMessageBox::Default); \
- qDebug("%d %d %d", x1, x2, x3); \
- }
-
class tst_QMessageBox : public QObject
{
Q_OBJECT
@@ -103,13 +60,16 @@ private slots:
void staticSourceCompat();
void instanceSourceCompat();
- void testSymbols();
void incorrectDefaultButton();
void updateSize();
void setInformativeText();
void iconPixmap();
+ // QTBUG-44131
+ void acceptedRejectedSignals();
+ void acceptedRejectedSignals_data();
+
void cleanup();
};
@@ -210,9 +170,9 @@ void tst_QMessageBox::button()
{
QMessageBox msgBox;
msgBox.addButton("retry", QMessageBox::DestructiveRole);
- QVERIFY(msgBox.button(QMessageBox::Ok) == 0); // not added yet
+ QVERIFY(msgBox.button(QMessageBox::Ok) == nullptr); // not added yet
QPushButton *b1 = msgBox.addButton(QMessageBox::Ok);
- QCOMPARE(msgBox.button(QMessageBox::Ok), (QAbstractButton *)b1); // just added
+ QCOMPARE(msgBox.button(QMessageBox::Ok), static_cast<QAbstractButton *>(b1)); // just added
QCOMPARE(msgBox.standardButton(b1), QMessageBox::Ok);
msgBox.addButton(QMessageBox::Cancel);
QCOMPARE(msgBox.standardButtons(), QMessageBox::Ok | QMessageBox::Cancel);
@@ -220,12 +180,12 @@ void tst_QMessageBox::button()
// remove the cancel, should not exist anymore
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
QVERIFY(!msgBox.button(QMessageBox::Cancel));
- QVERIFY(msgBox.button(QMessageBox::Yes) != 0);
+ QVERIFY(msgBox.button(QMessageBox::Yes) != nullptr);
// should not crash
QPushButton *b4 = new QPushButton;
msgBox.addButton(b4, QMessageBox::DestructiveRole);
- msgBox.addButton(0, QMessageBox::ActionRole);
+ msgBox.addButton(nullptr, QMessageBox::ActionRole);
}
void tst_QMessageBox::defaultButton()
@@ -237,7 +197,7 @@ void tst_QMessageBox::defaultButton()
QVERIFY(!msgBox.defaultButton());
QPushButton pushButton;
msgBox.setDefaultButton(&pushButton);
- QVERIFY(msgBox.defaultButton() == 0); // we have not added it yet
+ QVERIFY(msgBox.defaultButton() == nullptr); // we have not added it yet
QPushButton *retryButton = msgBox.addButton(QMessageBox::Retry);
msgBox.setDefaultButton(retryButton);
QCOMPARE(msgBox.defaultButton(), retryButton);
@@ -248,11 +208,11 @@ void tst_QMessageBox::defaultButton()
closeHelper.start(Qt::Key_Enter, &msgBox);
msgBox.exec();
- QCOMPARE(msgBox.clickedButton(), (QAbstractButton *)retryButton);
+ QCOMPARE(msgBox.clickedButton(), static_cast<QAbstractButton *>(retryButton));
QAbstractButton *okButton = msgBox.button(QMessageBox::Ok);
msgBox.setDefaultButton(QMessageBox::Ok);
- QCOMPARE(msgBox.defaultButton(), (QPushButton *)okButton);
+ QCOMPARE(msgBox.defaultButton(), static_cast<QPushButton *>(okButton));
closeHelper.start(Qt::Key_Enter, &msgBox);
msgBox.exec();
QCOMPARE(msgBox.clickedButton(), okButton);
@@ -260,7 +220,7 @@ void tst_QMessageBox::defaultButton()
QCOMPARE(msgBox.defaultButton(), okButton);
msgBox.removeButton(okButton);
delete okButton;
- okButton = 0;
+ okButton = nullptr;
QVERIFY(!msgBox.defaultButton());
msgBox.setDefaultButton(QMessageBox::Ok);
QVERIFY(!msgBox.defaultButton());
@@ -287,7 +247,7 @@ void tst_QMessageBox::escapeButton()
QVERIFY(msgBox.clickedButton() == msgBox.button(QMessageBox::Cancel)); // auto detected (cancel)
msgBox.setEscapeButton(retryButton);
- QCOMPARE(msgBox.escapeButton(), (QAbstractButton *)retryButton);
+ QCOMPARE(msgBox.escapeButton(), static_cast<QAbstractButton *>(retryButton));
// with escape
closeHelper.start(Qt::Key_Escape, &msgBox);
@@ -297,7 +257,7 @@ void tst_QMessageBox::escapeButton()
// with close
closeHelper.start(ExecCloseHelper::CloseWindow, &msgBox);
msgBox.exec();
- QCOMPARE(msgBox.clickedButton(), (QAbstractButton *)retryButton);
+ QCOMPARE(msgBox.clickedButton(), static_cast<QAbstractButton *>(retryButton));
QAbstractButton *okButton = msgBox.button(QMessageBox::Ok);
msgBox.setEscapeButton(QMessageBox::Ok);
@@ -309,7 +269,7 @@ void tst_QMessageBox::escapeButton()
QCOMPARE(msgBox.escapeButton(), okButton);
msgBox.removeButton(okButton);
delete okButton;
- okButton = 0;
+ okButton = nullptr;
QVERIFY(!msgBox.escapeButton());
msgBox.setEscapeButton(QMessageBox::Ok);
QVERIFY(!msgBox.escapeButton());
@@ -353,28 +313,28 @@ void tst_QMessageBox::statics()
ExecCloseHelper closeHelper;
for (int i = 0; i < 4; i++) {
closeHelper.start(Qt::Key_Escape);
- QMessageBox::StandardButton sb = (*statics[i])(0, "caption",
+ QMessageBox::StandardButton sb = (*statics[i])(nullptr, "caption",
"text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help | QMessageBox::Cancel,
QMessageBox::NoButton);
QCOMPARE(sb, QMessageBox::Cancel);
QVERIFY(closeHelper.done());
closeHelper.start(ExecCloseHelper::CloseWindow);
- sb = (*statics[i])(0, "caption",
+ sb = (*statics[i])(nullptr, "caption",
"text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help | QMessageBox::Cancel,
QMessageBox::NoButton);
QCOMPARE(sb, QMessageBox::Cancel);
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Enter);
- sb = (*statics[i])(0, "caption",
+ sb = (*statics[i])(nullptr, "caption",
"text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help,
QMessageBox::Yes);
QCOMPARE(sb, QMessageBox::Yes);
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Enter);
- sb = (*statics[i])(0, "caption",
+ sb = (*statics[i])(nullptr, "caption",
"text", QMessageBox::Yes | QMessageBox::No | QMessageBox::Help,
QMessageBox::No);
QCOMPARE(sb, QMessageBox::No);
@@ -400,7 +360,7 @@ void tst_QMessageBox::about()
{
ExecCloseHelper closeHelper;
closeHelper.start(Qt::Key_Escape);
- QMessageBox::about(0, "Caption", "This is an auto test");
+ QMessageBox::about(nullptr, "Caption", "This is an auto test");
// On Mac, about and aboutQt are not modal, so we need to
// explicitly run the event loop
#ifdef Q_OS_MAC
@@ -412,7 +372,7 @@ void tst_QMessageBox::about()
const int keyToSend = Qt::Key_Enter;
closeHelper.start(keyToSend);
- QMessageBox::aboutQt(0, "Caption");
+ QMessageBox::aboutQt(nullptr, "Caption");
#ifdef Q_OS_MAC
QTRY_VERIFY(closeHelper.done());
#else
@@ -427,7 +387,7 @@ void tst_QMessageBox::staticSourceCompat()
// source compat tests for < 4.2
ExecCloseHelper closeHelper;
closeHelper.start(Qt::Key_Enter);
- ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes, QMessageBox::No);
+ ret = QMessageBox::information(nullptr, "title", "text", QMessageBox::Yes, QMessageBox::No);
int expectedButton = int(QMessageBox::Yes);
if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) {
const int dialogButtonBoxLayout = theme->themeHint(QPlatformTheme::DialogButtonBoxLayout).toInt();
@@ -439,39 +399,39 @@ void tst_QMessageBox::staticSourceCompat()
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Enter);
- ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No);
+ ret = QMessageBox::information(nullptr, "title", "text", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No);
QCOMPARE(ret, int(QMessageBox::Yes));
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Enter);
- ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes, QMessageBox::No | QMessageBox::Default);
+ ret = QMessageBox::information(nullptr, "title", "text", QMessageBox::Yes, QMessageBox::No | QMessageBox::Default);
QCOMPARE(ret, int(QMessageBox::No));
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Enter);
- ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape);
+ ret = QMessageBox::information(nullptr, "title", "text", QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape);
QCOMPARE(ret, int(QMessageBox::Yes));
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Enter);
- ret = QMessageBox::information(0, "title", "text", QMessageBox::Yes | QMessageBox::Escape, QMessageBox::No | QMessageBox::Default);
+ ret = QMessageBox::information(nullptr, "title", "text", QMessageBox::Yes | QMessageBox::Escape, QMessageBox::No | QMessageBox::Default);
QCOMPARE(ret, int(QMessageBox::No));
QVERIFY(closeHelper.done());
// the button text versions
closeHelper.start(Qt::Key_Enter);
- ret = QMessageBox::information(0, "title", "text", "Yes", "No", QString(), 1);
+ ret = QMessageBox::information(nullptr, "title", "text", "Yes", "No", QString(), 1);
QCOMPARE(ret, 1);
QVERIFY(closeHelper.done());
if (0) { // don't run these tests since the dialog won't close!
closeHelper.start(Qt::Key_Escape);
- ret = QMessageBox::information(0, "title", "text", "Yes", "No", QString(), 1);
+ ret = QMessageBox::information(nullptr, "title", "text", "Yes", "No", QString(), 1);
QCOMPARE(ret, -1);
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Escape);
- ret = QMessageBox::information(0, "title", "text", "Yes", "No", QString(), 0, 1);
+ ret = QMessageBox::information(nullptr, "title", "text", "Yes", "No", QString(), 0, 1);
QCOMPARE(ret, 1);
QVERIFY(closeHelper.done());
}
@@ -505,96 +465,6 @@ void tst_QMessageBox::instanceSourceCompat()
#endif
}
-void tst_QMessageBox::testSymbols()
-{
- return;
-
- QMessageBox::Icon icon;
- icon = QMessageBox::NoIcon;
- icon = QMessageBox::Information;
- icon = QMessageBox::Warning;
- icon = QMessageBox::Critical;
- icon = QMessageBox::Question;
-
- QMessageBox mb1;
- QMessageBox mb2(0);
- QMessageBox mb3(&mb1);
- QMessageBox mb3b("title", "text", QMessageBox::Critical, int(QMessageBox::Yes),
- int(QMessageBox::No), int(QMessageBox::Cancel), &mb1, Qt::Dialog);
-
- QMessageBox::Button button = QMessageBox::NoButton;
- button = QMessageBox::Ok;
- button = QMessageBox::Cancel;
- button = QMessageBox::Yes;
- button = QMessageBox::No;
- button = QMessageBox::Abort;
- button = QMessageBox::Retry;
- button = QMessageBox::Ignore;
- button = QMessageBox::YesAll;
- button = QMessageBox::NoAll;
- button = QMessageBox::ButtonMask;
- button = QMessageBox::Default;
- button = QMessageBox::Escape;
- button = QMessageBox::FlagMask;
- QVERIFY(button);
-
- const QString text = QStringLiteral("Foo");
- mb1.setText(text);
- QCOMPARE(mb1.text(), text);
-
- icon = mb1.icon();
- QCOMPARE(icon, QMessageBox::NoIcon);
- mb1.setIcon(QMessageBox::Question);
- QCOMPARE(mb1.icon(), QMessageBox::Question);
-
- QPixmap iconPixmap = mb1.iconPixmap();
- mb1.setIconPixmap(iconPixmap);
- QCOMPARE(mb1.icon(), QMessageBox::NoIcon);
-
- QCOMPARE(mb1.buttonText(QMessageBox::Ok), QLatin1String("OK"));
- QCOMPARE(mb1.buttonText(QMessageBox::Cancel), QString());
- QCOMPARE(mb1.buttonText(QMessageBox::Ok | QMessageBox::Default), QString());
-
- const QString button1 = QStringLiteral("Bar");
- mb2.setButtonText(QMessageBox::Cancel, QStringLiteral("Foo"));
- mb2.setButtonText(QMessageBox::Ok, button1);
- mb2.setButtonText(QMessageBox::Ok | QMessageBox::Default, QStringLiteral("Baz"));
-
- QCOMPARE(mb2.buttonText(QMessageBox::Cancel), QString());
- QCOMPARE(mb2.buttonText(QMessageBox::Ok), button1);
-
- QVERIFY(mb3b.buttonText(QMessageBox::Yes).endsWith("Yes"));
- QCOMPARE(mb3b.buttonText(QMessageBox::YesAll), QString());
- QCOMPARE(mb3b.buttonText(QMessageBox::Ok), QString());
-
- const QString button2 = QStringLiteral("Blah");
- mb3b.setButtonText(QMessageBox::Yes, button2);
- mb3b.setButtonText(QMessageBox::YesAll, QStringLiteral("Zoo"));
- mb3b.setButtonText(QMessageBox::Ok, QStringLiteral("Zoo"));
-
- QCOMPARE(mb3b.buttonText(QMessageBox::Yes), button2);
- QCOMPARE(mb3b.buttonText(QMessageBox::YesAll), QString());
- QCOMPARE(mb3b.buttonText(QMessageBox::Ok), QString());
-
- QCOMPARE(mb1.textFormat(), Qt::AutoText);
- mb1.setTextFormat(Qt::PlainText);
- QCOMPARE(mb1.textFormat(), Qt::PlainText);
-
- CONVENIENCE_FUNC_SYMS(information);
- CONVENIENCE_FUNC_SYMS_EXTRA(information);
- CONVENIENCE_FUNC_SYMS(question);
- CONVENIENCE_FUNC_SYMS_EXTRA(question);
- CONVENIENCE_FUNC_SYMS(warning);
- CONVENIENCE_FUNC_SYMS(critical);
-
- QSize sizeHint = mb1.sizeHint();
- QVERIFY(sizeHint.width() > 20 && sizeHint.height() > 20);
-
- QMessageBox::about(&mb1, "title", "text");
- QMessageBox::aboutQt(&mb1);
- QMessageBox::aboutQt(&mb1, "title");
-}
-
void tst_QMessageBox::detailsText()
{
QMessageBox box;
@@ -618,9 +488,8 @@ void tst_QMessageBox::detailsButtonText()
QDialogButtonBox* bb = box.findChild<QDialogButtonBox*>("qt_msgbox_buttonbox");
QVERIFY(bb); //get the detail button
- QList<QAbstractButton *> list = bb->buttons();
- QAbstractButton* btn = NULL;
- foreach(btn, list) {
+ auto list = bb->buttons();
+ for (auto btn : list) {
if (btn && (btn->inherits("QPushButton"))) {
if (btn->text().remove(QLatin1Char('&')) != QMessageBox::tr("OK")
&& btn->text() != QMessageBox::tr("Show Details...")) {
@@ -640,12 +509,12 @@ void tst_QMessageBox::expandDetails_QTBUG_32473()
QDialogButtonBox* bb = box.findChild<QDialogButtonBox*>("qt_msgbox_buttonbox");
QVERIFY(bb);
- QList<QAbstractButton *> list = bb->buttons();
- QAbstractButton* moreButton = NULL;
- foreach (QAbstractButton* btn, list)
- if (btn && bb->buttonRole(btn) == QDialogButtonBox::ActionRole)
- moreButton = btn;
- QVERIFY(moreButton);
+ auto list = bb->buttons();
+ auto it = std::find_if(list.rbegin(), list.rend(), [&](QAbstractButton *btn) {
+ return btn && bb->buttonRole(btn) == QDialogButtonBox::ActionRole; });
+ QVERIFY(it != list.rend());
+ auto moreButton = *it;
+
QVERIFY(QTest::qWaitForWindowExposed(&box));
QRect geom = box.geometry();
box.resized = false;
@@ -667,19 +536,19 @@ void tst_QMessageBox::incorrectDefaultButton()
closeHelper.start(Qt::Key_Escape);
//Do not crash here
QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added");
- QMessageBox::question( 0, "", "I've been hit!",QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Save );
+ QMessageBox::question(nullptr, "", "I've been hit!",QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Save);
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Escape);
QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added");
- QMessageBox::question( 0, "", "I've been hit!",QFlag(QMessageBox::Ok | QMessageBox::Cancel),QMessageBox::Save );
+ QMessageBox::question(nullptr, "", "I've been hit!",QFlag(QMessageBox::Ok | QMessageBox::Cancel),QMessageBox::Save);
QVERIFY(closeHelper.done());
closeHelper.start(Qt::Key_Escape);
QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added");
QTest::ignoreMessage(QtWarningMsg, "QDialogButtonBox::createButton: Invalid ButtonRole, button not added");
//do not crash here -> call old function of QMessageBox in this case
- QMessageBox::question( 0, "", "I've been hit!",QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Save | QMessageBox::Cancel,QMessageBox::Ok);
+ QMessageBox::question(nullptr, "", "I've been hit!",QMessageBox::Ok | QMessageBox::Cancel,QMessageBox::Save | QMessageBox::Cancel,QMessageBox::Ok);
QVERIFY(closeHelper.done());
}
@@ -718,5 +587,96 @@ void tst_QMessageBox::iconPixmap()
QCOMPARE(messageBox.iconPixmap(), QPixmap());
}
+using SignalSignature = void(QDialog::*)();
+Q_DECLARE_METATYPE(SignalSignature);
+Q_DECLARE_METATYPE(QMessageBox::ButtonRole)
+
+using ButtonsCreator = std::function<QVector<QPushButton*>(QMessageBox &)>;
+Q_DECLARE_METATYPE(ButtonsCreator);
+
+using RoleSet = QSet<QMessageBox::ButtonRole>;
+Q_DECLARE_METATYPE(RoleSet);
+
+void tst_QMessageBox::acceptedRejectedSignals()
+{
+ QMessageBox messageBox(QMessageBox::Information, "Test window", "Test text");
+
+ QFETCH(ButtonsCreator, buttonsCreator);
+ QVERIFY(buttonsCreator);
+
+ const auto buttons = buttonsCreator(messageBox);
+ QVERIFY(!buttons.isEmpty());
+
+ QFETCH(RoleSet, roles);
+ QFETCH(SignalSignature, signalSignature);
+ for (auto button: buttons) {
+ QVERIFY(button);
+
+ messageBox.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&messageBox));
+
+ QSignalSpy spy(&messageBox, signalSignature);
+ QVERIFY(spy.isValid());
+ button->click();
+
+ if (roles.contains(messageBox.buttonRole(button)))
+ QCOMPARE(spy.count(), 1);
+ else
+ QVERIFY(spy.isEmpty());
+ }
+}
+
+static void addAcceptedRow(const char *title, ButtonsCreator bc)
+{
+ QTest::newRow(title) << (RoleSet() << QMessageBox::AcceptRole << QMessageBox::YesRole)
+ << &QDialog::accepted << bc;
+}
+
+static void addRejectedRow(const char *title, ButtonsCreator bc)
+{
+ QTest::newRow(title) << (RoleSet() << QMessageBox::RejectRole << QMessageBox::NoRole)
+ << &QDialog::rejected << bc;
+}
+
+static void addCustomButtonsData()
+{
+ ButtonsCreator buttonsCreator = [](QMessageBox &messageBox) {
+ QVector<QPushButton*> buttons(QMessageBox::NRoles);
+ for (int i = QMessageBox::AcceptRole; i < QMessageBox::NRoles; ++i) {
+ buttons[i] = messageBox.addButton(
+ QString("Button role: %1").arg(i), QMessageBox::ButtonRole(i));
+ }
+
+ return buttons;
+ };
+
+ addAcceptedRow("Accepted_CustomButtons", buttonsCreator);
+ addRejectedRow("Rejected_CustomButtons", buttonsCreator);
+}
+
+static void addStandardButtonsData()
+{
+ ButtonsCreator buttonsCreator = [](QMessageBox &messageBox) {
+ QVector<QPushButton*> buttons;
+ for (int i = QMessageBox::FirstButton; i <= QMessageBox::LastButton; i <<= 1)
+ buttons << messageBox.addButton(QMessageBox::StandardButton(i));
+
+ return buttons;
+ };
+
+ addAcceptedRow("Accepted_StandardButtons", buttonsCreator);
+ addRejectedRow("Rejected_StandardButtons", buttonsCreator);
+}
+
+void tst_QMessageBox::acceptedRejectedSignals_data()
+{
+ QTest::addColumn<RoleSet>("roles");
+ QTest::addColumn<SignalSignature>("signalSignature");
+ QTest::addColumn<ButtonsCreator>("buttonsCreator");
+
+ addStandardButtonsData();
+ addCustomButtonsData();
+}
+
QTEST_MAIN(tst_QMessageBox)
#include "tst_qmessagebox.moc"
diff --git a/tests/auto/widgets/dialogs/qprogressdialog/tst_qprogressdialog.cpp b/tests/auto/widgets/dialogs/qprogressdialog/tst_qprogressdialog.cpp
index 2ada4fedb6..6f527e7b6b 100644
--- a/tests/auto/widgets/dialogs/qprogressdialog/tst_qprogressdialog.cpp
+++ b/tests/auto/widgets/dialogs/qprogressdialog/tst_qprogressdialog.cpp
@@ -252,7 +252,7 @@ class QTestTranslator : public QTranslator
{
const QString m_str;
public:
- explicit QTestTranslator(QString str) : m_str(qMove(str)) {}
+ explicit QTestTranslator(QString str) : m_str(std::move(str)) {}
QString translate(const char *, const char *sourceText, const char *, int) const override
{ return m_str + sourceText + m_str; }
@@ -265,7 +265,7 @@ class QTranslatorGuard {
Translator t;
public:
template <typename Arg>
- explicit QTranslatorGuard(Arg a) : t(qMove(a))
+ explicit QTranslatorGuard(Arg a) : t(std::move(a))
{ qApp->installTranslator(&t); }
~QTranslatorGuard()
{ qApp->removeTranslator(&t); }
diff --git a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
index 95662a49a0..c4b6e22c37 100644
--- a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
+++ b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
@@ -313,6 +313,7 @@ void tst_QGraphicsEffect::draw()
view.show();
QVERIFY(QTest::qWaitForWindowActive(&view));
QTRY_VERIFY(item->numRepaints > 0);
+ QCoreApplication::processEvents(); // Process all queued paint events
item->reset();
// Make sure installing the effect triggers a repaint.
diff --git a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
index 67e1f9ce30..2f5fc597dc 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
@@ -91,7 +91,7 @@ public:
{
Q_UNUSED(option);
Q_UNUSED(widget);
- painter->drawRoundRect(rect());
+ painter->drawRoundedRect(rect(), 25, 25, Qt::RelativeSize);
painter->drawLine(rect().topLeft(), rect().bottomRight());
painter->drawLine(rect().bottomLeft(), rect().topRight());
}
diff --git a/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp b/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp
index e7d26622c9..973a73a4a9 100644
--- a/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicseffectsource/tst_qgraphicseffectsource.cpp
@@ -183,6 +183,7 @@ void tst_QGraphicsEffectSource::init()
effect->storeDeviceDependentStuff = false;
effect->doNothingInDraw = false;
item->reset();
+ QCoreApplication::processEvents(); // Process all queued paint events
}
void tst_QGraphicsEffectSource::graphicsItem()
diff --git a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
index 34646a9074..2f0c43552f 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
@@ -125,7 +125,7 @@ public:
{
Q_UNUSED(option);
Q_UNUSED(widget);
- painter->drawRoundRect(rect());
+ painter->drawRoundedRect(rect(), 25, 25, Qt::RelativeSize);
painter->drawLine(rect().topLeft(), rect().bottomRight());
painter->drawLine(rect().bottomLeft(), rect().topRight());
}
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/BLACKLIST b/tests/auto/widgets/graphicsview/qgraphicsitem/BLACKLIST
new file mode 100644
index 0000000000..e760042def
--- /dev/null
+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/BLACKLIST
@@ -0,0 +1,3 @@
+# QTBUG-74760
+[sorting]
+opensuse-42.3
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
index 27eac03880..bca664c05b 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -301,8 +301,8 @@ private slots:
void pos();
void scenePos();
void matrix();
- void sceneMatrix();
- void setMatrix();
+ void sceneTransform();
+ void setTransform();
void zValue();
void shape();
void contains();
@@ -552,8 +552,8 @@ void tst_QGraphicsItem::construction()
QVERIFY(!item->acceptHoverEvents());
QVERIFY(!item->hasFocus());
QCOMPARE(item->pos(), QPointF());
- QCOMPARE(item->matrix(), QMatrix());
- QCOMPARE(item->sceneMatrix(), QMatrix());
+ QCOMPARE(item->transform(), QTransform());
+ QCOMPARE(item->sceneTransform(), QTransform());
QCOMPARE(item->zValue(), qreal(0));
QCOMPARE(item->sceneBoundingRect(), QRectF());
QCOMPARE(item->shape(), QPainterPath());
@@ -2116,68 +2116,68 @@ void tst_QGraphicsItem::scenePos()
void tst_QGraphicsItem::matrix()
{
QGraphicsLineItem line;
- QCOMPARE(line.matrix(), QMatrix());
- line.setMatrix(QMatrix().rotate(90));
- QCOMPARE(line.matrix(), QMatrix().rotate(90));
- line.setMatrix(QMatrix().rotate(90));
- QCOMPARE(line.matrix(), QMatrix().rotate(90));
- line.setMatrix(QMatrix().rotate(90), true);
- QCOMPARE(line.matrix(), QMatrix().rotate(180));
- line.setMatrix(QMatrix().rotate(-90), true);
- QCOMPARE(line.matrix(), QMatrix().rotate(90));
- line.resetMatrix();
- QCOMPARE(line.matrix(), QMatrix());
+ QCOMPARE(line.transform(), QTransform());
+ line.setTransform(QTransform().rotate(90));
+ QCOMPARE(line.transform(), QTransform().rotate(90));
+ line.setTransform(QTransform().rotate(90));
+ QCOMPARE(line.transform(), QTransform().rotate(90));
+ line.setTransform(QTransform().rotate(90), true);
+ QCOMPARE(line.transform(), QTransform().rotate(180));
+ line.setTransform(QTransform().rotate(-90), true);
+ QCOMPARE(line.transform(), QTransform().rotate(90));
+ line.resetTransform();
+ QCOMPARE(line.transform(), QTransform());
line.setTransform(QTransform().rotate(90), true);
- QCOMPARE(line.matrix(), QMatrix().rotate(90));
+ QCOMPARE(line.transform(), QTransform().rotate(90));
line.setTransform(QTransform().rotate(90), true);
- QCOMPARE(line.matrix(), QMatrix().rotate(90).rotate(90));
- line.resetMatrix();
+ QCOMPARE(line.transform(), QTransform().rotate(90).rotate(90));
+ line.resetTransform();
line.setTransform(QTransform::fromScale(2, 4), true);
- QCOMPARE(line.matrix(), QMatrix().scale(2, 4));
+ QCOMPARE(line.transform(), QTransform::fromScale(2, 4));
line.setTransform(QTransform::fromScale(2, 4), true);
- QCOMPARE(line.matrix(), QMatrix().scale(2, 4).scale(2, 4));
- line.resetMatrix();
+ QCOMPARE(line.transform(), QTransform::fromScale(2, 4).scale(2, 4));
+ line.resetTransform();
line.setTransform(QTransform().shear(2, 4), true);
- QCOMPARE(line.matrix(), QMatrix().shear(2, 4));
+ QCOMPARE(line.transform(), QTransform().shear(2, 4));
line.setTransform(QTransform().shear(2, 4), true);
- QCOMPARE(line.matrix(), QMatrix().shear(2, 4).shear(2, 4));
- line.resetMatrix();
+ QCOMPARE(line.transform(), QTransform().shear(2, 4).shear(2, 4));
+ line.resetTransform();
line.setTransform(QTransform::fromTranslate(10, 10), true);
- QCOMPARE(line.matrix(), QMatrix().translate(10, 10));
+ QCOMPARE(line.transform(), QTransform::fromTranslate(10, 10));
line.setTransform(QTransform::fromTranslate(10, 10), true);
- QCOMPARE(line.matrix(), QMatrix().translate(10, 10).translate(10, 10));
- line.resetMatrix();
+ QCOMPARE(line.transform(), QTransform::fromTranslate(10, 10).translate(10, 10));
+ line.resetTransform();
}
-void tst_QGraphicsItem::sceneMatrix()
+void tst_QGraphicsItem::sceneTransform()
{
QGraphicsLineItem *parent = new QGraphicsLineItem;
QGraphicsLineItem *child = new QGraphicsLineItem(QLineF(), parent);
- QCOMPARE(parent->sceneMatrix(), QMatrix());
- QCOMPARE(child->sceneMatrix(), QMatrix());
+ QCOMPARE(parent->sceneTransform(), QTransform());
+ QCOMPARE(child->sceneTransform(), QTransform());
parent->setTransform(QTransform::fromTranslate(10, 10), true);
- QCOMPARE(parent->sceneMatrix(), QMatrix().translate(10, 10));
- QCOMPARE(child->sceneMatrix(), QMatrix().translate(10, 10));
+ QCOMPARE(parent->sceneTransform(), QTransform().translate(10, 10));
+ QCOMPARE(child->sceneTransform(), QTransform().translate(10, 10));
child->setTransform(QTransform::fromTranslate(10, 10), true);
- QCOMPARE(parent->sceneMatrix(), QMatrix().translate(10, 10));
- QCOMPARE(child->sceneMatrix(), QMatrix().translate(20, 20));
+ QCOMPARE(parent->sceneTransform(), QTransform().translate(10, 10));
+ QCOMPARE(child->sceneTransform(), QTransform().translate(20, 20));
parent->setTransform(QTransform().rotate(90), true);
- QCOMPARE(parent->sceneMatrix(), QMatrix().translate(10, 10).rotate(90));
- QCOMPARE(child->sceneMatrix(), QMatrix().translate(10, 10).rotate(90).translate(10, 10));
+ QCOMPARE(parent->sceneTransform(), QTransform().translate(10, 10).rotate(90));
+ QCOMPARE(child->sceneTransform(), QTransform().translate(10, 10).rotate(90).translate(10, 10));
delete child;
delete parent;
}
-void tst_QGraphicsItem::setMatrix()
+void tst_QGraphicsItem::setTransform()
{
QGraphicsScene scene;
QSignalSpy spy(&scene, SIGNAL(changed(QList<QRectF>)));
@@ -2190,7 +2190,7 @@ void tst_QGraphicsItem::setMatrix()
QCOMPARE(spy.count(), 1);
- item.setMatrix(QMatrix().rotate(qreal(12.34)));
+ item.setTransform(QTransform().rotate(qreal(12.34)));
QRectF rotatedRect = scene.sceneRect();
QVERIFY(unrotatedRect != rotatedRect);
scene.update(scene.sceneRect());
@@ -2198,7 +2198,7 @@ void tst_QGraphicsItem::setMatrix()
QCOMPARE(spy.count(), 2);
- item.setMatrix(QMatrix());
+ item.setTransform(QTransform());
scene.update(scene.sceneRect());
QApplication::instance()->processEvents();
@@ -2485,25 +2485,25 @@ void tst_QGraphicsItem::collidesWith_item()
void tst_QGraphicsItem::collidesWith_path_data()
{
QTest::addColumn<QPointF>("pos");
- QTest::addColumn<QMatrix>("matrix");
+ QTest::addColumn<QTransform>("transform");
QTest::addColumn<QPainterPath>("shape");
QTest::addColumn<bool>("rectCollides");
QTest::addColumn<bool>("ellipseCollides");
- QTest::newRow("nothing") << QPointF(0, 0) << QMatrix() << QPainterPath() << false << false;
+ QTest::newRow("nothing") << QPointF(0, 0) << QTransform() << QPainterPath() << false << false;
QPainterPath rect;
rect.addRect(0, 0, 20, 20);
- QTest::newRow("rect1") << QPointF(0, 0) << QMatrix() << rect << true << true;
- QTest::newRow("rect2") << QPointF(0, 0) << QMatrix().translate(21, 21) << rect << false << false;
- QTest::newRow("rect3") << QPointF(21, 21) << QMatrix() << rect << false << false;
+ QTest::newRow("rect1") << QPointF(0, 0) << QTransform() << rect << true << true;
+ QTest::newRow("rect2") << QPointF(0, 0) << QTransform::fromTranslate(21, 21) << rect << false << false;
+ QTest::newRow("rect3") << QPointF(21, 21) << QTransform() << rect << false << false;
}
void tst_QGraphicsItem::collidesWith_path()
{
QFETCH(QPointF, pos);
- QFETCH(QMatrix, matrix);
+ QFETCH(QTransform, transform);
QFETCH(QPainterPath, shape);
QFETCH(bool, rectCollides);
QFETCH(bool, ellipseCollides);
@@ -2512,12 +2512,12 @@ void tst_QGraphicsItem::collidesWith_path()
QGraphicsEllipseItem ellipse(QRectF(0, 0, 20, 20));
rect.setPos(pos);
- rect.setMatrix(matrix);
+ rect.setTransform(transform);
ellipse.setPos(pos);
- ellipse.setMatrix(matrix);
+ ellipse.setTransform(transform);
- QPainterPath mappedShape = rect.sceneMatrix().inverted().map(shape);
+ QPainterPath mappedShape = rect.sceneTransform().inverted().map(shape);
if (rectCollides)
QVERIFY(rect.collidesWithPath(mappedShape));
@@ -2742,35 +2742,35 @@ void tst_QGraphicsItem::mapFromToParent()
item4->setPos(10, 10);
for (int i = 0; i < 4; ++i) {
- QMatrix matrix;
- matrix.rotate(i * 90);
- matrix.translate(i * 100, -i * 100);
- matrix.scale(2, 4);
- item1->setMatrix(matrix);
+ QTransform transform;
+ transform.rotate(i * 90);
+ transform.translate(i * 100, -i * 100);
+ transform.scale(2, 4);
+ item1->setTransform(transform);
- QCOMPARE(item1->mapToParent(QPointF(0, 0)), item1->pos() + matrix.map(QPointF(0, 0)));
+ QCOMPARE(item1->mapToParent(QPointF(0, 0)), item1->pos() + transform.map(QPointF(0, 0)));
QCOMPARE(item2->mapToParent(QPointF(0, 0)), item2->pos());
QCOMPARE(item3->mapToParent(QPointF(0, 0)), item3->pos());
QCOMPARE(item4->mapToParent(QPointF(0, 0)), item4->pos());
- QCOMPARE(item1->mapToParent(QPointF(10, -10)), item1->pos() + matrix.map(QPointF(10, -10)));
+ QCOMPARE(item1->mapToParent(QPointF(10, -10)), item1->pos() + transform.map(QPointF(10, -10)));
QCOMPARE(item2->mapToParent(QPointF(10, -10)), item2->pos() + QPointF(10, -10));
QCOMPARE(item3->mapToParent(QPointF(10, -10)), item3->pos() + QPointF(10, -10));
QCOMPARE(item4->mapToParent(QPointF(10, -10)), item4->pos() + QPointF(10, -10));
- QCOMPARE(item1->mapToParent(QPointF(-10, 10)), item1->pos() + matrix.map(QPointF(-10, 10)));
+ QCOMPARE(item1->mapToParent(QPointF(-10, 10)), item1->pos() + transform.map(QPointF(-10, 10)));
QCOMPARE(item2->mapToParent(QPointF(-10, 10)), item2->pos() + QPointF(-10, 10));
QCOMPARE(item3->mapToParent(QPointF(-10, 10)), item3->pos() + QPointF(-10, 10));
QCOMPARE(item4->mapToParent(QPointF(-10, 10)), item4->pos() + QPointF(-10, 10));
- QCOMPARE(item1->mapFromParent(item1->pos()), matrix.inverted().map(QPointF(0, 0)));
+ QCOMPARE(item1->mapFromParent(item1->pos()), transform.inverted().map(QPointF(0, 0)));
QCOMPARE(item2->mapFromParent(item2->pos()), QPointF(0, 0));
QCOMPARE(item3->mapFromParent(item3->pos()), QPointF(0, 0));
QCOMPARE(item4->mapFromParent(item4->pos()), QPointF(0, 0));
QCOMPARE(item1->mapFromParent(item1->pos() + QPointF(10, -10)),
- matrix.inverted().map(QPointF(10, -10)));
+ transform.inverted().map(QPointF(10, -10)));
QCOMPARE(item2->mapFromParent(item2->pos() + QPointF(10, -10)), QPointF(10, -10));
QCOMPARE(item3->mapFromParent(item3->pos() + QPointF(10, -10)), QPointF(10, -10));
QCOMPARE(item4->mapFromParent(item4->pos() + QPointF(10, -10)), QPointF(10, -10));
QCOMPARE(item1->mapFromParent(item1->pos() + QPointF(-10, 10)),
- matrix.inverted().map(QPointF(-10, 10)));
+ transform.inverted().map(QPointF(-10, 10)));
QCOMPARE(item2->mapFromParent(item2->pos() + QPointF(-10, 10)), QPointF(-10, 10));
QCOMPARE(item3->mapFromParent(item3->pos() + QPointF(-10, 10)), QPointF(-10, 10));
QCOMPARE(item4->mapFromParent(item4->pos() + QPointF(-10, 10)), QPointF(-10, 10));
@@ -2820,8 +2820,8 @@ void tst_QGraphicsItem::mapFromToScene()
QCOMPARE(item4->mapFromScene(410, 400), QPointF(10, 0));
// Rotate item1 90 degrees clockwise
- QMatrix matrix; matrix.rotate(90);
- item1->setMatrix(matrix);
+ QTransform transform; transform.rotate(90);
+ item1->setTransform(transform);
QCOMPARE(item1->pos(), item1->mapToParent(0, 0));
QCOMPARE(item2->pos(), item2->mapToParent(0, 0));
QCOMPARE(item3->pos(), item3->mapToParent(0, 0));
@@ -2848,7 +2848,7 @@ void tst_QGraphicsItem::mapFromToScene()
QCOMPARE(item4->mapFromScene(-200, 410), QPointF(10, 0));
// Rotate item2 90 degrees clockwise
- item2->setMatrix(matrix);
+ item2->setTransform(transform);
QCOMPARE(item1->pos(), item1->mapToParent(0, 0));
QCOMPARE(item2->pos(), item2->mapToParent(0, 0));
QCOMPARE(item3->pos(), item3->mapToParent(0, 0));
@@ -2875,10 +2875,10 @@ void tst_QGraphicsItem::mapFromToScene()
QCOMPARE(item4->mapFromScene(-210, 0), QPointF(10, 0));
// Translate item3 50 points, then rotate 90 degrees counterclockwise
- QMatrix matrix2;
- matrix2.translate(50, 0);
- matrix2.rotate(-90);
- item3->setMatrix(matrix2);
+ QTransform transform2;
+ transform2.translate(50, 0);
+ transform2.rotate(-90);
+ item3->setTransform(transform2);
QCOMPARE(item1->pos(), item1->mapToParent(0, 0));
QCOMPARE(item2->pos(), item2->mapToParent(0, 0));
QCOMPARE(item3->pos(), item3->mapToParent(0, 0) - QPointF(50, 0));
@@ -2928,9 +2928,9 @@ void tst_QGraphicsItem::mapFromToItem()
QCOMPARE(item3->mapFromItem(item2, 0, 0), QPointF(0, -200));
QCOMPARE(item4->mapFromItem(item3, 0, 0), QPointF(200, 0));
- QMatrix matrix;
- matrix.translate(100, 100);
- item1->setMatrix(matrix);
+ QTransform transform;
+ transform.translate(100, 100);
+ item1->setTransform(transform);
QCOMPARE(item1->mapFromItem(item2, 0, 0), QPointF(100, -100));
QCOMPARE(item2->mapFromItem(item3, 0, 0), QPointF(0, 200));
@@ -2941,11 +2941,11 @@ void tst_QGraphicsItem::mapFromToItem()
QCOMPARE(item3->mapFromItem(item2, 0, 0), QPointF(0, -200));
QCOMPARE(item4->mapFromItem(item3, 0, 0), QPointF(200, 0));
- matrix.rotate(90);
- item1->setMatrix(matrix);
- item2->setMatrix(matrix);
- item3->setMatrix(matrix);
- item4->setMatrix(matrix);
+ transform.rotate(90);
+ item1->setTransform(transform);
+ item2->setTransform(transform);
+ item3->setTransform(transform);
+ item4->setTransform(transform);
QCOMPARE(item1->mapFromItem(item2, 0, 0), QPointF(0, -200));
QCOMPARE(item2->mapFromItem(item3, 0, 0), QPointF(200, 0));
@@ -3231,6 +3231,7 @@ void tst_QGraphicsItem::hoverEventsGenerateRepaints()
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
EventTester *tester = new EventTester;
scene.addItem(tester);
@@ -4147,11 +4148,9 @@ void tst_QGraphicsItem::ensureVisible()
void tst_QGraphicsItem::cursor()
{
QGraphicsScene scene;
- QWidget topLevel;
- QGraphicsView view(&scene,&topLevel);
- topLevel.showMaximized();
- QVERIFY(QTest::qWaitForWindowExposed(&topLevel));
- view.setFixedSize(topLevel.size());
+ QGraphicsView view(&scene);
+ view.showFullScreen();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
QGraphicsRectItem *item1 = scene.addRect(QRectF(-100, 0, 50, 50));
QGraphicsRectItem *item2 = scene.addRect(QRectF(50, 0, 50, 50));
@@ -4434,9 +4433,12 @@ protected:
case QGraphicsItem::ItemPositionHasChanged:
break;
case QGraphicsItem::ItemMatrixChange: {
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
QVariant variant;
variant.setValue<QMatrix>(matrix());
oldValues << variant;
+QT_WARNING_POP
}
break;
case QGraphicsItem::ItemTransformChange: {
@@ -4557,6 +4559,8 @@ void tst_QGraphicsItem::itemChange()
QCOMPARE(tester.isEnabled(), true);
}
{
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED // QDesktopWidget::screen()
// ItemMatrixChange / ItemTransformHasChanged
tester.itemChangeReturnValue.setValue<QMatrix>(QMatrix().rotate(90));
tester.setMatrix(QMatrix().translate(50, 0), true);
@@ -4571,6 +4575,7 @@ void tst_QGraphicsItem::itemChange()
variant.setValue<QMatrix>(QMatrix());
QCOMPARE(tester.oldValues.last(), variant);
QCOMPARE(tester.matrix(), QMatrix().rotate(90));
+QT_WARNING_POP
}
{
tester.resetTransform();
@@ -5074,13 +5079,11 @@ void tst_QGraphicsItem::paint()
QGraphicsView view2(&scene2);
view2.show();
QVERIFY(QTest::qWaitForWindowExposed(&view2));
+ QCoreApplication::processEvents(); // Process all queued paint events
PaintTester tester2;
scene2.addItem(&tester2);
-#ifdef Q_OS_WINRT
- QEXPECT_FAIL("", "Fails on WinRT. Figure out why - QTBUG-68297", Abort);
-#endif
//First show one paint
QTRY_COMPARE(tester2.painted, 1);
@@ -6534,11 +6537,9 @@ void tst_QGraphicsItem::ensureUpdateOnTextItem()
QGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
TextItem *text1 = new TextItem(QLatin1String("123"));
scene.addItem(text1);
-#ifdef Q_OS_WINRT
- QEXPECT_FAIL("", "Fails on WinRT. Figure out why - QTBUG-68297", Abort);
-#endif
QTRY_COMPARE(text1->updates,1);
//same bouding rect but we have to update
@@ -6810,6 +6811,7 @@ void tst_QGraphicsItem::opacity2()
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
QTRY_VERIFY(view.repaints >= 1);
#define RESET_REPAINT_COUNTERS \
@@ -6883,6 +6885,7 @@ void tst_QGraphicsItem::opacityZeroUpdates()
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
QTRY_VERIFY(view.repaints > 0);
view.reset();
@@ -7275,6 +7278,7 @@ void tst_QGraphicsItem::cacheMode()
QApplication::setActiveWindow(&view);
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
EventTester *tester = new EventTester;
EventTester *testerChild = new EventTester;
@@ -7454,6 +7458,7 @@ void tst_QGraphicsItem::cacheMode2()
QApplication::setActiveWindow(&view);
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
EventTester *tester = new EventTester;
scene.addItem(tester);
@@ -7944,6 +7949,7 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption()
rect->startTrack = false;
topLevel.show();
QVERIFY(QTest::qWaitForWindowExposed(&topLevel));
+ QCoreApplication::processEvents(); // Process all queued paint events
QTRY_VERIFY(rect->repaints > 0);
rect->repaints = 0;
rect->startTrack = true;
@@ -8030,6 +8036,7 @@ void tst_QGraphicsItem::moveItem()
MyGraphicsView view(&scene);
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
EventTester *parent = new EventTester;
EventTester *child = new EventTester(parent);
@@ -8108,6 +8115,7 @@ void tst_QGraphicsItem::moveLineItem()
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
view.reset();
QRectF brect = item->boundingRect();
@@ -8288,6 +8296,7 @@ void tst_QGraphicsItem::hitTestGraphicsEffectItem()
toplevel.resize(300, 300);
toplevel.show();
QVERIFY(QTest::qWaitForWindowExposed(&toplevel));
+ QCoreApplication::processEvents(); // Process all queued paint events
// Confuse the BSP with dummy items.
QGraphicsRectItem *dummy = new QGraphicsRectItem(0, 0, 20, 20);
@@ -11266,6 +11275,7 @@ void tst_QGraphicsItem::QTBUG_6738_missingUpdateWithSetParent()
qApp->setActiveWindow(&view);
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
QTRY_VERIFY(view.repaints > 0);
// test case #1
@@ -11315,6 +11325,7 @@ void tst_QGraphicsItem::QT_2653_fullUpdateDiscardingOpacityUpdate()
view.show();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
view.reset();
parentGreen->setOpacity(1.0);
@@ -11348,7 +11359,9 @@ void tst_QGraphicsItem::QTBUG_7714_fullUpdateDiscardingOpacityUpdate2()
origView.show();
QVERIFY(QTest::qWaitForWindowActive(&origView));
- origView.setGeometry(origView.width() + 20, 20,
+ QCoreApplication::processEvents(); // Process all queued paint events
+
+ origView.setGeometry(origView.x() + origView.width() + 20, origView.y() + 20,
origView.width(), origView.height());
parentGreen->setFlag(QGraphicsItem::ItemIgnoresTransformations);
@@ -11356,9 +11369,6 @@ void tst_QGraphicsItem::QTBUG_7714_fullUpdateDiscardingOpacityUpdate2()
origView.reset();
childYellow->setOpacity(0.0);
-#ifdef Q_OS_WINRT
- QEXPECT_FAIL("", "Fails on WinRT. Figure out why - QTBUG-68297", Abort);
-#endif
QTRY_COMPARE(origView.repaints, 1);
view.show();
@@ -11370,6 +11380,10 @@ void tst_QGraphicsItem::QTBUG_7714_fullUpdateDiscardingOpacityUpdate2()
childYellow->setOpacity(1.0);
+#ifdef Q_OS_WINRT
+ QEXPECT_FAIL("", "Fails on WinRT. Figure out why - QTBUG-68297", Abort);
+#endif
+
QTRY_COMPARE(origView.repaints, 1);
QTRY_COMPARE(view.repaints, 1);
}
@@ -11505,6 +11519,7 @@ void tst_QGraphicsItem::doNotMarkFullUpdateIfNotInScene()
view.show();
QVERIFY(QTest::qWaitForWindowExposed(view.windowHandle()));
QVERIFY(QTest::qWaitForWindowActive(view.windowHandle()));
+ QCoreApplication::processEvents(); // Process all queued paint events
view.activateWindow();
QTRY_VERIFY(view.isActiveWindow());
QTRY_VERIFY(view.repaints >= 1);
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp
index dfb2752ee0..ed79904ed8 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsitemanimation/tst_qgraphicsitemanimation.cpp
@@ -54,9 +54,9 @@ void tst_QGraphicsItemAnimation::construction()
QCOMPARE(animation.posAt(0), QPointF());
QCOMPARE(animation.posAt(0.5), QPointF());
QCOMPARE(animation.posAt(1), QPointF());
- QCOMPARE(animation.matrixAt(0), QMatrix());
- QCOMPARE(animation.matrixAt(0.5), QMatrix());
- QCOMPARE(animation.matrixAt(1), QMatrix());
+ QCOMPARE(animation.transformAt(0), QTransform());
+ QCOMPARE(animation.transformAt(0.5), QTransform());
+ QCOMPARE(animation.transformAt(1), QTransform());
QCOMPARE(animation.rotationAt(0), qreal(0.0));
QCOMPARE(animation.rotationAt(0.5), qreal(0.0));
QCOMPARE(animation.rotationAt(1), qreal(0.0));
diff --git a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp
index f9b6fe3ebd..9369470ce5 100644
--- a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp
@@ -150,7 +150,7 @@ public:
Q_UNUSED(option);
Q_UNUSED(widget);
painter->setBrush(m_brush);
- painter->drawRoundRect(rect());
+ painter->drawRoundedRect(rect(), 25, 25, Qt::RelativeSize);
}
void setSizeHint(Qt::SizeHint which, const QSizeF &size) {
diff --git a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
index 49afc5f369..4a301337ef 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
@@ -140,6 +140,7 @@ private slots:
void palettePropagation();
void fontPropagation();
void dontCrashWhenDie();
+ void dontCrashNoParent();
void createProxyForChildWidget();
#ifndef QT_NO_CONTEXTMENU
void actionsContextMenu();
@@ -2964,6 +2965,20 @@ void tst_QGraphicsProxyWidget::dontCrashWhenDie()
qDeleteAll(QApplication::topLevelWidgets());
}
+void tst_QGraphicsProxyWidget::dontCrashNoParent() // QTBUG-15442
+{
+ QGraphicsProxyWidget *parent(new QGraphicsProxyWidget);
+ QGraphicsProxyWidget *child(new QGraphicsProxyWidget);
+ QScopedPointer<QLabel> label0(new QLabel);
+ QScopedPointer<QLabel> label1(new QLabel);
+
+ child->setParentItem(parent);
+ // Set the first label as the proxied widget.
+ parent->setWidget(label0.data());
+ // If we attempt to change the proxied widget we get a crash.
+ parent->setWidget(label1.data());
+}
+
void tst_QGraphicsProxyWidget::createProxyForChildWidget()
{
QGraphicsScene scene;
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST b/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
index 0e7a1b451f..b8b427b3dd 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
@@ -1,10 +1,6 @@
-[removeItem]
-# QTBUG-60754, QTest::mouseMove is not always respected, or the CI moves the cursor
-osx-10.11 ci
[isActive]
opensuse-42.3 ci
[removeFullyTransparentItem]
-osx-10.11
osx-10.12
[tabFocus_sceneWithNestedFocusWidgets]
opensuse
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
index 838b1f4be6..46f1d5df5c 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -112,14 +112,14 @@ protected:
painter->setOpacity(0.75);
painter->setPen(Qt::NoPen);
painter->setBrush(Qt::darkGray);
- painter->drawRoundRect(boundingRect().adjusted(3, 3, -3, -3), Qt::darkGray);
+ painter->drawRoundedRect(boundingRect().adjusted(3, 3, -3, -3), 25, 25, Qt::RelativeSize);
painter->setPen(Qt::black);
if (isHovered) {
- painter->setBrush(QColor(Qt::blue).light(120));
+ painter->setBrush(QColor(Qt::blue).lighter(120));
} else {
painter->setBrush(Qt::gray);
}
- painter->drawRoundRect(boundingRect().adjusted(0, 0, -5, -5));
+ painter->drawRoundedRect(boundingRect().adjusted(0, 0, -5, -5), 25, 25, Qt::RelativeSize);
}
};
@@ -233,7 +233,6 @@ private slots:
void tabFocus_sceneWithFocusWidgets();
void tabFocus_sceneWithNestedFocusWidgets();
void style();
- void sorting_data();
void sorting();
void insertionOrder();
void changedSignal_data();
@@ -459,41 +458,41 @@ void tst_QGraphicsScene::items()
void tst_QGraphicsScene::itemsBoundingRect_data()
{
QTest::addColumn<QList<QRectF> >("rects");
- QTest::addColumn<QMatrix>("matrix");
+ QTest::addColumn<QTransform>("transform");
QTest::addColumn<QRectF>("boundingRect");
- QMatrix transformationMatrix;
- transformationMatrix.translate(50, -50);
- transformationMatrix.scale(2, 2);
- transformationMatrix.rotate(90);
+ QTransform transformation;
+ transformation.translate(50, -50);
+ transformation.scale(2, 2);
+ transformation.rotate(90);
QTest::newRow("none")
<< QList<QRectF>()
- << QMatrix()
+ << QTransform()
<< QRectF();
QTest::newRow("{{0, 0, 10, 10}}")
<< (QList<QRectF>() << QRectF(0, 0, 10, 10))
- << QMatrix()
+ << QTransform()
<< QRectF(0, 0, 10, 10);
QTest::newRow("{{-10, -10, 10, 10}}")
<< (QList<QRectF>() << QRectF(-10, -10, 10, 10))
- << QMatrix()
+ << QTransform()
<< QRectF(-10, -10, 10, 10);
QTest::newRow("{{-1000, -1000, 1, 1}, {-10, -10, 10, 10}}")
<< (QList<QRectF>() << QRectF(-1000, -1000, 1, 1) << QRectF(-10, -10, 10, 10))
- << QMatrix()
+ << QTransform()
<< QRectF(-1000, -1000, 1000, 1000);
QTest::newRow("transformed {{0, 0, 10, 10}}")
<< (QList<QRectF>() << QRectF(0, 0, 10, 10))
- << transformationMatrix
+ << transformation
<< QRectF(30, -50, 20, 20);
QTest::newRow("transformed {{-10, -10, 10, 10}}")
<< (QList<QRectF>() << QRectF(-10, -10, 10, 10))
- << transformationMatrix
+ << transformation
<< QRectF(50, -70, 20, 20);
QTest::newRow("transformed {{-1000, -1000, 1, 1}, {-10, -10, 10, 10}}")
<< (QList<QRectF>() << QRectF(-1000, -1000, 1, 1) << QRectF(-10, -10, 10, 10))
- << transformationMatrix
+ << transformation
<< QRectF(50, -2050, 2000, 2000);
QList<QRectF> all;
@@ -501,18 +500,18 @@ void tst_QGraphicsScene::itemsBoundingRect_data()
all << QRectF(randomX[i], randomY[i], 10, 10);
QTest::newRow("all")
<< all
- << QMatrix()
+ << QTransform()
<< QRectF(-980, -994, 1988, 1983);
QTest::newRow("transformed all")
<< all
- << transformationMatrix
+ << transformation
<< QRectF(-1928, -2010, 3966, 3976);
}
void tst_QGraphicsScene::itemsBoundingRect()
{
QFETCH(QList<QRectF>, rects);
- QFETCH(QMatrix, matrix);
+ QFETCH(QTransform, transform);
QFETCH(QRectF, boundingRect);
QGraphicsScene scene;
@@ -522,7 +521,7 @@ void tst_QGraphicsScene::itemsBoundingRect()
path.addRect(rect);
QGraphicsPathItem *item = scene.addPath(path);
item->setPen(QPen(Qt::black, 0));
- item->setMatrix(matrix);
+ item->setTransform(transform);
}
QCOMPARE(scene.itemsBoundingRect(), boundingRect);
@@ -2502,7 +2501,7 @@ void tst_QGraphicsScene::render_data()
QTest::addColumn<QRectF>("targetRect");
QTest::addColumn<QRectF>("sourceRect");
QTest::addColumn<Qt::AspectRatioMode>("aspectRatioMode");
- QTest::addColumn<QMatrix>("matrix");
+ QTest::addColumn<QTransform>("transform");
QTest::addColumn<QPainterPath>("clip");
QPainterPath clip_rect;
@@ -2512,61 +2511,61 @@ void tst_QGraphicsScene::render_data()
clip_ellipse.addEllipse(100,50,150,200);
QTest::newRow("all-all-untransformed") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("all-topleft-untransformed") << QRectF(0, 0, 150, 150)
- << QRectF() << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << QRectF() << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("all-topright-untransformed") << QRectF(150, 0, 150, 150)
- << QRectF() << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << QRectF() << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("all-bottomleft-untransformed") << QRectF(0, 150, 150, 150)
- << QRectF() << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << QRectF() << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("all-bottomright-untransformed") << QRectF(150, 150, 150, 150)
- << QRectF() << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << QRectF() << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("topleft-all-untransformed") << QRectF() << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("topright-all-untransformed") << QRectF() << QRectF(0, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("bottomleft-all-untransformed") << QRectF() << QRectF(-10, 0, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("bottomright-all-untransformed") << QRectF() << QRectF(0, 0, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("topleft-topleft-untransformed") << QRectF(0, 0, 150, 150) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("topright-topleft-untransformed") << QRectF(150, 0, 150, 150) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("bottomleft-topleft-untransformed") << QRectF(0, 150, 150, 150) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("bottomright-topleft-untransformed") << QRectF(150, 150, 150, 150) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("top-topleft-untransformed") << QRectF(0, 0, 300, 150) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("bottom-topleft-untransformed") << QRectF(0, 150, 300, 150) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("left-topleft-untransformed") << QRectF(0, 0, 150, 300) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("right-topleft-untransformed") << QRectF(150, 0, 150, 300) << QRectF(-10, -10, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("top-bottomright-untransformed") << QRectF(0, 0, 300, 150) << QRectF(0, 0, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("bottom-bottomright-untransformed") << QRectF(0, 150, 300, 150) << QRectF(0, 0, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("left-bottomright-untransformed") << QRectF(0, 0, 150, 300) << QRectF(0, 0, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("right-bottomright-untransformed") << QRectF(150, 0, 150, 300) << QRectF(0, 0, 10, 10)
- << Qt::IgnoreAspectRatio << QMatrix() << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform() << QPainterPath();
QTest::newRow("all-all-45-deg-right") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix().rotate(-45) << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform().rotate(-45) << QPainterPath();
QTest::newRow("all-all-45-deg-left") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix().rotate(45) << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform().rotate(45) << QPainterPath();
QTest::newRow("all-all-scale-2x") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix().scale(2, 2) << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform::fromScale(2, 2) << QPainterPath();
QTest::newRow("all-all-translate-50-0") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix().translate(50, 0) << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform::fromTranslate(50, 0) << QPainterPath();
QTest::newRow("all-all-translate-0-50") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix().translate(0, 50) << QPainterPath();
+ << Qt::IgnoreAspectRatio << QTransform::fromTranslate(0, 50) << QPainterPath();
QTest::newRow("all-all-untransformed-clip-rect") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix() << clip_rect;
+ << Qt::IgnoreAspectRatio << QTransform() << clip_rect;
QTest::newRow("all-all-untransformed-clip-ellipse") << QRectF() << QRectF()
- << Qt::IgnoreAspectRatio << QMatrix() << clip_ellipse;
+ << Qt::IgnoreAspectRatio << QTransform() << clip_ellipse;
}
void tst_QGraphicsScene::render()
@@ -2574,7 +2573,7 @@ void tst_QGraphicsScene::render()
QFETCH(QRectF, targetRect);
QFETCH(QRectF, sourceRect);
QFETCH(Qt::AspectRatioMode, aspectRatioMode);
- QFETCH(QMatrix, matrix);
+ QFETCH(QTransform, transform);
QFETCH(QPainterPath, clip);
QPixmap pix(30, 30);
@@ -2602,7 +2601,7 @@ void tst_QGraphicsScene::render()
painter.setPen(QPen(Qt::darkGray, 2));
painter.drawLine(0, 150, 300, 150);
painter.drawLine(150, 0, 150, 300);
- painter.setMatrix(matrix);
+ painter.setTransform(transform);
if (!clip.isEmpty()) painter.setClipPath(clip);
scene.render(&painter, targetRect, sourceRect, aspectRatioMode);
painter.end();
@@ -3519,20 +3518,9 @@ void tst_QGraphicsScene::task250680_childClip()
QCOMPARE(scene.items(QRectF(320, 240, 5, 5)).size(), 2);
}
-void tst_QGraphicsScene::sorting_data()
-{
- QTest::addColumn<bool>("cache");
-
- QTest::newRow("Normal sorting") << false;
- QTest::newRow("Cached sorting") << true;
-}
-
void tst_QGraphicsScene::sorting()
{
- QFETCH(bool, cache);
-
QGraphicsScene scene;
- scene.setSortCacheEnabled(cache);
QGraphicsRectItem *t_1 = new QGraphicsRectItem(0, 0, 50, 50);
QGraphicsRectItem *c_1 = new QGraphicsRectItem(0, 0, 40, 40, t_1);
@@ -4318,6 +4306,7 @@ void tst_QGraphicsScene::removeFullyTransparentItem()
view.show();
qApp->setActiveWindow(&view);
QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCoreApplication::processEvents(); // Process all queued paint events
// NB! The parent has the ItemHasNoContents flag set, which means
// the parent itself doesn't generate any update requests, only the
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index 3dc110298a..28df3a3c38 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
@@ -1650,6 +1650,7 @@ void tst_QGraphicsView::itemsInRect_cosmeticAdjust()
QVERIFY(QTest::qWaitForWindowActive(&view));
QTRY_VERIFY(rect->numPaints > 0);
+ QCoreApplication::processEvents(); // Process all queued paint events
rect->numPaints = 0;
if (updateRect.isNull())
view.viewport()->update();
@@ -4074,6 +4075,8 @@ void tst_QGraphicsView::update()
QTRY_COMPARE(view.lastUpdateRegions.at(0), QRegion(updateRect) & viewportRect);
}
QTRY_VERIFY(!viewPrivate->fullUpdatePending);
+#else
+ Q_UNUSED(updateRect);
#endif
}
diff --git a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
index 45c86800d6..6f7dca86eb 100644
--- a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
+++ b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
@@ -502,11 +502,6 @@ void tst_QAbstractItemView::basic_tests(QAbstractItemView *view)
view->commitData(0);
view->editorDestroyed(0);
- view->setHorizontalStepsPerItem(2);
- view->horizontalStepsPerItem();
- view->setVerticalStepsPerItem(2);
- view->verticalStepsPerItem();
-
// Will assert as it should
// view->setIndexWidget(QModelIndex(), 0);
diff --git a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
index e51a915401..42258c85b9 100644
--- a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
+++ b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
@@ -255,11 +255,12 @@ protected:
void calculateAndCheck(int cppline, const int precalced_comparedata[]);
void testMinMaxSectionSize(bool stretchLastSection);
- QWidget *topLevel;
- QHeaderView *view;
- QStandardItemModel *model;
- QTableView *m_tableview;
- bool m_using_reset_model;
+ QWidget *topLevel = nullptr;
+ QHeaderView *view = nullptr;
+ QStandardItemModel *model = nullptr;
+ QTableView *m_tableview = nullptr;
+ bool m_using_reset_model = false;
+ bool m_special_prepare = false;
QElapsedTimer timer;
};
@@ -444,7 +445,13 @@ tst_QHeaderView::tst_QHeaderView()
void tst_QHeaderView::initTestCase()
{
- m_tableview = new QTableView();
+ m_tableview = new QTableView;
+ qDebug().noquote().nospace()
+ << "default min section size is "
+ << QString::number(m_tableview->verticalHeader()->minimumSectionSize())
+ << QLatin1Char('/')
+ << m_tableview->horizontalHeader()->minimumSectionSize()
+ << " (v/h)";
}
void tst_QHeaderView::cleanupTestCase()
@@ -616,6 +623,27 @@ void tst_QHeaderView::hidden()
view->setSectionHidden(1, false);
QCOMPARE(view->isSectionHidden(0), false);
QCOMPARE(view->sectionSize(0), view->defaultSectionSize());
+
+ // d->hiddenSectionSize could go out of sync when a new model
+ // was set which has fewer sections than before and some of them
+ // were hidden
+ QStandardItemModel model2(model->rowCount() - 1, model->columnCount());
+
+ for (int i = 0; i < model->rowCount(); ++i)
+ view->setSectionHidden(i, true);
+ view->setModel(&model2);
+ QVERIFY(view->sectionsHidden());
+ for (int i = 0; i < model2.rowCount(); ++i) {
+ QVERIFY(view->isSectionHidden(i));
+ }
+
+ view->setModel(model);
+ for (int i = 0; i < model2.rowCount(); ++i) {
+ QVERIFY(view->isSectionHidden(i));
+ }
+ QCOMPARE(view->isSectionHidden(model->rowCount() - 1), false);
+ for (int i = 0; i < model->rowCount(); ++i)
+ view->setSectionHidden(i, false);
}
void tst_QHeaderView::stretch()
@@ -1835,9 +1863,14 @@ void tst_QHeaderView::restoreBeforeSetModel()
void tst_QHeaderView::defaultSectionSizeTest()
{
+#if defined Q_OS_WINRT
+ QSKIP("Fails on WinRT - QTBUG-73309");
+#endif
+
// Setup
QTableView qtv;
QHeaderView *hv = qtv.verticalHeader();
+ hv->setMinimumSectionSize(10);
hv->setDefaultSectionSize(99); // Set it to a value different from defaultSize.
QStandardItemModel amodel(4, 4);
qtv.setModel(&amodel);
@@ -2824,6 +2857,7 @@ void tst_QHeaderView::additionalInit()
QFETCH(bool, reset_model);
m_using_reset_model = reset_model;
+ m_special_prepare = special_prepare;
if (m_using_reset_model) {
XResetModel *m = new XResetModel();
@@ -3037,18 +3071,34 @@ void tst_QHeaderView::mixedTests()
view->moveSection(0, 5);
for (int u = model->rowCount(); u >= 0; --u) {
- if (u % 5 != 0)
+ if (u % 5 != 0) {
view->hideSection(u);
- if (u % 3 != 0)
+ QVERIFY(view->isSectionHidden(u));
+ }
+ if (u % 3 != 0) {
view->showSection(u);
+ QVERIFY(!view->isSectionHidden(u));
+ }
}
model->insertRows(3, 7);
model->removeRows(8, 3);
model->setRowCount(model->rowCount() - 10);
+ // the upper is not visible (when m_using_reset_model is true)
+ // the lower 11 are modified due to insert/removeRows
+ for (int u = model->rowCount() - 1; u >= 11; --u) {
+ // when using reset, the hidden rows will *not* move
+ const int calcMod = m_using_reset_model ? u : u - 4; // 7 added, 3 removed
+ if (calcMod % 5 != 0 && calcMod % 3 == 0) {
+ QVERIFY(view->isSectionHidden(u));
+ }
+ if (calcMod % 3 != 0) {
+ QVERIFY(!view->isSectionHidden(u));
+ }
+ }
if (m_using_reset_model) {
- const int precalced_results[] = { 898296472, 337096378, -543340640, 1, -1251526424, -568618976, 9250 };
+ const int precalced_results[] = { 898296472, 337096378, -543340640, -1964432121, -1251526424, -568618976, 9250 };
calculateAndCheck(__LINE__, precalced_results);
} else {
const int precalced_results[] = { 1911338224, 1693514365, -613398968, -1912534953, 1582159424, -1851079000, 9300 };
diff --git a/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST b/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST
index c6aeebc8f8..fea108f3fd 100644
--- a/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST
+++ b/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST
@@ -2,7 +2,3 @@
opensuse-42.3 ci
[testLineEditValidation]
opensuse-42.3 ci
-[comboBox]
-# QTBUG-67282
-opensuse
-opensuse-leap
diff --git a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp
index adedace8b2..7fd1822295 100644
--- a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp
+++ b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp
@@ -727,6 +727,16 @@ void tst_QItemDelegate::dateTimeEditor_data()
<< QDate(2006, 10, 31);
}
+static QDateTimeEdit *findDateTimeEdit(const QWidget *widget)
+{
+ const auto dateTimeEditors = widget->findChildren<QDateTimeEdit *>();
+ for (auto dateTimeEditor : dateTimeEditors) {
+ if (qstrcmp(dateTimeEditor->metaObject()->className(), "QDateTimeEdit") == 0)
+ return dateTimeEditor;
+ }
+ return nullptr;
+}
+
void tst_QItemDelegate::dateTimeEditor()
{
QFETCH(QTime, time);
@@ -742,17 +752,24 @@ void tst_QItemDelegate::dateTimeEditor()
item3->setData(Qt::DisplayRole, QDateTime(date, time));
QTableWidget widget(1, 3);
+ widget.setWindowTitle(QLatin1String(QTest::currentTestFunction())
+ + QLatin1String("::")
+ + QLatin1String(QTest::currentDataTag()));
widget.setItem(0, 0, item1);
widget.setItem(0, 1, item2);
widget.setItem(0, 2, item3);
widget.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&widget));
+ QApplication::setActiveWindow(&widget);
widget.editItem(item1);
QTestEventLoop::instance().enterLoop(1);
- QTimeEdit *timeEditor = widget.viewport()->findChild<QTimeEdit *>();
- QVERIFY(timeEditor);
+
+ QTimeEdit *timeEditor = nullptr;
+ auto viewport = widget.viewport();
+ QTRY_VERIFY( (timeEditor = viewport->findChild<QTimeEdit *>()) );
QCOMPARE(timeEditor->time(), time);
// The data must actually be different in order for the model
// to be updated.
@@ -763,8 +780,8 @@ void tst_QItemDelegate::dateTimeEditor()
widget.setFocus();
widget.editItem(item2);
- QTRY_VERIFY(widget.viewport()->findChild<QDateEdit *>());
- QDateEdit *dateEditor = widget.viewport()->findChild<QDateEdit *>();
+ QDateEdit *dateEditor = nullptr;
+ QTRY_VERIFY( (dateEditor = viewport->findChild<QDateEdit *>()) );
QCOMPARE(dateEditor->date(), date);
dateEditor->setDate(date.addDays(60));
@@ -774,12 +791,8 @@ void tst_QItemDelegate::dateTimeEditor()
QTestEventLoop::instance().enterLoop(1);
- QList<QDateTimeEdit *> dateTimeEditors = widget.findChildren<QDateTimeEdit *>();
- QDateTimeEdit *dateTimeEditor = 0;
- foreach(dateTimeEditor, dateTimeEditors)
- if (dateTimeEditor->metaObject()->className() == QLatin1String("QDateTimeEdit"))
- break;
- QVERIFY(dateTimeEditor);
+ QDateTimeEdit *dateTimeEditor = nullptr;
+ QTRY_VERIFY( (dateTimeEditor = findDateTimeEdit(viewport)) );
QCOMPARE(dateTimeEditor->date(), date);
QCOMPARE(dateTimeEditor->time(), time);
dateTimeEditor->setTime(time.addSecs(600));
@@ -1387,6 +1400,7 @@ void tst_QItemDelegate::comboBox()
widget.setItem(0, 0, item1);
widget.show();
QVERIFY(QTest::qWaitForWindowExposed(&widget));
+ QApplication::setActiveWindow(&widget);
widget.editItem(item1);
diff --git a/tests/auto/widgets/itemviews/qitemview/tst_qitemview.cpp b/tests/auto/widgets/itemviews/qitemview/tst_qitemview.cpp
index bbdaac5c6f..071665a5e3 100644
--- a/tests/auto/widgets/itemviews/qitemview/tst_qitemview.cpp
+++ b/tests/auto/widgets/itemviews/qitemview/tst_qitemview.cpp
@@ -249,7 +249,7 @@ void tst_QItemView::populate()
for (int y = 0; y < treeModel->columnCount(); ++y) {
QModelIndex index = treeModel->index(x, y, parent);
treeModel->setData(index, xS + QLatin1Char('_') + QString::number(y) + QLatin1Char('_') + iS);
- treeModel->setData(index, QVariant(QColor(Qt::blue)), Qt::TextColorRole);
+ treeModel->setData(index, QVariant(QColor(Qt::blue)), Qt::ForegroundRole);
}
}
}
diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
index 433b9e55e1..0b828b8484 100644
--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
+++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
@@ -121,6 +121,7 @@ private slots:
void task254449_draggingItemToNegativeCoordinates();
void keyboardSearch();
void shiftSelectionWithNonUniformItemSizes();
+ void shiftSelectionWithItemAlignment();
void clickOnViewportClearsSelection();
void task262152_setModelColumnNavigate();
void taskQTBUG_2233_scrollHiddenItems_data();
@@ -380,8 +381,11 @@ void tst_QListView::cursorMove()
<< Qt::Key_Up << Qt::Key_Up << Qt::Key_Up << Qt::Key_Up << Qt::Key_Up
<< Qt::Key_Left << Qt::Key_Left << Qt::Key_Up << Qt::Key_Down;
- int displayRow = rows / displayColumns - 1;
- int displayColumn = displayColumns - (rows % displayColumns) - 1;
+ int lastRow = rows / displayColumns - 1;
+ int lastColumn = displayColumns - 1;
+
+ int displayRow = lastRow;
+ int displayColumn = lastColumn - (rows % displayColumns);
QApplication::instance()->processEvents();
for (int i = 0; i < keymoves.size(); ++i) {
@@ -395,10 +399,24 @@ void tst_QListView::cursorMove()
displayRow = qMin(rows / displayColumns - 1, displayRow + 1);
break;
case Qt::Key_Left:
- displayColumn = qMax(0, displayColumn - 1);
+ if (displayColumn > 0) {
+ displayColumn--;
+ } else {
+ if (displayRow > 0) {
+ displayRow--;
+ displayColumn = lastColumn;
+ }
+ }
break;
case Qt::Key_Right:
- displayColumn = qMin(displayColumns-1, displayColumn + 1);
+ if (displayColumn < lastColumn) {
+ displayColumn++;
+ } else {
+ if (displayRow < lastRow) {
+ displayRow++;
+ displayColumn = 0;
+ }
+ }
break;
default:
QVERIFY(false);
@@ -1785,6 +1803,51 @@ void tst_QListView::shiftSelectionWithNonUniformItemSizes()
}
}
+void tst_QListView::shiftSelectionWithItemAlignment()
+{
+ QStringList items;
+ for (int c = 0; c < 2; c++) {
+ for (int i = 10; i > 0; i--)
+ items << QString(i, QLatin1Char('*'));
+
+ for (int i = 1; i < 11; i++)
+ items << QString(i, QLatin1Char('*'));
+ }
+
+ QListView view;
+ view.setFlow(QListView::TopToBottom);
+ view.setWrapping(true);
+ view.setItemAlignment(Qt::AlignLeft);
+ view.setSelectionMode(QAbstractItemView::ExtendedSelection);
+
+ QStringListModel model(items);
+ view.setModel(&model);
+
+ QFont font = view.font();
+ font.setPixelSize(10);
+ view.setFont(font);
+ view.resize(300, view.sizeHintForRow(0) * items.size() / 2 + view.horizontalScrollBar()->height());
+
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QVERIFY(QTest::qWaitForWindowActive(&view));
+ QCOMPARE(static_cast<QWidget *>(&view), QApplication::activeWindow());
+
+ QModelIndex index1 = view.model()->index(items.size() / 4, 0);
+ QPoint p = view.visualRect(index1).center();
+ QVERIFY(view.viewport()->rect().contains(p));
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, p);
+ QCOMPARE(view.currentIndex(), index1);
+ QCOMPARE(view.selectionModel()->selectedIndexes().size(), 1);
+
+ QModelIndex index2 = view.model()->index(items.size() / 4 * 3, 0);
+ p = view.visualRect(index2).center();
+ QVERIFY(view.viewport()->rect().contains(p));
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, Qt::ShiftModifier, p);
+ QCOMPARE(view.currentIndex(), index2);
+ QCOMPARE(view.selectionModel()->selectedIndexes().size(), index2.row() - index1.row() + 1);
+}
+
void tst_QListView::clickOnViewportClearsSelection()
{
QStringList items;
diff --git a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
index d8e14df353..30afa69c31 100644
--- a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
+++ b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
@@ -344,7 +344,7 @@ void tst_QListWidget::addItem2()
testWidget->addItem(item);
QCOMPARE(testWidget->count(), ++count);
QCOMPARE(testWidget->item(testWidget->count()-1), item);
- QCOMPARE(testWidget->isItemHidden(item), false);
+ QCOMPARE(item->isHidden(), false);
}
void tst_QListWidget::addItems()
@@ -402,13 +402,18 @@ void tst_QListWidget::closePersistentEditor()
void tst_QListWidget::setItemHidden()
{
+#if QT_DEPRECATED_SINCE(5, 13)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
// Boundary checking
- testWidget->setItemHidden(0, true);
- testWidget->setItemHidden(0, false);
+ testWidget->setItemHidden(nullptr, true);
+ testWidget->setItemHidden(nullptr, false);
+QT_WARNING_POP
+#endif
int totalHidden = 0;
for (int i = 0; i < testWidget->model()->rowCount(); ++i)
- if (testWidget->isItemHidden(testWidget->item(i)))
+ if (testWidget->item(i)->isHidden())
totalHidden++;
QListWidgetItem *item = new QListWidgetItem(QString::number(testWidget->count()));
@@ -417,31 +422,31 @@ void tst_QListWidget::setItemHidden()
// Check that nothing else changed
int newTotal = 0;
for (int i = 0; i < testWidget->model()->rowCount(); ++i)
- if (testWidget->isItemHidden(testWidget->item(i)))
+ if (testWidget->item(i)->isHidden())
newTotal++;
QCOMPARE(newTotal, totalHidden);
- testWidget->setItemHidden(item, true);
- QCOMPARE(testWidget->isItemHidden(item), true);
+ item->setHidden(true);
+ QCOMPARE(item->isHidden(), true);
// Check that nothing else changed
newTotal = 0;
for (int i = 0; i < testWidget->model()->rowCount(); ++i)
- if (testWidget->isItemHidden(testWidget->item(i)))
+ if (testWidget->item(i)->isHidden())
newTotal++;
QCOMPARE(newTotal, totalHidden + 1);
- testWidget->setItemHidden(item, false);
- QCOMPARE(testWidget->isItemHidden(item), false);
+ item->setHidden(false);
+ QCOMPARE(item->isHidden(), false);
// Check that nothing else changed
newTotal = 0;
for (int i = 0; i < testWidget->model()->rowCount(); ++i)
- if (testWidget->isItemHidden(testWidget->item(i)))
+ if (testWidget->item(i)->isHidden())
newTotal++;
QCOMPARE(newTotal, totalHidden);
- testWidget->setItemHidden(item, true);
+ item->setHidden(true);
}
void tst_QListWidget::setCurrentItem_data()
@@ -847,7 +852,7 @@ void tst_QListWidget::selectedItems()
testWidget->setSelectionMode(QListWidget::SingleSelection);
for (int i=0; i<itemCount; ++i) {
QListWidgetItem *item = testWidget->item(i);
- testWidget->setItemSelected(item, true);
+ item->setSelected(true);
QVERIFY(item->isSelected());
QCOMPARE(testWidget->selectedItems().count(), 1);
}
@@ -860,10 +865,10 @@ void tst_QListWidget::selectedItems()
QCOMPARE(testWidget->count(), itemCount);
// hide items
foreach (int row, hiddenRows)
- testWidget->setItemHidden(testWidget->item(row), true);
+ testWidget->item(row)->setHidden(true);
// select items
foreach (int row, selectedRows)
- testWidget->setItemSelected(testWidget->item(row), true);
+ testWidget->item(row)->setSelected(true);
// check that the correct number of items and the expected items are there
QList<QListWidgetItem *> selectedItems = testWidget->selectedItems();
@@ -874,7 +879,7 @@ void tst_QListWidget::selectedItems()
//check that isSelected agrees with selectedItems
for (int i=0; i<itemCount; ++i) {
QListWidgetItem *item = testWidget->item(i);
- if (testWidget->isItemSelected(item))
+ if (item->isSelected())
QVERIFY(selectedItems.contains(item));
}
}
diff --git a/tests/auto/widgets/itemviews/qtableview/BLACKLIST b/tests/auto/widgets/itemviews/qtableview/BLACKLIST
index fc231a4e30..be90475a6f 100644
--- a/tests/auto/widgets/itemviews/qtableview/BLACKLIST
+++ b/tests/auto/widgets/itemviews/qtableview/BLACKLIST
@@ -1,2 +1,4 @@
[moveCursorBiggerJump]
osx
+[columnViewportPosition]
+winrt # QTBUG-72853
diff --git a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp
index 228d03350a..b1ddc6e7a2 100644
--- a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp
+++ b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp
@@ -1264,19 +1264,47 @@ void tst_QTableView::moveCursorStrikesBack_data()
for (int i = 0; i < 7; ++i)
fullList << i;
- QTest::newRow("All disabled, wrap forward. Timeout => FAIL") << -1 << -1
+ QTest::newRow("All disabled, wrap forward. => invalid index") << -1 << -1
<< fullList
<< fullList
<< QRect()
<< 1 << 0 << (IntList() << int(QtTestTableView::MoveNext))
- << 1 << 0;
+ << -1 << -1;
- QTest::newRow("All disabled, wrap backwards. Timeout => FAIL") << -1 << -1
+ QTest::newRow("All disabled, wrap backwards. => invalid index") << -1 << -1
<< fullList
<< fullList
<< QRect()
<< 1 << 0 << (IntList() << int(QtTestTableView::MovePrevious))
+ << -1 << -1;
+
+ QTest::newRow("Last column disabled, MoveEnd. QTBUG-72400") << -1 << -1
+ << IntList()
+ << (IntList() << 6)
+ << QRect()
+ << 0 << 0 << (IntList() << int(QtTestTableView::MoveEnd))
+ << 0 << 5;
+
+ QTest::newRow("First column disabled, MoveHome. QTBUG-72400") << -1 << -1
+ << IntList()
+ << (IntList() << 0)
+ << QRect()
+ << 0 << 6 << (IntList() << int(QtTestTableView::MoveHome))
+ << 0 << 1;
+
+ QTest::newRow("First row disabled, MovePageUp. QTBUG-72400") << -1 << -1
+ << (IntList() << 0)
+ << IntList()
+ << QRect()
+ << 2 << 0 << (IntList() << int(QtTestTableView::MovePageUp))
<< 1 << 0;
+
+ QTest::newRow("Last row disabled, MovePageDown. QTBUG-72400") << -1 << -1
+ << (IntList() << 6)
+ << IntList()
+ << QRect()
+ << 4 << 0 << (IntList() << int(QtTestTableView::MovePageDown))
+ << 5 << 0;
}
void tst_QTableView::moveCursorStrikesBack()
@@ -1302,6 +1330,9 @@ void tst_QTableView::moveCursorStrikesBack()
if (span.height() && span.width())
view.setSpan(span.top(), span.left(), span.height(), span.width());
view.show();
+ QVERIFY(QTest::qWaitForWindowActive(&view));
+ // resize to make sure there are scrollbars
+ view.resize(view.columnWidth(0) * 7, view.rowHeight(0) * 7);
QModelIndex index = model.index(startRow, startColumn);
view.setCurrentIndex(index);
@@ -1320,9 +1351,6 @@ void tst_QTableView::moveCursorStrikesBack()
newColumn = newIndex.column();
}
- // expected fails, task 119433
- if(newRow == -1)
- return;
QCOMPARE(newRow, expectedRow);
QCOMPARE(newColumn, expectedColumn);
}
@@ -4225,7 +4253,7 @@ void tst_QTableView::task234926_setHeaderSorting()
QStringList sortedDataA = data;
QStringList sortedDataD = data;
std::sort(sortedDataA.begin(), sortedDataA.end());
- std::sort(sortedDataD.begin(), sortedDataD.end(), qGreater<QString>());
+ std::sort(sortedDataD.begin(), sortedDataD.end(), std::greater<QString>());
model.setStringList(data);
QTableView view;
view.setModel(&model);
diff --git a/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp b/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp
index e7b40f5f24..c2de5c2761 100644
--- a/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp
+++ b/tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp
@@ -91,6 +91,7 @@ private slots:
void itemWithHeaderItems();
void mimeData();
void selectedRowAfterSorting();
+ void search();
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void clearItemData();
#endif
@@ -164,6 +165,7 @@ void tst_QTableWidget::initTestCase()
{
testWidget = new QTableWidget();
testWidget->show();
+ QApplication::setKeyboardInputInterval(100);
}
void tst_QTableWidget::cleanupTestCase()
@@ -196,10 +198,10 @@ void tst_QTableWidget::clear()
{
QTableWidgetItem *item = new QTableWidgetItem("foo");
testWidget->setItem(0, 0, item);
- testWidget->setItemSelected(item, true);
+ item->setSelected(true);
QVERIFY(testWidget->item(0, 0) == item);
- QVERIFY(testWidget->isItemSelected(item));
+ QVERIFY(item->isSelected());
QPointer<QObjectTableItem> bla = new QObjectTableItem();
@@ -367,11 +369,18 @@ void tst_QTableWidget::takeItem()
for (int c = 0; c < testWidget->columnCount(); ++c)
QCOMPARE(testWidget->item(r, c)->text(), QString::number(r * c + c));
+ QSignalSpy spy(testWidget, &QTableWidget::cellChanged);
QTableWidgetItem *item = testWidget->takeItem(row, column);
QCOMPARE(!!item, expectItem);
if (expectItem) {
QCOMPARE(item->text(), QString::number(row * column + column));
delete item;
+
+ QTRY_COMPARE(spy.count(), 1);
+ const QList<QVariant> arguments = spy.takeFirst();
+ QCOMPARE(arguments.size(), 2);
+ QCOMPARE(arguments.at(0).toInt(), row);
+ QCOMPARE(arguments.at(1).toInt(), column);
}
QVERIFY(!testWidget->takeItem(row, column));
}
@@ -576,7 +585,7 @@ void tst_QTableWidget::selectedItems()
continue;
QTableWidgetItem *item = testWidget->item(row, column);
- if (item && testWidget->isItemSelected(item))
+ if (item && item->isSelected())
QVERIFY(selectedItems.contains(item));
}
}
@@ -1558,7 +1567,7 @@ void tst_QTableWidget::task262056_sortDuplicate()
}
testWidget->sortItems(0, Qt::AscendingOrder);
QSignalSpy layoutChangedSpy(testWidget->model(), SIGNAL(layoutChanged()));
- testWidget->item(3,0)->setBackgroundColor(Qt::red);
+ testWidget->item(3,0)->setBackground(Qt::red);
QCOMPARE(layoutChangedSpy.count(),0);
@@ -1591,6 +1600,7 @@ public:
using QTableWidget::mimeData;
using QTableWidget::indexFromItem;
+ using QTableWidget::keyPressEvent;
};
void tst_QTableWidget::mimeData()
@@ -1665,6 +1675,45 @@ void tst_QTableWidget::selectedRowAfterSorting()
}
}
+void tst_QTableWidget::search()
+{
+ auto createItem = [](const QString &txt)
+ {
+ auto item = new QTableWidgetItem(txt);
+ item->setFlags(item->flags().setFlag(Qt::ItemIsEditable, false));
+ return item;
+ };
+
+ auto checkSeries = [](TestTableWidget &tw, const QVector<QPair<QKeyEvent, int>> &series)
+ {
+ for (const auto &p : series) {
+ QKeyEvent e = p.first;
+ tw.keyPressEvent(&e);
+ QVERIFY(tw.selectionModel()->isSelected(tw.model()->index(p.second, 0)));
+ }
+ };
+ TestTableWidget tw(5, 1);
+ tw.setItem(0, 0, createItem("12"));
+ tw.setItem(1, 0, createItem("123"));
+ tw.setItem(2, 0, createItem("123 4"));
+ tw.setItem(3, 0, createItem("123 5"));
+ tw.setItem(4, 0, createItem(" "));
+ tw.show();
+
+ QKeyEvent evSpace(QEvent::KeyPress, Qt::Key_Space, Qt::NoModifier, " ");
+ QKeyEvent ev1(QEvent::KeyPress, Qt::Key_1, Qt::NoModifier, "1");
+ QKeyEvent ev2(QEvent::KeyPress, Qt::Key_2, Qt::NoModifier, "2");
+ QKeyEvent ev3(QEvent::KeyPress, Qt::Key_3, Qt::NoModifier, "3");
+ QKeyEvent ev4(QEvent::KeyPress, Qt::Key_4, Qt::NoModifier, "4");
+ QKeyEvent ev5(QEvent::KeyPress, Qt::Key_5, Qt::NoModifier, "5");
+
+ checkSeries(tw, {{evSpace, 4}, {ev1, 4}});
+ QTest::qWait(QApplication::keyboardInputInterval() * 2);
+ checkSeries(tw, {{ev1, 0}, {ev2, 0}, {ev3, 1}, {evSpace, 2}, {ev5, 3}});
+ QTest::qWait(QApplication::keyboardInputInterval() * 2);
+ checkSeries(tw, {{ev1, 0}, {ev2, 0}, {ev3, 1}, {evSpace, 2}, {ev4, 2}});
+}
+
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void tst_QTableWidget::clearItemData()
{
diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
index 39051c4969..c31de2ba22 100644
--- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
@@ -69,6 +69,7 @@ public slots:
void selectionOrderTest();
private slots:
+ void initTestCase() { QApplication::setKeyboardInputInterval(100); }
void getSetCheck();
// one test per QTreeView property
@@ -112,7 +113,7 @@ private slots:
void expandAndCollapse();
void expandAndCollapseAll();
void expandWithNoChildren();
-#ifndef QT_NO_ANIMATION
+#if QT_CONFIG(animation)
void quickExpandCollapse();
#endif
void keyboardNavigation();
@@ -199,6 +200,7 @@ private slots:
void taskQTBUG_45697_crash();
void taskQTBUG_7232_AllowUserToControlSingleStep();
void taskQTBUG_8376();
+ void taskQTBUG_61476();
void testInitialFocus();
};
@@ -1647,50 +1649,96 @@ void tst_QTreeView::expandAndCollapse()
}
}
+static void checkExpandState(const QAbstractItemModel &model, const QTreeView &view,
+ const QModelIndex &startIdx, bool bIsExpanded, int *count)
+{
+ *count = 0;
+ QStack<QModelIndex> parents;
+ parents.push(startIdx);
+ if (startIdx.isValid()) {
+ QCOMPARE(view.isExpanded(startIdx), bIsExpanded);
+ *count += 1;
+ }
+ while (!parents.isEmpty()) {
+ const QModelIndex p = parents.pop();
+ const int rows = model.rowCount(p);
+ for (int r = 0; r < rows; ++r) {
+ const QModelIndex c = model.index(r, 0, p);
+ QCOMPARE(view.isExpanded(c), bIsExpanded);
+ parents.push(c);
+ }
+ *count += rows;
+ }
+}
+
void tst_QTreeView::expandAndCollapseAll()
{
- QtTestModel model(3, 2);
- model.levels = 2;
+ QStandardItemModel model;
+ // QtTestModel has a broken parent/child handling which will break the test
+ for (int i1 = 0; i1 < 3; ++i1) {
+ QStandardItem *s1 = new QStandardItem;
+ s1->setText(QString::number(i1));
+ model.appendRow(s1);
+ for (int i2 = 0; i2 < 3; ++i2) {
+ QStandardItem *s2 = new QStandardItem;
+ s2->setText(QStringLiteral("%1 - %2").arg(i1).arg(i2));
+ s1->appendRow(s2);
+ for (int i3 = 0; i3 < 3; ++i3) {
+ QStandardItem *s3 = new QStandardItem;
+ s3->setText(QStringLiteral("%1 - %2 - %3").arg(i1).arg(i2).arg(i3));
+ s2->appendRow(s3);
+ }
+ }
+ }
QTreeView view;
view.setUniformRowHeights(true);
view.setModel(&model);
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
- QSignalSpy expandedSpy(&view, SIGNAL(expanded(QModelIndex)));
- QSignalSpy collapsedSpy(&view, SIGNAL(collapsed(QModelIndex)));
+ QSignalSpy expandedSpy(&view, &QTreeView::expanded);
+ QSignalSpy collapsedSpy(&view, &QTreeView::collapsed);
+ int count;
view.expandAll();
- view.show();
-
+ checkExpandState(model, view, QModelIndex(), true, &count);
QCOMPARE(collapsedSpy.count(), 0);
+ QCOMPARE(expandedSpy.count(), 39); // == 3 (first) + 9 (second) + 27 (third level)
+ QCOMPARE(count, 39);
- QStack<QModelIndex> parents;
- parents.push(QModelIndex());
- int count = 0;
- while (!parents.isEmpty()) {
- QModelIndex p = parents.pop();
- int rows = model.rowCount(p);
- for (int r = 0; r < rows; ++r)
- QVERIFY(view.isExpanded(model.index(r, 0, p)));
- count += rows;
- for (int r = 0; r < rows; ++r)
- parents.push(model.index(r, 0, p));
- }
- QCOMPARE(expandedSpy.count(), 12); // == (3+1)*(2+1) from QtTestModel model(3, 2);
-
+ collapsedSpy.clear();
+ expandedSpy.clear();
view.collapseAll();
-
- parents.push(QModelIndex());
- count = 0;
- while (!parents.isEmpty()) {
- QModelIndex p = parents.pop();
- int rows = model.rowCount(p);
- for (int r = 0; r < rows; ++r)
- QVERIFY(!view.isExpanded(model.index(r, 0, p)));
- count += rows;
- for (int r = 0; r < rows; ++r)
- parents.push(model.index(r, 0, p));
- }
- QCOMPARE(collapsedSpy.count(), 12);
+ checkExpandState(model, view, QModelIndex(), false, &count);
+ QCOMPARE(collapsedSpy.count(), 39);
+ QCOMPARE(expandedSpy.count(), 0);
+ QCOMPARE(count, 39);
+
+ collapsedSpy.clear();
+ expandedSpy.clear();
+ view.expandRecursively(model.index(0, 0));
+ QCOMPARE(expandedSpy.count(), 13); // 1 + 3 + 9
+
+ checkExpandState(model, view, model.index(0, 0), true, &count);
+ QCOMPARE(count, 13);
+ checkExpandState(model, view, model.index(1, 0), false, &count);
+ QCOMPARE(count, 13);
+ checkExpandState(model, view, model.index(2, 0), false, &count);
+ QCOMPARE(count, 13);
+
+ expandedSpy.clear();
+ view.collapseAll();
+ view.expandRecursively(model.index(0, 0), 1);
+ QCOMPARE(expandedSpy.count(), 4); // 1 + 3
+ view.expandRecursively(model.index(0, 0), 2);
+ QCOMPARE(expandedSpy.count(), 13); // (1 + 3) + 9
+
+ checkExpandState(model, view, model.index(0, 0), true, &count);
+ QCOMPARE(count, 13);
+ checkExpandState(model, view, model.index(1, 0), false, &count);
+ QCOMPARE(count, 13);
+ checkExpandState(model, view, model.index(2, 0), false, &count);
+ QCOMPARE(count, 13);
}
void tst_QTreeView::expandWithNoChildren()
@@ -1749,7 +1797,7 @@ void tst_QTreeView::keyboardNavigation()
case Qt::Key_Down:
if (view.isExpanded(index)) {
row = 0;
- index = index.child(row, column);
+ index = model.index(row, column, index);
} else {
row = qMin(rows - 1, row + 1);
index = index.sibling(row, column);
@@ -2746,7 +2794,7 @@ void tst_QTreeView::sortByColumn()
view.setSortingEnabled(sortingEnabled);
view.setModel(&model);
- view.sortByColumn(1);
+ view.sortByColumn(1, Qt::DescendingOrder);
QCOMPARE(view.header()->sortIndicatorSection(), 1);
QCOMPARE(view.model()->data(view.model()->index(0,1)).toString(), QString::fromLatin1("h"));
QCOMPARE(view.model()->data(view.model()->index(1,1)).toString(), QString::fromLatin1("g"));
@@ -3056,7 +3104,7 @@ void tst_QTreeView::evilModel()
view.resizeColumnToContents(1);
model.change();
- view.sortByColumn(1);
+ view.sortByColumn(1, Qt::DescendingOrder);
model.change();
view.selectAll();
@@ -3900,7 +3948,7 @@ void tst_QTreeView::task254234_proxySort()
model.setItem(2,1,new QStandardItem("h"));
model.setItem(3,1,new QStandardItem("f"));
- view.sortByColumn(1);
+ view.sortByColumn(1, Qt::DescendingOrder);
view.setSortingEnabled(true);
QSortFilterProxyModel proxy;
@@ -4088,6 +4136,30 @@ void tst_QTreeView::keyboardNavigationWithDisabled()
QCOMPARE(view.currentIndex(), model.index(12, 0));
QTest::keyClick(view.viewport(), Qt::Key_Up);
QCOMPARE(view.currentIndex(), model.index(6, 0));
+ // QTBUG-44746 - when first/last item is disabled,
+ // Key_PageUp/Down/Home/End will not work as expected.
+ model.item(0)->setEnabled(false);
+ model.item(1)->setEnabled(true);
+ model.item(2)->setEnabled(true);
+ model.item(model.rowCount() - 1)->setEnabled(false);
+ model.item(model.rowCount() - 2)->setEnabled(true);
+ model.item(model.rowCount() - 3)->setEnabled(true);
+ // PageUp
+ view.setCurrentIndex(model.index(2, 0));
+ QCOMPARE(view.currentIndex(), model.index(2, 0));
+ QTest::keyClick(view.viewport(), Qt::Key_PageUp);
+ QCOMPARE(view.currentIndex(), model.index(1, 0));
+ // PageDown
+ view.setCurrentIndex(model.index(model.rowCount() - 3, 0));
+ QCOMPARE(view.currentIndex(), model.index(model.rowCount() - 3, 0));
+ QTest::keyClick(view.viewport(), Qt::Key_PageDown);
+ QCOMPARE(view.currentIndex(), model.index(model.rowCount() - 2, 0));
+ // Key_Home
+ QTest::keyClick(view.viewport(), Qt::Key_Home);
+ QCOMPARE(view.currentIndex(), model.index(1, 0));
+ // Key_End
+ QTest::keyClick(view.viewport(), Qt::Key_End);
+ QCOMPARE(view.currentIndex(), model.index(model.rowCount() - 2, 0));
}
class RemoveColumnOne : public QSortFilterProxyModel
@@ -4419,7 +4491,7 @@ void tst_QTreeView::testInitialFocus()
QCOMPARE(treeWidget.currentIndex().column(), 2);
}
-#ifndef QT_NO_ANIMATION
+#if QT_CONFIG(animation)
void tst_QTreeView::quickExpandCollapse()
{
//this unit tests makes sure the state after the animation is restored correctly
@@ -4451,7 +4523,7 @@ void tst_QTreeView::quickExpandCollapse()
QCOMPARE(tree.state(), initialState);
}
-#endif
+#endif // animation
void tst_QTreeView::taskQTBUG_37813_crash()
{
@@ -4735,5 +4807,58 @@ void tst_QTreeView::taskQTBUG_8376()
QCOMPARE(rowHeightLvl1Visible, rowHeightLvl1Visible2);
}
+void tst_QTreeView::taskQTBUG_61476()
+{
+ // This checks that if a user clicks on an item to collapse it that it
+ // does not edit (in this case change the check state) the item that is
+ // now over the mouse just because it got a release event
+ QTreeView tv;
+ QStandardItemModel model;
+ QStandardItem *lastTopLevel = nullptr;
+ {
+ for (int i = 0; i < 4; ++i) {
+ QStandardItem *item = new QStandardItem(QLatin1String("Row Item"));
+ item->setCheckable(true);
+ item->setCheckState(Qt::Checked);
+ model.appendRow(item);
+ lastTopLevel = item;
+ for (int j = 0; j < 2; ++j) {
+ QStandardItem *childItem = new QStandardItem(QLatin1String("Child row Item"));
+ childItem->setCheckable(true);
+ childItem->setCheckState(Qt::Checked);
+ item->appendRow(childItem);
+ QStandardItem *grandChild = new QStandardItem(QLatin1String("Grand child row Item"));
+ grandChild->setCheckable(true);
+ grandChild->setCheckState(Qt::Checked);
+ childItem->appendRow(grandChild);
+ }
+ }
+ }
+ tv.setModel(&model);
+ tv.expandAll();
+ // We need it to be this size so that the effect of the collapsing will
+ // cause the parent item to move to be under the cursor
+ tv.resize(200, 200);
+ tv.show();
+ QVERIFY(QTest::qWaitForWindowActive(&tv));
+ tv.verticalScrollBar()->setValue(tv.verticalScrollBar()->maximum());
+
+ // We want to press specifically right around where a checkbox for the
+ // parent item could be when collapsing
+ QTreeViewPrivate *priv = static_cast<QTreeViewPrivate*>(qt_widget_private(&tv));
+ const QModelIndex mi = lastTopLevel->child(0)->index();
+ const QRect rect = priv->itemDecorationRect(mi);
+ const QPoint pos = rect.center();
+
+ QTest::mousePress(tv.viewport(), Qt::LeftButton, 0, pos);
+ if (tv.style()->styleHint(QStyle::SH_ListViewExpand_SelectMouseType, 0, &tv) ==
+ QEvent::MouseButtonPress)
+ QTRY_VERIFY(!tv.isExpanded(mi));
+
+ QTest::mouseRelease(tv.viewport(), Qt::LeftButton, 0, pos);
+ QTRY_VERIFY(!tv.isExpanded(mi));
+ QCOMPARE(lastTopLevel->checkState(), Qt::Checked);
+}
+
QTEST_MAIN(tst_QTreeView)
#include "tst_qtreeview.moc"
diff --git a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp
index c5ccbc0d0b..33d4f3bf91 100644
--- a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp
+++ b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp
@@ -99,6 +99,7 @@ private slots:
void insertTopLevelItems_data();
void insertTopLevelItems();
void keyboardNavigation();
+ void keyboardNavigationWithHidden();
void scrollToItem();
void setSortingEnabled();
void match();
@@ -140,6 +141,7 @@ private slots:
void expandAndCallapse();
void itemData();
void setDisabled();
+ void setSpanned();
void removeSelectedItem();
void removeCurrentItem();
void removeCurrentItem_task186451();
@@ -608,31 +610,31 @@ void tst_QTreeWidget::setItemHidden()
QVERIFY(testWidget->visualItemRect(child).isValid()
&& testWidget->viewport()->rect().intersects(testWidget->visualItemRect(child)));
- QVERIFY(!testWidget->isItemHidden(parent));
- QVERIFY(!testWidget->isItemHidden(child));
+ QVERIFY(!parent->isHidden());
+ QVERIFY(!child->isHidden());
- testWidget->setItemHidden(parent, true);
+ parent->setHidden(true);
QVERIFY(!(testWidget->visualItemRect(parent).isValid()
&& testWidget->viewport()->rect().intersects(testWidget->visualItemRect(parent))));
QVERIFY(!(testWidget->visualItemRect(child).isValid()
&& testWidget->viewport()->rect().intersects(testWidget->visualItemRect(child))));
- QVERIFY(testWidget->isItemHidden(parent));
- QVERIFY(!testWidget->isItemHidden(child));
+ QVERIFY(parent->isHidden());
+ QVERIFY(!child->isHidden());
// From task 78670 (This caused an core dump)
// Check if we can set an item visible if it already is visible.
- testWidget->setItemHidden(parent, false);
- testWidget->setItemHidden(parent, false);
- QVERIFY(!testWidget->isItemHidden(parent));
+ parent->setHidden(false);
+ parent->setHidden(false);
+ QVERIFY(!parent->isHidden());
// hide, hide and then unhide.
- testWidget->setItemHidden(parent, true);
- testWidget->setItemHidden(parent, true);
- testWidget->setItemHidden(parent, false);
- QVERIFY(!testWidget->isItemHidden(parent));
+ parent->setHidden(true);
+ parent->setHidden(true);
+ parent->setHidden(false);
+ QVERIFY(!parent->isHidden());
}
@@ -658,7 +660,7 @@ void tst_QTreeWidget::setItemHidden2()
if (testWidget->topLevelItemCount() > 0) {
top = testWidget->topLevelItem(0);
- testWidget->setItemExpanded(top, true);
+ top->setExpanded(true);
}
if (testWidget->topLevelItemCount() > 0) {
@@ -666,8 +668,8 @@ void tst_QTreeWidget::setItemHidden2()
for (int i = 0; i < top->childCount(); i++) {
leaf = top->child(i);
if (leaf->text(0).toInt() % 2 == 0) {
- if (!testWidget->isItemHidden(leaf)) {
- testWidget->setItemHidden(leaf, true);
+ if (!leaf->isHidden()) {
+ leaf->setHidden(true);
}
}
}
@@ -821,7 +823,7 @@ void tst_QTreeWidget::selectedItems()
else
item = item->child(index);
}
- testWidget->setItemSelected(item, true);
+ item->setSelected(true);
}
// hide rows
@@ -833,7 +835,7 @@ void tst_QTreeWidget::selectedItems()
else
item = item->child(index);
}
- testWidget->setItemHidden(item, true);
+ item->setHidden(true);
}
// open/close toplevel
@@ -862,18 +864,23 @@ void tst_QTreeWidget::selectedItems()
// compare isSelected
for (int t=0; t<testWidget->topLevelItemCount(); ++t) {
QTreeWidgetItem *top = testWidget->topLevelItem(t);
- if (testWidget->isItemSelected(top) && !testWidget->isItemHidden(top))
+ if (top->isSelected() && !top->isHidden())
QVERIFY(sel.contains(top));
for (int c=0; c<top->childCount(); ++c) {
QTreeWidgetItem *child = top->child(c);
- if (testWidget->isItemSelected(child) && !testWidget->isItemHidden(child))
+ if (child->isSelected() && !child->isHidden())
QVERIFY(sel.contains(child));
}
}
+#if QT_DEPRECATED_SINCE(5, 13)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
// Possible to select null without crashing?
- testWidget->setItemSelected(0, true);
- QVERIFY(!testWidget->isItemSelected(0));
+ testWidget->setItemSelected(nullptr, true);
+ QVERIFY(!testWidget->isItemSelected(nullptr));
+QT_WARNING_POP
+#endif
// unselect
foreach (IntList itemPath, selectedItems) {
@@ -884,7 +891,7 @@ void tst_QTreeWidget::selectedItems()
else
item = item->child(index);
}
- testWidget->setItemSelected(item, false);
+ item->setSelected(false);
}
QCOMPARE(testWidget->selectedItems().count(), 0);
}
@@ -1010,21 +1017,21 @@ void tst_QTreeWidget::expand()
QTreeWidgetItem *topLevelItem = testWidget->topLevelItem(topLevelIndex);
QTreeWidgetItem *childItem = topLevelItem->child(childIndex);
- QVERIFY(!testWidget->isItemExpanded(topLevelItem));
- testWidget->setItemExpanded(topLevelItem, true);
- QVERIFY(testWidget->isItemExpanded(topLevelItem));
+ QVERIFY(!topLevelItem->isExpanded());
+ topLevelItem->setExpanded(true);
+ QVERIFY(topLevelItem->isExpanded());
- QVERIFY(!testWidget->isItemExpanded(childItem));
- testWidget->setItemExpanded(childItem, true);
- QVERIFY(testWidget->isItemExpanded(childItem));
+ QVERIFY(!childItem->isExpanded());
+ childItem->setExpanded(true);
+ QVERIFY(childItem->isExpanded());
- QVERIFY(testWidget->isItemExpanded(topLevelItem));
- testWidget->setItemExpanded(topLevelItem, false);
- QVERIFY(!testWidget->isItemExpanded(topLevelItem));
+ QVERIFY(topLevelItem->isExpanded());
+ topLevelItem->setExpanded(false);
+ QVERIFY(!topLevelItem->isExpanded());
- QVERIFY(testWidget->isItemExpanded(childItem));
- testWidget->setItemExpanded(childItem, false);
- QVERIFY(!testWidget->isItemExpanded(childItem));
+ QVERIFY(childItem->isExpanded());
+ childItem->setExpanded(false);
+ QVERIFY(!childItem->isExpanded());
}
void tst_QTreeWidget::checkState_data()
@@ -1525,7 +1532,7 @@ void tst_QTreeWidget::keyboardNavigation()
}
break;
case Qt::Key_Down:
- if (testWidget->isItemExpanded(item)) {
+ if (item->isExpanded()) {
row = 0;
item = item->child(row);
} else {
@@ -1538,7 +1545,7 @@ void tst_QTreeWidget::keyboardNavigation()
break;
case Qt::Key_Left:
if (checkScroll) {
- QVERIFY(testWidget->isItemExpanded(item));
+ QVERIFY(item->isExpanded());
QCOMPARE(scrollBar->value(), valueBeforeClick - scrollBar->singleStep());
}
// windows style right will walk to the parent
@@ -1572,6 +1579,33 @@ void tst_QTreeWidget::keyboardNavigation()
}
}
+void tst_QTreeWidget::keyboardNavigationWithHidden()
+{
+ QTreeWidget tw;
+ for (int i = 0; i < 1000; ++i)
+ tw.addTopLevelItem(new QTreeWidgetItem({QString::number(i), QStringLiteral("second col")}));
+ // QTBUG-34832 - when first/last item is hidden,
+ // Key_PageUp/Down/Home/End will not work as expected.
+ tw.topLevelItem(0)->setHidden(true);
+ tw.topLevelItem(tw.model()->rowCount() - 1)->setHidden(true);
+ // PageUp
+ tw.setCurrentIndex(tw.model()->index(2, 0));
+ QCOMPARE(tw.currentIndex(), tw.model()->index(2, 0));
+ QTest::keyClick(tw.viewport(), Qt::Key_PageUp);
+ QCOMPARE(tw.currentIndex(), tw.model()->index(1, 0));
+ // PageDown
+ tw.setCurrentIndex(tw.model()->index(tw.model()->rowCount() - 3, 0));
+ QCOMPARE(tw.currentIndex(), tw.model()->index(tw.model()->rowCount() - 3, 0));
+ QTest::keyClick(tw.viewport(), Qt::Key_PageDown);
+ QCOMPARE(tw.currentIndex(), tw.model()->index(tw.model()->rowCount() - 2, 0));
+ // Key_Home
+ QTest::keyClick(tw.viewport(), Qt::Key_Home);
+ QCOMPARE(tw.currentIndex(), tw.model()->index(1, 0));
+ // Key_End
+ QTest::keyClick(tw.viewport(), Qt::Key_End);
+ QCOMPARE(tw.currentIndex(), tw.model()->index(tw.model()->rowCount() - 2, 0));
+}
+
void tst_QTreeWidget::scrollToItem()
{
// Check if all parent nodes of the item found are expanded.
@@ -1597,9 +1631,9 @@ void tst_QTreeWidget::scrollToItem()
QCOMPARE(search->text(0), QLatin1String("111"));
QTreeWidgetItem *par = search->parent();
- QVERIFY(testWidget->isItemExpanded(par));
+ QVERIFY(par->isExpanded());
par = par->parent();
- QVERIFY(testWidget->isItemExpanded(par));
+ QVERIFY(par->isExpanded());
}
// From task #85413
@@ -1845,14 +1879,14 @@ void tst_QTreeWidget::setData()
item->setBackground(j, backgroundColor);
QCOMPARE(itemChangedSpy.count(), 0);
- QColor textColor((i == 1) ? Qt::green : Qt::cyan);
- item->setTextColor(j, textColor);
- QCOMPARE(item->textColor(j), textColor);
+ const QColor foregroundColor((i == 1) ? Qt::green : Qt::cyan);
+ item->setForeground(j, foregroundColor);
+ QCOMPARE(item->foreground(j), foregroundColor);
QCOMPARE(itemChangedSpy.count(), 1);
args = itemChangedSpy.takeFirst();
QCOMPARE(qvariant_cast<QTreeWidgetItem*>(args.at(0)), item);
QCOMPARE(qvariant_cast<int>(args.at(1)), j);
- item->setTextColor(j, textColor);
+ item->setForeground(j, foregroundColor);
QCOMPARE(itemChangedSpy.count(), 0);
Qt::CheckState checkState((i == 1) ? Qt::PartiallyChecked : Qt::Checked);
@@ -1874,7 +1908,7 @@ void tst_QTreeWidget::setData()
QCOMPARE(item->font(j), font);
QCOMPARE(item->textAlignment(j), int(textAlignment));
QCOMPARE(item->background(j).color(), backgroundColor);
- QCOMPARE(item->textColor(j), textColor);
+ QCOMPARE(item->foreground(j), foregroundColor);
QCOMPARE(item->checkState(j), checkState);
QCOMPARE(qvariant_cast<QString>(item->data(j, Qt::DisplayRole)), text);
@@ -1885,9 +1919,8 @@ void tst_QTreeWidget::setData()
QCOMPARE(qvariant_cast<QSize>(item->data(j, Qt::SizeHintRole)), sizeHint);
QCOMPARE(qvariant_cast<QFont>(item->data(j, Qt::FontRole)), font);
QCOMPARE(qvariant_cast<int>(item->data(j, Qt::TextAlignmentRole)), int(textAlignment));
- QCOMPARE(qvariant_cast<QBrush>(item->data(j, Qt::BackgroundColorRole)), QBrush(backgroundColor));
QCOMPARE(qvariant_cast<QBrush>(item->data(j, Qt::BackgroundRole)), QBrush(backgroundColor));
- QCOMPARE(qvariant_cast<QColor>(item->data(j, Qt::TextColorRole)), textColor);
+ QCOMPARE(qvariant_cast<QColor>(item->data(j, Qt::ForegroundRole)), foregroundColor);
QCOMPARE(qvariant_cast<int>(item->data(j, Qt::CheckStateRole)), int(checkState));
item->setBackground(j, pixmap);
@@ -1907,8 +1940,8 @@ void tst_QTreeWidget::setData()
item->setData(j, Qt::SizeHintRole, QVariant());
item->setData(j, Qt::FontRole, QVariant());
item->setData(j, Qt::TextAlignmentRole, QVariant());
- item->setData(j, Qt::BackgroundColorRole, QVariant());
- item->setData(j, Qt::TextColorRole, QVariant());
+ item->setData(j, Qt::BackgroundRole, QVariant());
+ item->setData(j, Qt::ForegroundRole, QVariant());
item->setData(j, Qt::CheckStateRole, QVariant());
QCOMPARE(itemChangedSpy.count(), 11);
itemChangedSpy.clear();
@@ -1921,9 +1954,8 @@ void tst_QTreeWidget::setData()
QCOMPARE(item->data(j, Qt::SizeHintRole), QVariant());
QCOMPARE(item->data(j, Qt::FontRole), QVariant());
QCOMPARE(item->data(j, Qt::TextAlignmentRole), QVariant());
- QCOMPARE(item->data(j, Qt::BackgroundColorRole), QVariant());
QCOMPARE(item->data(j, Qt::BackgroundRole), QVariant());
- QCOMPARE(item->data(j, Qt::TextColorRole), QVariant());
+ QCOMPARE(item->data(j, Qt::ForegroundRole), QVariant());
QCOMPARE(item->data(j, Qt::CheckStateRole), QVariant());
}
}
@@ -2818,6 +2850,28 @@ void tst_QTreeWidget::setDisabled()
QCOMPARE(takenChildren.items[1]->isDisabled(), false);
}
+void tst_QTreeWidget::setSpanned()
+{
+ QTreeWidget w;
+ QTreeWidgetItem *i1 = new QTreeWidgetItem();
+ QScopedPointer<QTreeWidgetItem> i2(new QTreeWidgetItem());
+
+ QTreeWidgetItem *top = new QTreeWidgetItem(&w);
+ top->addChild(i1);
+
+ top->setFirstColumnSpanned(true);
+ QCOMPARE(top->isFirstColumnSpanned(), true);
+ QCOMPARE(i1->isFirstColumnSpanned(), false);
+ QCOMPARE(i2->isFirstColumnSpanned(), false);
+
+ top->setFirstColumnSpanned(false);
+ i1->setFirstColumnSpanned(true);
+ i2->setFirstColumnSpanned(true);
+ QCOMPARE(top->isFirstColumnSpanned(), false);
+ QCOMPARE(i1->isFirstColumnSpanned(), true);
+ QCOMPARE(i2->isFirstColumnSpanned(), false);
+}
+
void tst_QTreeWidget::removeSelectedItem()
{
const QScopedPointer <QTreeWidget> w(new QTreeWidget);
@@ -2919,14 +2973,14 @@ void tst_QTreeWidget::randomExpand()
QTreeWidgetItem *newItem1 = 0;
for (int i = 0; i < 100; i++) {
newItem1 = new QTreeWidgetItem(&tree, item1);
- tree.setItemExpanded(newItem1, true);
- QCOMPARE(tree.isItemExpanded(newItem1), true);
+ newItem1->setExpanded(true);
+ QCOMPARE(newItem1->isExpanded(), true);
QTreeWidgetItem *x = new QTreeWidgetItem();
- QCOMPARE(tree.isItemExpanded(newItem1), true);
+ QCOMPARE(newItem1->isExpanded(), true);
newItem1->addChild(x);
- QCOMPARE(tree.isItemExpanded(newItem1), true);
+ QCOMPARE(newItem1->isExpanded(), true);
}
}
@@ -2939,19 +2993,19 @@ void tst_QTreeWidget::crashTest()
QTreeWidgetItem *item1 = new QTreeWidgetItem(tree);
item1->setText(0, "item1");
- tree->setItemExpanded(item1, true);
+ item1->setExpanded(true);
QTreeWidgetItem *item2 = new QTreeWidgetItem(item1);
item2->setText(0, "item2");
QTreeWidgetItem *item3 = new QTreeWidgetItem(tree, item1);
item3->setText(0, "item3");
- tree->setItemExpanded(item3, true);
+ item3->setExpanded(true);
QTreeWidgetItem *item4 = new QTreeWidgetItem(item3);
item4->setText(0, "item4");
QTreeWidgetItem *item5 = new QTreeWidgetItem(tree, item3);
item5->setText(0, "item5");
- tree->setItemExpanded(item5, true);
+ item5->setExpanded(true);
QTreeWidgetItem *item6 = new QTreeWidgetItem(item5);
item6->setText(0, "item6");
@@ -3417,6 +3471,7 @@ void tst_QTreeWidget::setChildIndicatorPolicy()
treeWidget.setItemDelegate(&delegate);
treeWidget.show();
QVERIFY(QTest::qWaitForWindowExposed(&treeWidget));
+ QCoreApplication::processEvents(); // Process all queued paint events
QTreeWidgetItem *item = new QTreeWidgetItem(QStringList("Hello"));
treeWidget.insertTopLevelItem(0, item);
diff --git a/tests/auto/widgets/itemviews/qtreewidgetitemiterator/tst_qtreewidgetitemiterator.cpp b/tests/auto/widgets/itemviews/qtreewidgetitemiterator/tst_qtreewidgetitemiterator.cpp
index c2c02f3766..76ca148d3f 100644
--- a/tests/auto/widgets/itemviews/qtreewidgetitemiterator/tst_qtreewidgetitemiterator.cpp
+++ b/tests/auto/widgets/itemviews/qtreewidgetitemiterator/tst_qtreewidgetitemiterator.cpp
@@ -95,11 +95,11 @@ void tst_QTreeWidgetItemIterator::initTestCase()
const QString topS = QLatin1String("top") + QString::number(i);
top->setText(0, topS);
switch (i) {
- case 0: testWidget->setItemHidden(top, true);break;
- case 1: testWidget->setItemHidden(top, false);break;
+ case 0: top->setHidden(true);break;
+ case 1: top->setHidden(false);break;
- case 2: testWidget->setItemSelected(top, true);break;
- case 3: testWidget->setItemSelected(top, false);break;
+ case 2: top->setSelected(true);break;
+ case 3: top->setSelected(false);break;
case 4: top->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);break;
case 5: top->setFlags(Qt::ItemIsEnabled);break;
@@ -126,11 +126,11 @@ void tst_QTreeWidgetItemIterator::initTestCase()
QTreeWidgetItem *child = new QTreeWidgetItem(top);
child->setText(0, topS + QLatin1String(",child") + QString::number(j));
switch (j) {
- case 0: testWidget->setItemHidden(child, true);break;
- case 1: testWidget->setItemHidden(child, false);break;
+ case 0: child->setHidden(true);break;
+ case 1: child->setHidden(false);break;
- case 2: testWidget->setItemSelected(child, true);break;
- case 3: testWidget->setItemSelected(child, false);break;
+ case 2: child->setSelected(true);break;
+ case 3: child->setSelected(false);break;
case 4: child->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);break;
case 5: child->setFlags(Qt::ItemIsEnabled);break;
diff --git a/tests/auto/widgets/kernel/kernel.pro b/tests/auto/widgets/kernel/kernel.pro
index 0382264eb8..15fcf99765 100644
--- a/tests/auto/widgets/kernel/kernel.pro
+++ b/tests/auto/widgets/kernel/kernel.pro
@@ -22,5 +22,3 @@ SUBDIRS=\
darwin:SUBDIRS -= \
qgesturerecognizer \
-
-SUBDIRS -= qsound
diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
index d06baed322..e57ac77c39 100644
--- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
+++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
@@ -360,8 +360,8 @@ void tst_QApplication::setFont_data()
int cnt = 0;
QFontDatabase fdb;
QStringList families = fdb.families();
- for (QStringList::const_iterator itr = families.begin();
- itr != families.end();
+ for (QStringList::const_iterator itr = families.cbegin();
+ itr != families.cend();
++itr) {
if (cnt < 3) {
QString family = *itr;
@@ -2200,8 +2200,6 @@ void tst_QApplication::abortQuitOnShow()
void tst_QApplication::staticFunctions()
{
QApplication::setStyle(QStringLiteral("blub"));
- QApplication::colorSpec();
- QApplication::setColorSpec(42);
QApplication::allWidgets();
QApplication::topLevelWidgets();
QApplication::desktop();
diff --git a/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp b/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp
index b2650d1f32..fa9769a002 100644
--- a/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp
+++ b/tests/auto/widgets/kernel/qboxlayout/tst_qboxlayout.cpp
@@ -47,6 +47,7 @@ private slots:
void sizeConstraints();
void setGeometry();
void setStyleShouldChangeSpacing();
+ void widgetSurplus();
void testLayoutEngine_data();
void testLayoutEngine();
@@ -236,6 +237,69 @@ void tst_QBoxLayout::setStyleShouldChangeSpacing()
QTRY_COMPARE(spacing(), 10);
}
+class MarginEatingStyle : public QProxyStyle
+{
+public:
+ MarginEatingStyle() : QProxyStyle(QStyleFactory::create("windows"))
+ {
+ }
+
+ virtual QRect subElementRect(SubElement sr, const QStyleOption *opt,
+ const QWidget *widget) const
+ {
+ QRect rect = opt->rect;
+ switch (sr) {
+ case SE_GroupBoxLayoutItem:
+ // this is a simplifed version of what the macOS style does
+ rect.setTop(rect.top() + 20);
+ rect.setLeft(rect.left() + 20);
+ rect.setRight(rect.right() - 20);
+ rect.setBottom(rect.bottom() - 20);
+ break;
+ default:
+ return QProxyStyle::subElementRect(sr, opt, widget);
+ }
+
+ return rect;
+ }
+};
+
+void tst_QBoxLayout::widgetSurplus()
+{
+ // Test case for QTBUG-67608 - a style requests space in the margin
+
+ QDialog window;
+ QScopedPointer<MarginEatingStyle> marginEater(new MarginEatingStyle);
+ QVBoxLayout *vbox = new QVBoxLayout(&window);
+ vbox->setMargin(0);
+ vbox->setSpacing(0);
+
+ QLabel *hiddenLabel = new QLabel(tr("Invisible label"));
+ hiddenLabel->setVisible(false);
+
+ QGroupBox *groupBox = new QGroupBox(tr("Groupbox Title"));
+ groupBox->setStyle(marginEater.data());
+ groupBox->setObjectName("Test group box");
+ QPushButton *button1 = new QPushButton(tr("Button 1"));
+ QPushButton *button2 = new QPushButton(tr("Button 2"));
+ QVBoxLayout *groupLayout = new QVBoxLayout;
+ groupLayout->addWidget(button1);
+ groupLayout->addWidget(button2);
+ groupBox->setLayout(groupLayout);
+
+ QLabel *label = new QLabel(tr("Visible label"));
+
+ vbox->addWidget(hiddenLabel);
+ vbox->addWidget(groupBox);
+ vbox->addWidget(label);
+ window.setLayout(vbox);
+
+ window.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&window));
+ QCOMPARE(groupBox->y(), 0);
+ QCOMPARE(groupBox->x(), 0);
+}
+
void tst_QBoxLayout::taskQTBUG_7103_minMaxWidthNotRespected()
{
QLabel *label = new QLabel("Qt uses standard C++, but makes extensive use of the C pre-processor to enrich the language. Qt can also be used in several other programming languages via language bindings. It runs on all major platforms, and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support and a unified cross-platform API for file handling.");
diff --git a/tests/auto/widgets/kernel/qdesktopwidget/tst_qdesktopwidget.cpp b/tests/auto/widgets/kernel/qdesktopwidget/tst_qdesktopwidget.cpp
index 6f2847974f..90776dfcb2 100644
--- a/tests/auto/widgets/kernel/qdesktopwidget/tst_qdesktopwidget.cpp
+++ b/tests/auto/widgets/kernel/qdesktopwidget/tst_qdesktopwidget.cpp
@@ -32,6 +32,9 @@
#include <QtGui/QWindow>
#include <QDebug>
+// the complete class is deprecated
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
class tst_QDesktopWidget : public QObject
{
Q_OBJECT
@@ -163,7 +166,7 @@ void tst_QDesktopWidget::topLevels()
QCOMPARE(topLevelDesktopWidgets, 0);
QCOMPARE(topLevelDesktopWindows, 0);
}
+QT_WARNING_POP
QTEST_MAIN(tst_QDesktopWidget)
#include "tst_qdesktopwidget.moc"
-
diff --git a/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp b/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp
index cff3dad35e..ab32643061 100644
--- a/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp
+++ b/tests/auto/widgets/kernel/qformlayout/tst_qformlayout.cpp
@@ -52,7 +52,7 @@ using namespace QTestPrivate;
Q_CONSTEXPR QFormLayout::ItemRole invalidRole = QFormLayout::ItemRole(3);
struct QFormLayoutTakeRowResultHolder {
- QFormLayoutTakeRowResultHolder(QFormLayout::TakeRowResult result) Q_DECL_NOTHROW
+ QFormLayoutTakeRowResultHolder(QFormLayout::TakeRowResult result) noexcept
: labelItem(result.labelItem),
fieldItem(result.fieldItem)
{
@@ -66,20 +66,20 @@ struct QFormLayoutTakeRowResultHolder {
if (fieldItem)
disposer.setItem(0, QFormLayout::FieldRole, fieldItem);
}
- QFormLayoutTakeRowResultHolder(QFormLayoutTakeRowResultHolder &&other) Q_DECL_NOTHROW
+ QFormLayoutTakeRowResultHolder(QFormLayoutTakeRowResultHolder &&other) noexcept
: labelItem(other.labelItem),
fieldItem(other.fieldItem)
{
other.labelItem = nullptr;
other.fieldItem = nullptr;
}
- QFormLayoutTakeRowResultHolder &operator=(QFormLayoutTakeRowResultHolder &&other) Q_DECL_NOTHROW
+ QFormLayoutTakeRowResultHolder &operator=(QFormLayoutTakeRowResultHolder &&other) noexcept
{
swap(other);
return *this;
}
- void swap(QFormLayoutTakeRowResultHolder &other) Q_DECL_NOTHROW
+ void swap(QFormLayoutTakeRowResultHolder &other) noexcept
{
qSwap(labelItem, other.labelItem);
qSwap(fieldItem, other.fieldItem);
diff --git a/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp b/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp
index e02573f8e8..3d609d0b9c 100644
--- a/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp
+++ b/tests/auto/widgets/kernel/qtooltip/tst_qtooltip.cpp
@@ -46,6 +46,7 @@ private slots:
void whatsThis();
void setPalette();
void qtbug64550_stylesheet();
+ void dontCrashOutsideScreenGeometry();
};
void tst_QToolTip::init()
@@ -218,5 +219,11 @@ void tst_QToolTip::qtbug64550_stylesheet()
msgSizeTooSmall(toolTipSize, boundingRect.size()).constData());
}
+void tst_QToolTip::dontCrashOutsideScreenGeometry() {
+ QToolTip::showText(QPoint(-10000, -10000), "tip outside monitor", nullptr);
+ QTRY_VERIFY(QToolTip::isVisible());
+ QToolTip::hideText();
+}
+
QTEST_MAIN(tst_QToolTip)
#include "tst_qtooltip.moc"
diff --git a/tests/auto/widgets/kernel/qwidget/BLACKLIST b/tests/auto/widgets/kernel/qwidget/BLACKLIST
index d8654e5768..3287d67875 100644
--- a/tests/auto/widgets/kernel/qwidget/BLACKLIST
+++ b/tests/auto/widgets/kernel/qwidget/BLACKLIST
@@ -10,6 +10,7 @@ osx
ubuntu-16.04
ubuntu-18.04
rhel-7.4
+rhel-7.6
osx
[focusProxyAndInputMethods]
linux
@@ -32,7 +33,6 @@ osx
[render_systemClip]
osx
[showMinimizedKeepsFocus]
-osx-10.11 ci
osx-10.12 ci
osx-10.13 ci
[maskedUpdate]
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index 67b326e7ee..0ac8ccdbe7 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -166,6 +166,7 @@ private slots:
void getSetCheck();
void fontPropagation();
void fontPropagation2();
+ void fontPropagation3();
void palettePropagation();
void palettePropagation2();
void enabledPropagation();
@@ -320,7 +321,9 @@ private slots:
void setMaskInResizeEvent();
void moveInResizeEvent();
- void immediateRepaintAfterInvalidateBuffer();
+#ifdef QT_BUILD_INTERNAL
+ void immediateRepaintAfterInvalidateBackingStore();
+#endif
void effectiveWinId();
void effectiveWinId2();
@@ -819,6 +822,18 @@ void tst_QWidget::fontPropagation2()
QVERIFY(child5->font().italic());
}
+void tst_QWidget::fontPropagation3()
+{
+ QWidget parent;
+ QWidget *child = new QWidget(&parent);
+ parent.setFont(QFont("Monospace", 9));
+ QImage image(32, 32, QImage::Format_RGB32);
+ QPainter p(&image);
+ p.setFont(child->font());
+ QCOMPARE(p.font().family(), child->font().family());
+ QCOMPARE(p.font().pointSize(), child->font().pointSize());
+}
+
void tst_QWidget::palettePropagation()
{
QScopedPointer<QWidget> testWidget(new QWidget);
@@ -6131,7 +6146,11 @@ public:
return false;
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ bool nativeEvent(const QByteArray &eventType, void *message, qintptr *) override
+#else
bool nativeEvent(const QByteArray &eventType, void *message, long *) override
+#endif
{
if (isMapNotify(eventType, message))
gotExpectedMapNotify = true;
@@ -6139,7 +6158,11 @@ public:
}
// QAbstractNativeEventFilter interface
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ bool nativeEventFilter(const QByteArray &eventType, void *message, qintptr *) override
+#else
bool nativeEventFilter(const QByteArray &eventType, void *message, long *) override
+#endif
{
if (isMapNotify(eventType, message))
gotExpectedGlobalEvent = true;
@@ -8202,7 +8225,7 @@ void tst_QWidget::resizeInPaintEvent()
widget.resizeInPaintEvent = true;
// This will call resize in the paintEvent, which in turn will call
- // invalidateBuffer() and a new update request should be posted.
+ // invalidateBackingStore() and a new update request should be posted.
widget.repaint();
QCOMPARE(widget.numPaintEvents, 1);
widget.numPaintEvents = 0;
@@ -8357,7 +8380,8 @@ void tst_QWidget::moveInResizeEvent()
QTRY_COMPARE(testWidget.geometry(), expectedGeometry);
}
-void tst_QWidget::immediateRepaintAfterInvalidateBuffer()
+#ifdef QT_BUILD_INTERNAL
+void tst_QWidget::immediateRepaintAfterInvalidateBackingStore()
{
if (m_platform != QStringLiteral("xcb") && m_platform != QStringLiteral("windows"))
QSKIP("We don't support immediate repaint right after show on other platforms.");
@@ -8371,7 +8395,7 @@ void tst_QWidget::immediateRepaintAfterInvalidateBuffer()
// Marks the area covered by the widget as dirty in the backing store and
// posts an UpdateRequest event.
- qt_widget_private(widget.data())->invalidateBuffer(widget->rect());
+ qt_widget_private(widget.data())->invalidateBackingStore(widget->rect());
QCOMPARE(widget->numPaintEvents, 0);
// The entire widget is already dirty, but this time we want to update immediately
@@ -8380,6 +8404,7 @@ void tst_QWidget::immediateRepaintAfterInvalidateBuffer()
widget->repaint();
QCOMPARE(widget->numPaintEvents, 1);
}
+#endif
void tst_QWidget::effectiveWinId()
{
@@ -9422,7 +9447,7 @@ QWidgetBackingStore* backingStore(QWidget &widget)
void tst_QWidget::rectOutsideCoordinatesLimit_task144779()
{
#ifndef QT_NO_CURSOR
- QApplication::setOverrideCursor(Qt::BlankCursor); //keep the cursor out of screen grabs
+ QGuiApplication::setOverrideCursor(Qt::BlankCursor); //keep the cursor out of screen grabs
#endif
QWidget main(0,Qt::FramelessWindowHint); //don't get confused by the size of the window frame
QPalette palette;
@@ -9459,7 +9484,7 @@ void tst_QWidget::rectOutsideCoordinatesLimit_task144779()
QTRY_COMPARE(mainPixmap.toImage().convertToFormat(QImage::Format_RGB32),
correct.toImage().convertToFormat(QImage::Format_RGB32));
#ifndef QT_NO_CURSOR
- QApplication::restoreOverrideCursor();
+ QGuiApplication::restoreOverrideCursor();
#endif
}
@@ -9615,7 +9640,7 @@ public:
{
if (!static_cast<QWidgetPrivate*>(d_ptr.data())->maybeBackingStore()) {
static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStoreTracker.create(this);
- static_cast<QWidgetPrivate*>(d_ptr.data())->invalidateBuffer(this->rect());
+ static_cast<QWidgetPrivate*>(d_ptr.data())->invalidateBackingStore(this->rect());
repaint();
}
}
diff --git a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
index f4da4c3e5f..8b558aa56f 100644
--- a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
+++ b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
@@ -46,6 +46,9 @@
#include <private/qwindow_p.h>
#include <private/qguiapplication_p.h>
#include <qpa/qplatformintegration.h>
+#include <qpa/qwindowsysteminterface.h>
+#include <qpa/qplatformdrag.h>
+#include <private/qhighdpiscaling_p.h>
#include <QtTest/private/qtesthelpers_p.h>
@@ -87,6 +90,7 @@ private slots:
#if QT_CONFIG(draganddrop)
void tst_dnd();
void tst_dnd_events();
+ void tst_dnd_propagation();
#endif
void tst_qtbug35600();
@@ -470,6 +474,10 @@ static const char *expectedLogC[] = {
"Event at 11,241 accepted",
"acceptingDropsWidget2::dropEvent at 1,51 action=1 MIME_DATA_ADDRESS 'testmimetext'",
"Event at 11,261 accepted",
+ "acceptingDropsWidget3::dragEnterEvent at 1,21 action=1 MIME_DATA_ADDRESS 'testmimetext'",
+ "Event at 11,281 accepted",
+ "acceptingDropsWidget3::dragLeaveEvent QDragLeaveEvent",
+ "Event at 11,301 ignored",
"acceptingDropsWidget1::dragEnterEvent at 10,10 action=1 MIME_DATA_ADDRESS 'testmimetext'",
"Event at 0,0 accepted",
"acceptingDropsWidget1::dragMoveEvent at 11,11 action=1 MIME_DATA_ADDRESS 'testmimetext'",
@@ -482,8 +490,9 @@ static const char *expectedLogC[] = {
class DnDEventLoggerWidget : public QWidget
{
public:
- DnDEventLoggerWidget(QStringList *log, QWidget *w = 0) : QWidget(w), m_log(log) {}
-
+ DnDEventLoggerWidget(QStringList *log, QWidget *w = nullptr, bool ignoreDragMove = false)
+ : QWidget(w), m_log(log), m_ignoreDragMove(ignoreDragMove)
+ {}
protected:
void dragEnterEvent(QDragEnterEvent *);
void dragMoveEvent(QDragMoveEvent *);
@@ -493,6 +502,7 @@ protected:
private:
void formatDropEvent(const char *function, const QDropEvent *e, QTextStream &str) const;
QStringList *m_log;
+ bool m_ignoreDragMove;
};
void DnDEventLoggerWidget::formatDropEvent(const char *function, const QDropEvent *e, QTextStream &str) const
@@ -513,6 +523,8 @@ void DnDEventLoggerWidget::dragEnterEvent(QDragEnterEvent *e)
void DnDEventLoggerWidget::dragMoveEvent(QDragMoveEvent *e)
{
+ if (m_ignoreDragMove)
+ return;
e->accept();
QString message;
QTextStream str(&message);
@@ -580,7 +592,17 @@ void tst_QWidget_window::tst_dnd()
dropsRefusingWidget2->resize(160, 60);
dropsRefusingWidget2->move(10, 10);
+ QWidget *dropsAcceptingWidget3 = new DnDEventLoggerWidget(&log, &dndTestWidget, true);
+ dropsAcceptingWidget3->setAcceptDrops(true);
+ dropsAcceptingWidget3->setObjectName(QLatin1String("acceptingDropsWidget3"));
+ // 260 + 40 = 300 = widget size, must not be more than that.
+ // otherwise it will break WinRT because there the tlw is maximized every time
+ // and this window will receive one more event
+ dropsAcceptingWidget3->resize(180, 40);
+ dropsAcceptingWidget3->move(10, 260);
+
dndTestWidget.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&dndTestWidget));
qApp->setActiveWindow(&dndTestWidget);
QVERIFY(QTest::qWaitForWindowActive(&dndTestWidget));
@@ -595,16 +617,17 @@ void tst_QWidget_window::tst_dnd()
log.push_back(msgEventAccepted(e));
while (true) {
position.ry() += 20;
- if (position.y() >= 250) {
+ if (position.y() >= 250 && position.y() < 270) {
QDropEvent e(position, Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
qApp->sendEvent(window, &e);
log.push_back(msgEventAccepted(e));
- break;
} else {
QDragMoveEvent e(position, Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
qApp->sendEvent(window, &e);
log.push_back(msgEventAccepted(e));
}
+ if (position.y() > 290)
+ break;
}
window = nativeWidget->windowHandle();
@@ -628,6 +651,15 @@ void tst_QWidget_window::tst_dnd()
for (int i= 0; i < expectedLogSize; ++i)
expectedLog.push_back(QString::fromLatin1(expectedLogC[i]).replace(mimeDataAddressPlaceHolder, mimeDataAddress));
+ if (log.size() != expectedLog.size()) {
+ for (int i = 0; i < log.size() && i < expectedLog.size(); ++i)
+ QCOMPARE(log.at(i), expectedLog.at(i));
+ const int iMin = std::min(log.size(), expectedLog.size());
+ for (int i = iMin; i < log.size(); ++i)
+ qDebug() << "log[" << i << "]:" << log.at(i);
+ for (int i = iMin; i < expectedLog.size(); ++i)
+ qDebug() << "exp[" << i << "]:" << log.at(i);
+ }
QCOMPARE(log, expectedLog);
}
@@ -716,6 +748,77 @@ void tst_QWidget_window::tst_dnd_events()
QCOMPARE(dndWidget._dndEvents, expectedDndEvents);
}
+
+class DropTarget : public QWidget
+{
+public:
+ explicit DropTarget()
+ {
+ setAcceptDrops(true);
+
+ const QRect availableGeometry = QGuiApplication::primaryScreen()->availableGeometry();
+ auto width = availableGeometry.width() / 6;
+ auto height = availableGeometry.height() / 4;
+
+ setGeometry(availableGeometry.x() + 200, availableGeometry.y() + 200, width, height);
+
+ QLabel *label = new QLabel(QStringLiteral("Test"), this);
+ label->setGeometry(40, 40, 60, 60);
+ label->setAcceptDrops(true);
+ }
+
+ void dragEnterEvent(QDragEnterEvent *event) override
+ {
+ event->accept();
+ mDndEvents.append("enter ");
+ }
+
+ void dragMoveEvent(QDragMoveEvent *event) override
+ {
+ event->acceptProposedAction();
+ }
+
+ void dragLeaveEvent(QDragLeaveEvent *) override
+ {
+ mDndEvents.append("leave ");
+ }
+
+ void dropEvent(QDropEvent *event) override
+ {
+ event->accept();
+ mDndEvents.append("drop ");
+ }
+
+ QString mDndEvents;
+};
+
+void tst_QWidget_window::tst_dnd_propagation()
+{
+ QMimeData mimeData;
+ mimeData.setText(QLatin1String("testmimetext"));
+
+ DropTarget target;
+ target.show();
+ QVERIFY(QTest::qWaitForWindowActive(&target));
+
+ Qt::DropActions supportedActions = Qt::DropAction::CopyAction;
+ QWindow *window = target.windowHandle();
+
+ auto posInsideDropTarget = QHighDpi::toNativePixels(QPoint(20, 20), window->screen());
+ auto posInsideLabel = QHighDpi::toNativePixels(QPoint(60, 60), window->screen());
+
+ // Enter DropTarget.
+ QWindowSystemInterface::handleDrag(window, &mimeData, posInsideDropTarget, supportedActions, 0, 0);
+ // Enter QLabel. This will propagate because default QLabel does
+ // not accept the drop event in dragEnterEvent().
+ QWindowSystemInterface::handleDrag(window, &mimeData, posInsideLabel, supportedActions, 0, 0);
+ // Drop on QLabel. DropTarget will get dropEvent(), because it accepted the event.
+ QWindowSystemInterface::handleDrop(window, &mimeData, posInsideLabel, supportedActions, 0, 0);
+
+ QGuiApplication::processEvents();
+
+ QCOMPARE(target.mDndEvents, "enter leave enter drop ");
+}
#endif
void tst_QWidget_window::tst_qtbug35600()
diff --git a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
index 587e8a080d..a552c91928 100644
--- a/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
+++ b/tests/auto/widgets/styles/qstyle/tst_qstyle.cpp
@@ -197,7 +197,7 @@ void tst_QStyle::drawItemPixmap()
const QRgb green = QColor(Qt::green).rgb();
QVERIFY(image.reinterpretAsFormat(QImage::Format_RGB32));
const QRgb *bits = reinterpret_cast<const QRgb *>(image.constBits());
- const QRgb *end = bits + image.byteCount() / sizeof(QRgb);
+ const QRgb *end = bits + image.sizeInBytes() / sizeof(QRgb);
#ifdef Q_OS_WINRT
QEXPECT_FAIL("", "QWidget::resize does not work on WinRT", Continue);
#endif
diff --git a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp
index bfef9d2ac4..61b1fed1f8 100644
--- a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp
+++ b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp
@@ -741,9 +741,9 @@ void tst_QStyleSheetStyle::fontPropagation()
QCOMPARE(FONTSIZE(pb), 20);
QWidget window;
- window.setStyleSheet("* { font-size: 10pt }");
+ window.setStyleSheet("* { font-size: 9pt }");
pb.setParent(&window);
- QCOMPARE(FONTSIZE(pb), 10);
+ QCOMPARE(FONTSIZE(pb), 9);
window.setStyleSheet(QString());
QCOMPARE(FONTSIZE(pb), buttonFontSize);
@@ -2085,7 +2085,8 @@ void tst_QStyleSheetStyle::highdpiImages()
QFETCH(QColor, color);
QWidget w;
- QScreen *screen = QGuiApplication::screenAt(w.pos());
+ QScreen *screen = QGuiApplication::primaryScreen();
+ w.move(screen->availableGeometry().topLeft());
QHighDpiScaling::setScreenFactor(screen, screenFactor);
w.setStyleSheet("QWidget { background-image: url(\":/images/testimage.png\"); }");
w.show();
diff --git a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
index ad64f1aef7..8bb16cc9d1 100644
--- a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
@@ -1595,27 +1595,16 @@ void tst_QCompleter::task247560_keyboardNavigation()
}
// Helpers for QTBUG_14292_filesystem: Recursion helper for below recurseTreeModel
-template <class Function>
-bool recurseTreeModelIndex(const QModelIndex &idx, Function f, int depth = 0)
-{
- if (f(idx, depth))
- return true;
- const int rowCount = idx.model()->rowCount(idx);
- for (int row = 0; row < rowCount; ++row)
- if (recurseTreeModelIndex(idx.child(row, 0), f, depth + 1))
- return true;
- return false;
-}
-
// Function to recurse over a tree model applying a function
// taking index and depth, returning true to terminate recursion.
-
template <class Function>
-bool recurseTreeModel(const QAbstractItemModel &m, Function f)
+bool recurseTreeModel(const QAbstractItemModel &m, const QModelIndex &idx, Function f, int depth = 0)
{
- const int rowCount = m.rowCount(QModelIndex());
+ if (idx.isValid() && f(idx, depth))
+ return true;
+ const int rowCount = m.rowCount(idx);
for (int row = 0; row < rowCount; ++row)
- if (recurseTreeModelIndex(m.index(row, 0, QModelIndex()), f))
+ if (recurseTreeModel(m, m.index(row, 0, idx), f, depth + 1))
return true;
return false;
}
@@ -1658,7 +1647,7 @@ QDebug operator<<(QDebug d, const QAbstractItemModel &m)
{
QDebug dns = d.nospace();
dns << '\n';
- recurseTreeModel(m, DebugFunction(dns));
+ recurseTreeModel(m, QModelIndex(), DebugFunction(dns));
return d;
}
@@ -1671,8 +1660,8 @@ static const char testDir2[] = "holla";
static inline bool testFileSystemReady(const QAbstractItemModel &model)
{
- return recurseTreeModel(model, SearchFunction(QLatin1String(testDir1), QFileSystemModel::FileNameRole))
- && recurseTreeModel(model, SearchFunction(QLatin1String(testDir2), QFileSystemModel::FileNameRole));
+ return recurseTreeModel(model, QModelIndex(), SearchFunction(QLatin1String(testDir1), QFileSystemModel::FileNameRole))
+ && recurseTreeModel(model, QModelIndex(), SearchFunction(QLatin1String(testDir2), QFileSystemModel::FileNameRole));
}
void tst_QCompleter::QTBUG_14292_filesystem()
diff --git a/tests/auto/widgets/util/qscroller/tst_qscroller.cpp b/tests/auto/widgets/util/qscroller/tst_qscroller.cpp
index 43063881b2..8bdd4b4783 100644
--- a/tests/auto/widgets/util/qscroller/tst_qscroller.cpp
+++ b/tests/auto/widgets/util/qscroller/tst_qscroller.cpp
@@ -125,6 +125,7 @@ private slots:
void scrollTo();
void scroll();
void overshoot();
+ void multipleWindows();
private:
QTouchDevice *m_touchScreen = QTest::createTouchDevice();
@@ -347,9 +348,6 @@ void tst_QScroller::scrollerProperties()
void tst_QScroller::scrollTo()
{
-#ifdef Q_OS_MAC
- QSKIP("Flakey test - QTBUG-29950");
-#endif
{
tst_QScrollerWidget *sw = new tst_QScrollerWidget();
sw->scrollArea = QRectF( 0, 0, 1000, 1000 );
@@ -376,10 +374,7 @@ void tst_QScroller::scrollTo()
void tst_QScroller::scroll()
{
-#ifdef Q_OS_MAC
- QSKIP("Flakey test - QTBUG-30133");
-#endif
-#ifndef QT_NO_GESTURES
+#if QT_CONFIG(gestures) && QT_CONFIG(scroller)
// -- good case. normal scroll
tst_QScrollerWidget *sw = new tst_QScrollerWidget();
sw->scrollArea = QRectF(0, 0, 1000, 1000);
@@ -419,10 +414,7 @@ void tst_QScroller::scroll()
void tst_QScroller::overshoot()
{
-#ifdef Q_OS_MAC
- QSKIP("Flakey test - QTBUG-29950");
-#endif
-#ifndef QT_NO_GESTURES
+#if QT_CONFIG(gestures) && QT_CONFIG(scroller)
tst_QScrollerWidget *sw = new tst_QScrollerWidget();
sw->scrollArea = QRectF(0, 0, 1000, 1000);
QScroller::grabGesture(sw, QScroller::TouchGesture);
@@ -513,6 +505,39 @@ void tst_QScroller::overshoot()
#endif
}
+void tst_QScroller::multipleWindows()
+{
+#if QT_CONFIG(gestures) && QT_CONFIG(scroller)
+ QScopedPointer<tst_QScrollerWidget> sw1(new tst_QScrollerWidget());
+ sw1->scrollArea = QRectF(0, 0, 1000, 1000);
+ QScroller::grabGesture(sw1.data(), QScroller::TouchGesture);
+ sw1->setGeometry(100, 100, 400, 300);
+ QScroller *s1 = QScroller::scroller(sw1.data());
+ kineticScroll(sw1.data(), QPointF(500, 500), QPoint(0, 0), QPoint(100, 100), QPoint(200, 200));
+ // now we should be scrolling
+ QTRY_COMPARE( s1->state(), QScroller::Scrolling );
+
+ // That was fun! Do it again!
+ QScopedPointer<tst_QScrollerWidget> sw2(new tst_QScrollerWidget());
+ sw2->scrollArea = QRectF(0, 0, 1000, 1000);
+ QScroller::grabGesture(sw2.data(), QScroller::TouchGesture);
+ sw2->setGeometry(100, 100, 400, 300);
+ QScroller *s2 = QScroller::scroller(sw2.data());
+ kineticScroll(sw2.data(), QPointF(500, 500), QPoint(0, 0), QPoint(100, 100), QPoint(200, 200));
+ // now we should be scrolling
+ QTRY_COMPARE( s2->state(), QScroller::Scrolling );
+
+ // wait for both to stop
+ QTRY_VERIFY(s1->state() != QScroller::Scrolling);
+ QTRY_VERIFY(s2->state() != QScroller::Scrolling);
+
+ sw1.reset(); // destroy one window
+ sw2->reset(); // reset the other scroller's internal state
+ // make sure we can still scroll the remaining one without crashing (QTBUG-71232)
+ kineticScroll(sw2.data(), QPointF(500, 500), QPoint(0, 0), QPoint(100, 100), QPoint(200, 200));
+#endif
+}
+
QTEST_MAIN(tst_QScroller)
#include "tst_qscroller.moc"
diff --git a/tests/auto/widgets/widgets/qabstractslider/tst_qabstractslider.cpp b/tests/auto/widgets/widgets/qabstractslider/tst_qabstractslider.cpp
index 70ae453896..1a0d7a9289 100644
--- a/tests/auto/widgets/widgets/qabstractslider/tst_qabstractslider.cpp
+++ b/tests/auto/widgets/widgets/qabstractslider/tst_qabstractslider.cpp
@@ -467,160 +467,1001 @@ void tst_QAbstractSlider::keyPressed_data()
QTest::addColumn<int>("maximum");
QTest::addColumn<int>("stepSize");
QTest::addColumn<int>("pageSize");
+ QTest::addColumn<bool>("invertedAppearance");
+ QTest::addColumn<bool>("invertedControls");
QTest::addColumn<QList<Qt::Key> >("keySequence");
- QTest::addColumn<int>("expectedSliderPositionHorizontal");
- QTest::addColumn<int>("expectedSliderPositionVertical");
- QTest::addColumn<int>("expectedSliderPositionHorizontalInverted"); // :)
- QTest::addColumn<int>("expectedSliderPositionVerticalInverted");
-
+ QTest::addColumn<int>("expectedSliderPosition");
QList<Qt::Key> list;
-
list << Qt::Key_Down;
- QTest::newRow("Step down once 1") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 3 // single step size
- << 0 // page step size
- << list // key sequence
- << 7 // result in case of horizontal slider
- << 7 // result in case of vertical slider
- << 13 // result in case of inverted horiz. slider
- << 13; // result in case of inverted vertical slider
+ QTest::newRow("Step down once 1, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step down once 1, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step down once 1, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step down once 1, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step down once 1, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step down once 1, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step down once 1, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step down once 1, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
list = QList<Qt::Key>();
list << Qt::Key_Up;
- QTest::newRow("Step down once 2") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 3 // single step size
- << 0 // page step size
- << list // key sequence
- << 13 // result in case of horizontal slider
- << 13 // result in case of vertical slider
- << 7 // result in case of inverted horiz. slider
- << 7; // result in case of inverted vertical slider
-
+ QTest::newRow("Step up once 2, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step up once 2, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step up once 2, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step up once 2, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step up once 2, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step up once 2, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step up once 2, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step up once 2, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
list = QList<Qt::Key>();
list << Qt::Key_Left;
- QTest::newRow("Step left once") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 3 // single step size
- << 0 // page step size
- << list // key sequence
- << 7 // result in case of horizontal slider
- << 7 // result in case of vertical slider
- << 13 // result in case of inverted horiz. slider
- << 13; // result in case of inverted vertical slider
+ QTest::newRow("Step left once 2, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step left once 2, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step left once 2, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step left once 2, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step left once 2, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step left once 2, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step left once 2, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step left once 2, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
list = QList<Qt::Key>();
list << Qt::Key_Right;
- QTest::newRow("Step right once") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 3 // single step size
- << 0 // page step size
- << list // key sequence
- << 13 // result in case of horizontal slider
- << 13 // result in case of vertical slider
- << 7 // result in case of inverted horiz. slider
- << 7; // result in case of inverted vertical slider
+ QTest::newRow("Step right once 2, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step right once 2, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step right once 2, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step right once 2, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step right once 2, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step right once 2, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Step right once 2, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Step right once 2, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 0 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
list = QList<Qt::Key>();
list << Qt::Key_PageDown;
- QTest::newRow("Page down once") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 0 // single step size
- << 3 // page step size
- << list // key sequence
- << 7 // result in case of horizontal slider
- << 7 // result in case of vertical slider
- << 13 // result in case of inverted horiz. slider
- << 13; // result in case of inverted vertical slider
+ QTest::newRow("Page down once, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Page down once, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Page down once, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Page down once, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Page down once, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Page down once, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Page down once, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Page down once, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 13; // expected position
list = QList<Qt::Key>();
list << Qt::Key_PageUp;
- QTest::newRow("Page up once") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 0 // single step size
- << 3 // page step size
- << list // key sequence
- << 13 // result in case of horizontal slider
- << 13 // result in case of vertical slider
- << 7 // result in case of inverted horiz. slider
- << 7; // result in case of inverted vertical slider
+ QTest::newRow("Page up once, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Page up once, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Page up once, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Page up once, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Page up once, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Page up once, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 13; // expected position
+
+ QTest::newRow("Page up once, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
+
+ QTest::newRow("Page up once, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 7; // expected position
list = QList<Qt::Key>();
list << Qt::Key_Up << Qt::Key_Up << Qt::Key_PageDown << Qt::Key_PageDown << Qt::Key_Left << Qt::Key_Left
<< Qt::Key_Right << Qt::Key_Down << Qt::Key_PageUp << Qt::Key_PageUp << Qt::Key_Down << Qt::Key_Right;
- QTest::newRow("Symmetric seq") << 50 // initial position
- << 0 // minimum
- << 100 // maximum
- << 3 // single step size
- << 3 // page step size
- << list // key sequence
- << 50 // result in case of horizontal slider
- << 50 // result in case of vertical slider
- << 50 // result in case of inverted horiz. slider
- << 50; // result in case of inverted vertical slider
-
+ QTest::newRow("Symmetric seq, horizontal")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 50; // expected position
+
+ QTest::newRow("Symmetric seq, horizontal, appearance inverted")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 50; // expected position
+
+ QTest::newRow("Symmetric seq, horizontal, controls inverted")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 50; // expected position
+
+ QTest::newRow("Symmetric seq, horizontal, both inverted")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 50; // expected position
+
+ QTest::newRow("Symmetric seq, vertical")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 50; // expected position
+
+ QTest::newRow("Symmetric seq, vertical, appearance inverted")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 50; // expected position
+
+ QTest::newRow("Symmetric seq, vertical, controls inverted")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 50; // expected position
+
+ QTest::newRow("Symmetric seq, vertical, both inverted")
+ << 50 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 50; // expected position
list = QList<Qt::Key>();
list << Qt::Key_Home;
- QTest::newRow("Home") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 0 // single step size
- << 3 // page step size
- << list // key sequence
- << 0 // result in case of horizontal slider
- << 0 // result in case of vertical slider
- << 0 // result in case of inverted horiz. slider
- << 0; // result in case of inverted vertical slider
+ QTest::newRow("Home, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Home, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Home, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Home, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Home, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Home, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Home, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Home, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 0; // expected position
list = QList<Qt::Key>();
list << Qt::Key_End;
- QTest::newRow("End") << 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 0 // single step size
- << 3 // page step size
- << list // key sequence
- << 100 // result in case of horizontal slider
- << 100 // result in case of vertical slider
- << 100 // result in case of inverted horiz. slider
- << 100; // result in case of inverted vertical slider
+ QTest::newRow("End, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("End, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("End, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("End, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("End, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("End, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("End, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("End, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 0 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 100; // expected position
list = QList<Qt::Key>();
list << Qt::Key_End << Qt::Key_Up;
- QTest::newRow("Past end")<< 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 3 // single step size
- << 3 // page step size
- << list // key sequence
- << 100 // result in case of horizontal slider
- << 100 // result in case of vertical slider
- << 97 // result in case of inverted horiz. slider
- << 97; // result in case of inverted vertical slider
+ QTest::newRow("Past end, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("Past end, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("Past end, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 97; // expected position
+
+ QTest::newRow("Past end, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 97; // expected position
+
+ QTest::newRow("Past end, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("Past end, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 100; // expected position
+
+ QTest::newRow("Past end, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 97; // expected position
+
+ QTest::newRow("Past end, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 97; // expected position
list = QList<Qt::Key>();
list << Qt::Key_Home << Qt::Key_Down;
- QTest::newRow("Past home")<< 10 // initial position
- << 0 // minimum
- << 100 // maximum
- << 3 // single step size
- << 3 // page step size
- << list // key sequence
- << 0 // result in case of horizontal slider
- << 0 // result in case of vertical slider
- << 3 // result in case of inverted horiz. slider
- << 3; // result in case of inverted vertical slider
-
+ QTest::newRow("Past home, horizontal")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Past home, horizontal, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Past home, horizontal, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 3; // expected position
+
+ QTest::newRow("Past home, horizontal, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 3; // expected position
+
+ QTest::newRow("Past home, vertical")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Past home, vertical, appearance inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << false// inverted controls
+ << list // key sequence
+ << 0; // expected position
+
+ QTest::newRow("Past home, vertical, controls inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << false// inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 3; // expected position
+
+ QTest::newRow("Past home, vertical, both inverted")
+ << 10 // initial position
+ << 0 // minimum
+ << 100 // maximum
+ << 3 // single step size
+ << 3 // page step size
+ << true // inverted appearance
+ << true // inverted controls
+ << list // key sequence
+ << 3; // expected position
}
void tst_QAbstractSlider::keyPressed()
@@ -630,60 +1471,22 @@ void tst_QAbstractSlider::keyPressed()
QFETCH(int, maximum);
QFETCH(int, stepSize);
QFETCH(int, pageSize);
+ QFETCH(bool, invertedAppearance);
+ QFETCH(bool, invertedControls);
QFETCH(QList<Qt::Key>, keySequence);
- QFETCH(int, expectedSliderPositionHorizontal);
- QFETCH(int, expectedSliderPositionVertical);
- QFETCH(int, expectedSliderPositionHorizontalInverted);
- QFETCH(int, expectedSliderPositionVerticalInverted);
+ QFETCH(int, expectedSliderPosition);
- // Horizontal non-inverted
slider->setRange(minimum,maximum);
slider->setSliderPosition(initialSliderPosition);
slider->setSingleStep(stepSize);
slider->setPageStep(pageSize);
slider->setOrientation(Qt::Horizontal);
- slider->setInvertedAppearance(false);
- slider->setInvertedControls(false);
+ slider->setInvertedAppearance(invertedAppearance);
+ slider->setInvertedControls(invertedControls);
for (int i=0;i<keySequence.count();i++) {
QTest::keyClick(slider, keySequence.at(i));
}
- QCOMPARE(slider->sliderPosition(), expectedSliderPositionHorizontal);
-
- // Horizontal inverted
- slider->setRange(minimum,maximum);
- slider->setSliderPosition(initialSliderPosition);
- slider->setSingleStep(stepSize);
- slider->setPageStep(pageSize);
- slider->setOrientation(Qt::Horizontal);
- slider->setInvertedAppearance(true);
- slider->setInvertedControls(true);
- for (int i=0;i<keySequence.count();i++)
- QTest::keyPress(slider, keySequence.at(i));
- QCOMPARE(slider->sliderPosition(), expectedSliderPositionHorizontalInverted);
-
- // Vertical non-inverted
- slider->setRange(minimum,maximum);
- slider->setSliderPosition(initialSliderPosition);
- slider->setSingleStep(stepSize);
- slider->setPageStep(pageSize);
- slider->setOrientation(Qt::Vertical);
- slider->setInvertedAppearance(false);
- slider->setInvertedControls(false);
- for (int i=0;i<keySequence.count();i++)
- QTest::keyPress(slider, keySequence.at(i));
- QCOMPARE(slider->sliderPosition(), expectedSliderPositionVertical);
-
- // Vertical inverted
- slider->setRange(minimum,maximum);
- slider->setSliderPosition(initialSliderPosition);
- slider->setSingleStep(stepSize);
- slider->setPageStep(pageSize);
- slider->setOrientation(Qt::Vertical);
- slider->setInvertedAppearance(true);
- slider->setInvertedControls(true);
- for (int i=0;i<keySequence.count();i++)
- QTest::keyPress(slider, keySequence.at(i));
- QCOMPARE(slider->sliderPosition(), expectedSliderPositionVerticalInverted);
+ QCOMPARE(slider->sliderPosition(), expectedSliderPosition);
}
#if QT_CONFIG(wheelevent)
diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
index 943fb997cd..5b4761ba87 100644
--- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
@@ -1671,6 +1671,13 @@ void tst_QComboBox::setCustomModelAndView()
QTRY_VERIFY(combo.view()->isVisible());
const QRect subItemRect = view->visualRect(model->indexFromItem(subItem));
QWidget *window = view->window();
+
+ // QComboBox sometimes ignores the mouse click event for doubleClickInterval
+ // depending on which tests have been run previously. On arm this happens
+ // more often than on x86. Search for maybeIgnoreMouseButtonRelease to see
+ // why this happens.
+ QTest::qWait(QApplication::doubleClickInterval());
+
QTest::mouseClick(window->windowHandle(), Qt::LeftButton, 0, view->mapTo(window, subItemRect.center()));
#ifdef Q_OS_WINRT
QEXPECT_FAIL("", "Fails on WinRT - QTBUG-68297", Abort);
@@ -3421,6 +3428,11 @@ void tst_QComboBox::task_QTBUG_52027_mapCompleterIndex()
model->setFilterFixedString("foobar1");
completer->setModel(model);
+ if (QGuiApplication::platformName() == "offscreen") {
+ QWARN("Offscreen platform requires explicit activateWindow()");
+ cbox.activateWindow();
+ }
+
QApplication::setActiveWindow(&cbox);
QVERIFY(QTest::qWaitForWindowActive(&cbox));
diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
index e2f1307eb1..b5ef454b14 100644
--- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
+++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
@@ -823,7 +823,7 @@ void tst_QDateTimeEdit::displayFormat_data()
<< QString("31 12 2999::59:59:03") << dt;
QTest::newRow("valid-2") << QString("hh-dd-mm-MM-yy") << true << QString("03-31-59-12-99") << dt;
QTest::newRow("valid-3") << QString("ddd MM d yyyy::ss:mm:hh") << true
- << QDate::shortDayName(2) + " 12 31 2999::59:59:03" << dt;
+ << QLocale::system().dayName(2, QLocale::ShortFormat) + " 12 31 2999::59:59:03" << dt;
QTest::newRow("valid-4") << QString("hh-dd-mm-MM-yyyy") << true << QString("03-31-59-12-2999") << dt;
QTest::newRow("invalid-0") << QString("yyyy.MM.yy") << true << QString("2999.12.99") << dt;
QTest::newRow("invalid-1") << QString("y") << false << QString() << dt;
@@ -2611,9 +2611,13 @@ void tst_QDateTimeEdit::weirdCase()
void tst_QDateTimeEdit::newCase()
{
- if (QDate::shortMonthName(6) != "Jun" || QDate::shortMonthName(7) != "Jul" ||
- QDate::longMonthName(6) != "June" || QDate::longMonthName(7) != "July")
+ const auto locale = QLocale::system();
+ if (locale.monthName(6, QLocale::ShortFormat) != "Jun" ||
+ locale.monthName(7, QLocale::ShortFormat) != "Jul" ||
+ locale.monthName(6, QLocale::LongFormat) != "June" ||
+ locale.monthName(7, QLocale::LongFormat) != "July") {
QSKIP("This test only works in English");
+ }
testWidget->setDisplayFormat("MMMM'a'MbMMMcMM");
testWidget->setDate(QDate(2005, 6, 1));
@@ -2656,12 +2660,12 @@ void tst_QDateTimeEdit::newCase2()
testWidget->setDate(QDate(2005, 8, 8));
QTest::keyClick(testWidget, Qt::Key_Return);
QTest::keyClick(testWidget, Qt::Key_Backspace);
- QCOMPARE(testWidget->text(), QString(" 2005-08-08 ") + QDate::longMonthName(8));
+ QCOMPARE(testWidget->text(), QString(" 2005-08-08 ") + QLocale::system().monthName(8, QLocale::LongFormat));
}
void tst_QDateTimeEdit::newCase3()
{
- if (!QDate::longMonthName(1).startsWith("Januar"))
+ if (!QLocale::system().monthName(1, QLocale::LongFormat).startsWith("Januar"))
QSKIP("This test does not work in this locale");
testWidget->setDisplayFormat("dd MMMM yyyy");
@@ -2681,7 +2685,7 @@ void tst_QDateTimeEdit::newCase3()
void tst_QDateTimeEdit::cursorPos()
{
- if (QDate::longMonthName(1) != "January")
+ if (QLocale::system().monthName(1, QLocale::LongFormat) != "January")
QSKIP("This test only works in English");
testWidget->setDisplayFormat("dd MMMM yyyy");
@@ -3017,7 +3021,7 @@ void tst_QDateTimeEdit::yyTest()
testWidget->setDate(testWidget->minimumDate());
testWidget->setCurrentSection(QDateTimeEdit::YearSection);
- QString jan = QDate::shortMonthName(1);
+ QString jan = QLocale::system().monthName(1, QLocale::ShortFormat);
QCOMPARE(testWidget->lineEdit()->displayText(), "01-" + jan + "-05");
QTest::keyClick(testWidget, Qt::Key_Up);
QCOMPARE(testWidget->lineEdit()->displayText(), "01-" + jan + "-06");
@@ -3130,7 +3134,7 @@ void tst_QDateTimeEdit::ddMMMMyyyy()
#ifdef Q_OS_MAC
QEXPECT_FAIL("", "QTBUG-23674", Abort);
#endif
- QCOMPARE(testWidget->lineEdit()->text(), "01." + QDate::longMonthName(1) + ".200");
+ QCOMPARE(testWidget->lineEdit()->text(), "01." + QLocale::system().monthName(1, QLocale::LongFormat) + ".200");
}
void tst_QDateTimeEdit::wheelEvent_data()
@@ -3848,7 +3852,7 @@ void tst_QDateTimeEdit::dateEditCorrectSectionSize_data()
<< threeDigitDayIssueKeypresses_DayName << QString::fromLatin1("00/2/Tuesday");
QTest::newRow("no fixday, leap, yy/M/ddd") << defaultLocale << defaultDate << QString::fromLatin1("yy/M/ddd")
- << threeDigitDayIssueKeypresses_DayName << QString::fromLatin1("00/2/Tue.");
+ << threeDigitDayIssueKeypresses_DayName << QString::fromLatin1("00/2/Tue");
QTest::newRow("no fixday, leap, yy/MM/dddd") << defaultLocale << defaultDate << QString::fromLatin1("yy/MM/dddd")
<< threeDigitDayIssueKeypresses_DayName << QString::fromLatin1("00/02/Tuesday");
@@ -3896,13 +3900,13 @@ void tst_QDateTimeEdit::dateEditCorrectSectionSize_data()
<< threeDigitDayIssueKeypresses_YearDayMonth << QString::fromLatin1("2000/29/2");
QTest::newRow("fixday, leap, yyyy/MMM/dd") << defaultLocale << defaultDate << QString::fromLatin1("yyyy/MMM/dd")
- << threeDigitDayIssueKeypresses_ShortMonthName << QString::fromLatin1("2000/Feb./29");
+ << threeDigitDayIssueKeypresses_ShortMonthName << QString::fromLatin1("2000/Feb/29");
QTest::newRow("fixday, leap, yyyy/MMM/d") << defaultLocale << defaultDate << QString::fromLatin1("yyyy/MMM/d")
- << threeDigitDayIssueKeypresses_ShortMonthName << QString::fromLatin1("2000/Feb./29");
+ << threeDigitDayIssueKeypresses_ShortMonthName << QString::fromLatin1("2000/Feb/29");
QTest::newRow("fixday, leap, yy/MMM/dd") << defaultLocale << defaultDate << QString::fromLatin1("yy/MMM/dd")
- << threeDigitDayIssueKeypresses_ShortMonthName << QString::fromLatin1("00/Feb./29");
+ << threeDigitDayIssueKeypresses_ShortMonthName << QString::fromLatin1("00/Feb/29");
QTest::newRow("fixday, leap, yyyy/dddd/M") << defaultLocale << defaultDate << QString::fromLatin1("yyyy/dddd/M")
<< threeDigitDayIssueKeypresses_DayName_YearDayMonth << QString::fromLatin1("2000/Tuesday/2");
@@ -3977,16 +3981,16 @@ void tst_QDateTimeEdit::dateEditCorrectSectionSize_data()
<< threeDigitDayIssueKeypresses_MonthYearDay << QString::fromLatin1("02/2000/29");
QTest::newRow("fixday, leap, MMM/yy/d") << defaultLocale << defaultDate << QString::fromLatin1("MMM/yy/d")
- << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb./00/29");
+ << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb/00/29");
QTest::newRow("fixday, leap, MMM/yyyy/d") << defaultLocale << defaultDate << QString::fromLatin1("MMM/yyyy/d")
- << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb./2000/29");
+ << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb/2000/29");
QTest::newRow("fixday, MMM/yyyy/d") << defaultLocale << defaultDate.addYears(1) << QString::fromLatin1("MMM/yyyy/d")
- << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb./2001/28");
+ << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb/2001/28");
QTest::newRow("fixday, leap, MMM/yyyy/dd") << defaultLocale << defaultDate << QString::fromLatin1("MMM/yyyy/dd")
- << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb./2000/29");
+ << threeDigitDayIssueKeypresses_ShortMonthName_MonthYearDay << QString::fromLatin1("Feb/2000/29");
QTest::newRow("fixday, leap, dddd, dd. MMMM yyyy") << defaultLocale
<< defaultDate << QString::fromLatin1("dddd, dd. MMMM yyyy")
diff --git a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
index 078a3215fd..f8ce6a2c0a 100644
--- a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
+++ b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
@@ -71,6 +71,7 @@ private slots:
void restoreStateOfFloating();
void restoreDockWidget();
void restoreStateWhileStillFloating();
+ void setWindowTitle();
// task specific tests:
void task165177_deleteFocusWidget();
void task169808_setFloating();
@@ -993,7 +994,54 @@ void tst_QDockWidget::taskQTBUG_9758_undockedGeometry()
QVERIFY(dock1.y() >= 0);
}
+void tst_QDockWidget::setWindowTitle()
+{
+ QMainWindow window;
+ QDockWidget dock1(&window);
+ QDockWidget dock2(&window);
+ const QString dock1Title = QStringLiteral("&Window");
+ const QString dock2Title = QStringLiteral("&Modifiable Window [*]");
+
+ dock1.setWindowTitle(dock1Title);
+ dock2.setWindowTitle(dock2Title);
+ window.addDockWidget(Qt::RightDockWidgetArea, &dock1);
+ window.addDockWidget(Qt::RightDockWidgetArea, &dock2);
+ window.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&window));
+ QCOMPARE(dock1.windowTitle(), dock1Title);
+ QCOMPARE(dock2.windowTitle(), dock2Title);
+
+ dock1.setFloating(true);
+ dock1.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&dock1));
+ QCOMPARE(dock1.windowTitle(), dock1Title);
+ dock1.setFloating(false);
+ QCOMPARE(dock1.windowTitle(), dock1Title);
+ dock1.setFloating(true);
+ dock1.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&dock1));
+ const QString changed = QStringLiteral("Changed ");
+ dock1.setWindowTitle(QString(changed + dock1Title));
+ QCOMPARE(dock1.windowTitle(), QString(changed + dock1Title));
+ dock1.setFloating(false);
+ QCOMPARE(dock1.windowTitle(), QString(changed + dock1Title));
+
+ dock2.setWindowModified(true);
+ QCOMPARE(dock2.windowTitle(), dock2Title);
+ dock2.setFloating(true);
+ dock2.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&dock2));
+ QCOMPARE(dock2.windowTitle(), dock2Title);
+ dock2.setWindowModified(false);
+ QCOMPARE(dock2.windowTitle(), dock2Title);
+ dock2.setFloating(false);
+ QCOMPARE(dock2.windowTitle(), dock2Title);
+ dock2.setFloating(true);
+ dock2.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&dock2));
+ QCOMPARE(dock2.windowTitle(), dock2Title);
+}
QTEST_MAIN(tst_QDockWidget)
#include "tst_qdockwidget.moc"
diff --git a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
index b1610c297d..b101f47bcd 100644
--- a/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
+++ b/tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp
@@ -326,14 +326,26 @@ void tst_QDoubleSpinBox::setPrefixSuffix()
QDoubleSpinBox spin(0);
spin.setDecimals(decimals);
+ const QSize size1 = spin.sizeHint();
spin.setPrefix(prefix);
+ const QSize size2 = spin.sizeHint();
spin.setSuffix(suffix);
+ const QSize size3 = spin.sizeHint();
spin.setValue(value);
if (show)
spin.show();
QCOMPARE(spin.text(), expectedText);
QCOMPARE(spin.cleanText(), expectedCleanText);
+
+ if (!prefix.isEmpty() && !suffix.isEmpty()) {
+ QVERIFY(size1.width() < size2.width());
+ QVERIFY(size2.width() < size3.width());
+ spin.setSuffix(QString());
+ QCOMPARE(spin.sizeHint(), size2);
+ spin.setPrefix(QString());
+ QCOMPARE(spin.sizeHint(), size1);
+ }
}
void tst_QDoubleSpinBox::valueChangedHelper(const QString &text)
diff --git a/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp b/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp
index e6e689336a..657a1ea55c 100644
--- a/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp
+++ b/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp
@@ -32,6 +32,8 @@
#include <qcoreapplication.h>
#include <qdebug.h>
#include <qfocusframe.h>
+#include <qtableview.h>
+#include <qstandarditemmodel.h>
class tst_QFocusFrame : public QObject
{
@@ -43,6 +45,7 @@ public:
private slots:
void getSetCheck();
+ void focusFrameInsideScrollview();
};
tst_QFocusFrame::tst_QFocusFrame()
@@ -68,5 +71,41 @@ void tst_QFocusFrame::getSetCheck()
delete obj1;
}
+void tst_QFocusFrame::focusFrameInsideScrollview()
+{
+ // Make sure that the focus frame follows the widget, even
+ // if the widget is inside a QAbstractItemView. A QAbstractItemView will scroll
+ // all the children, including the focus frame, when it scrolls, which
+ // is why special considerations are taken inside the focus frame to
+ // prevent the frame to scroll away from the widget it tracks.
+
+ if (qApp->style()->objectName() != QLatin1String("macintosh"))
+ QSKIP("This test is only valid when using a style that has a focus frame");
+
+ QWidget window;
+ window.setGeometry(100, 100, 500, 500);
+
+ QTableView tableView(&window);
+ tableView.resize(window.size());
+ QStandardItemModel *itemModel = new QStandardItemModel();
+ for (int i = 0; i < 50; ++i)
+ itemModel->appendRow(new QStandardItem("Value"));
+ tableView.setModel(itemModel);
+ tableView.edit(itemModel->index(8, 0));
+
+ window.show();
+ QFocusFrame *focusFrame = nullptr;
+ QTRY_VERIFY(focusFrame = window.findChild<QFocusFrame *>());
+ const QPoint initialOffset = focusFrame->widget()->mapToGlobal(QPoint()) - focusFrame->mapToGlobal(QPoint());
+
+ tableView.scrollTo(itemModel->index(40, 0));
+ QPoint offsetAfterScroll = focusFrame->widget()->mapToGlobal(QPoint()) - focusFrame->mapToGlobal(QPoint());
+ QCOMPARE(offsetAfterScroll, initialOffset);
+
+ tableView.scrollTo(itemModel->index(0, 0));
+ offsetAfterScroll = focusFrame->widget()->mapToGlobal(QPoint()) - focusFrame->mapToGlobal(QPoint());
+ QCOMPARE(offsetAfterScroll, initialOffset);
+}
+
QTEST_MAIN(tst_QFocusFrame)
#include "tst_qfocusframe.moc"
diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
index 448e2030bc..7861065de9 100644
--- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
@@ -3615,6 +3615,14 @@ void tst_QLineEdit::task174640_editingFinished()
le2->setFocus();
QTRY_VERIFY(le2->hasFocus());
+ // editingFinished will not be emitted anew because no editing happened
+ QCOMPARE(editingFinishedSpy.count(), 0);
+
+ le1->setFocus();
+ QTRY_VERIFY(le1->hasFocus());
+ QTest::keyPress(le1, Qt::Key_Plus);
+ le2->setFocus();
+ QTRY_VERIFY(le2->hasFocus());
QCOMPARE(editingFinishedSpy.count(), 1);
editingFinishedSpy.clear();
@@ -3632,6 +3640,8 @@ void tst_QLineEdit::task174640_editingFinished()
delete testMenu1;
QCOMPARE(editingFinishedSpy.count(), 0);
QTRY_VERIFY(le1->hasFocus());
+ // Ensure le1 has been edited
+ QTest::keyPress(le1, Qt::Key_Plus);
QMenu *testMenu2 = new QMenu(le2);
testMenu2->addAction("foo2");
@@ -4451,10 +4461,11 @@ void tst_QLineEdit::clearButtonVisibleAfterSettingText_QTBUG_45518()
QTRY_VERIFY(clearButton->opacity() > 0);
QTRY_COMPARE(clearButton->cursor().shape(), Qt::ArrowCursor);
- QTest::mouseClick(clearButton, Qt::LeftButton, 0, clearButton->rect().center());
+ QTest::mouseClick(clearButton, Qt::LeftButton, nullptr, clearButton->rect().center());
QTRY_COMPARE(edit.text(), QString());
QTRY_COMPARE(clearButton->opacity(), qreal(0));
+ QVERIFY(clearButton->isHidden());
QTRY_COMPARE(clearButton->cursor().shape(), clearButton->parentWidget()->cursor().shape());
edit.setClearButtonEnabled(false);
diff --git a/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp b/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp
index 1acf07301c..ea96322654 100644
--- a/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp
+++ b/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp
@@ -1343,8 +1343,10 @@ void tst_QMainWindow::restoreState()
{
QMainWindow mw;
QToolBar tb(&mw);
+ tb.setObjectName(QLatin1String("toolBar"));
mw.addToolBar(Qt::TopToolBarArea, &tb);
QDockWidget dw(&mw);
+ dw.setObjectName(QLatin1String("dock"));
mw.addDockWidget(Qt::LeftDockWidgetArea, &dw);
QByteArray state;
diff --git a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
index 6cc19051d2..046899ce05 100644
--- a/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
+++ b/tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp
@@ -333,6 +333,7 @@ void tst_QMdiArea::subWindowActivated()
for ( i = 0; i < count; ++i ) {
QWidget *widget = new QWidget(workspace, 0);
widget->setAttribute(Qt::WA_DeleteOnClose);
+ widget->setFocus();
workspace->addSubWindow(widget)->show();
widget->show();
qApp->processEvents();
@@ -1689,14 +1690,16 @@ void tst_QMdiArea::tileSubWindows()
workspace.setActiveSubWindow(0);
QVERIFY(workspace.viewport()->childrenRect() != workspace.viewport()->rect());
- // Make sure the active window is placed in top left corner regardless
+ // Make sure the active window does not move position after a tile regardless
// of whether we have any windows with staysOnTopHint or not.
+ workspace.tileSubWindows();
windows.at(3)->setWindowFlags(windows.at(3)->windowFlags() | Qt::WindowStaysOnTopHint);
QMdiSubWindow *activeSubWindow = windows.at(6);
workspace.setActiveSubWindow(activeSubWindow);
QCOMPARE(workspace.activeSubWindow(), activeSubWindow);
+ QPoint pos = activeSubWindow->geometry().topLeft();
workspace.tileSubWindows();
- QCOMPARE(activeSubWindow->geometry().topLeft(), QPoint(0, 0));
+ QCOMPARE(activeSubWindow->geometry().topLeft(), pos);
// Verify that we try to resize the area such that all sub-windows are visible.
// It's important that tiled windows are NOT overlapping.
@@ -1713,6 +1716,8 @@ void tst_QMdiArea::tileSubWindows()
// Prevent scrollbars from messing up the expected viewport calculation below
workspace.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
workspace.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ QCOMPARE(workspace.horizontalScrollBarPolicy(), Qt::ScrollBarAlwaysOff);
+ QCOMPARE(workspace.verticalScrollBarPolicy(), Qt::ScrollBarAlwaysOff);
workspace.tileSubWindows();
// The sub-windows are now tiled like this:
@@ -1731,9 +1736,11 @@ void tst_QMdiArea::tileSubWindows()
const QSize expectedViewportSize(3 * minSize.width() + spacing, 3 * minSize.height() + spacing);
QTRY_COMPARE(workspace.viewport()->rect().size(), expectedViewportSize);
- // Restore original scrollbar behavior for test below
+ // Enable scroll bar for test below (default property for QMdiArea is Qt::ScrollBarAlwaysOff)
workspace.setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
workspace.setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+ QCOMPARE(workspace.horizontalScrollBarPolicy(), Qt::ScrollBarAsNeeded);
+ QCOMPARE(workspace.verticalScrollBarPolicy(), Qt::ScrollBarAsNeeded);
// Not enough space for all sub-windows to be visible -> provide scroll bars.
workspace.resize(160, 150);
@@ -1754,13 +1761,16 @@ void tst_QMdiArea::tileSubWindows()
QCOMPARE(vBar->value(), 0);
QCOMPARE(vBar->minimum(), 0);
+ // Tile windows with scroll bars enabled.
workspace.tileSubWindows();
QVERIFY(QTest::qWaitForWindowExposed(&workspace));
qApp->processEvents();
- QTRY_VERIFY(workspace.size() != QSize(150, 150));
- QTRY_VERIFY(!vBar->isVisible());
- QTRY_VERIFY(!hBar->isVisible());
+ // Workspace should not have changed size after tile.
+ QTRY_VERIFY(workspace.size() == QSize(160, 150));
+ // Scroll bars should be visible.
+ QTRY_VERIFY(vBar->isVisible());
+ QTRY_VERIFY(hBar->isVisible());
}
void tst_QMdiArea::cascadeAndTileSubWindows()
@@ -2180,7 +2190,7 @@ void tst_QMdiArea::setActivationOrder_data()
list << 2 << 1 << 0 << 1 << 2 << 3 << 4;
list2 << 0 << 1 << 2 << 3 << 4;
- list3 << 1 << 4 << 3 << 1 << 2 << 0;
+ list3 << 4 << 3 << 2 << 4 << 1 << 0; // Most recently created window is in top-left position
QTest::newRow("CreationOrder") << QMdiArea::CreationOrder << 5 << 3 << 1 << list << list2 << list3;
list = QList<int>();
@@ -2188,7 +2198,7 @@ void tst_QMdiArea::setActivationOrder_data()
list2 = QList<int>();
list2 << 0 << 2 << 4 << 1 << 3;
list3 = QList<int>();
- list3 << 1 << 3 << 4 << 1 << 2 << 0;
+ list3 << 3 << 1 << 4 << 3 << 2 << 0; // Window with "stays-on-top" flag set will be in the top-left position
QTest::newRow("StackingOrder") << QMdiArea::StackingOrder << 5 << 3 << 1 << list << list2 << list3;
list = QList<int>();
diff --git a/tests/auto/widgets/widgets/qmenu/BLACKLIST b/tests/auto/widgets/widgets/qmenu/BLACKLIST
index 89d12a259f..bac14ea225 100644
--- a/tests/auto/widgets/widgets/qmenu/BLACKLIST
+++ b/tests/auto/widgets/widgets/qmenu/BLACKLIST
@@ -1,7 +1,6 @@
[task258920_mouseBorder]
osx
[submenuTearOffDontClose]
-osx-10.11 ci
osx-10.12 ci
[layoutDirection]
# Fails when enabling synchronous expose events QTBUG-62092
diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
index 634e258250..3bfbe754ef 100644
--- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
+++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
@@ -1001,7 +1001,7 @@ void tst_QMenu::task258920_mouseBorder()
menu.setMouseTracking(true);
QAction *action = menu.addAction("test");
- const QPoint center = QApplication::desktop()->availableGeometry().center();
+ const QPoint center = QGuiApplication::primaryScreen()->availableGeometry().center();
menu.popup(center);
QVERIFY(QTest::qWaitForWindowExposed(&menu));
QRect actionRect = menu.actionGeometry(action);
@@ -1073,9 +1073,9 @@ void tst_QMenu::pushButtonPopulateOnAboutToShow()
QMenu *buttonMenu= new PopulateOnAboutToShowTestMenu(&b);
b.setMenu(buttonMenu);
- const int scrNumber = QApplication::desktop()->screenNumber(&b);
+ const QScreen *scr = QGuiApplication::screenAt(b.pos());
b.show();
- const QRect screen = QApplication::desktop()->screenGeometry(scrNumber);
+ const QRect screen = scr->geometry();
QRect desiredGeometry = b.geometry();
desiredGeometry.moveTopLeft(QPoint(screen.x() + 10, screen.bottom() - b.height() - 5));
@@ -1450,13 +1450,14 @@ void tst_QMenu::QTBUG_56917_wideMenuScreenNumber()
QString longString;
longString.fill(QLatin1Char('Q'), 3000);
- for (int i = 0; i < QApplication::desktop()->screenCount(); i++) {
+ const QList<QScreen *> screens = QGuiApplication::screens();
+ for (QScreen *screen : screens) {
QMenu menu;
menu.addAction(longString);
- menu.popup(QApplication::desktop()->screen(i)->geometry().center());
+ menu.popup(screen->geometry().center());
QVERIFY(QTest::qWaitForWindowExposed(&menu));
QVERIFY(menu.isVisible());
- QCOMPARE(QApplication::desktop()->screenNumber(&menu), i);
+ QCOMPARE(QGuiApplication::screenAt(menu.pos()), screen);
}
}
@@ -1468,19 +1469,20 @@ void tst_QMenu::QTBUG_56917_wideSubmenuScreenNumber()
QString longString;
longString.fill(QLatin1Char('Q'), 3000);
- for (int i = 0; i < QApplication::desktop()->screenCount(); i++) {
+ const QList<QScreen *> screens = QGuiApplication::screens();
+ for (QScreen *screen : screens) {
QMenu menu;
QMenu submenu("Submenu");
submenu.addAction(longString);
QAction *action = menu.addMenu(&submenu);
- menu.popup(QApplication::desktop()->screen(i)->geometry().center());
+ menu.popup(screen->geometry().center());
QVERIFY(QTest::qWaitForWindowExposed(&menu));
QVERIFY(menu.isVisible());
QTest::mouseClick(&menu, Qt::LeftButton, 0, menu.actionGeometry(action).center());
QTest::qWait(100);
QVERIFY(QTest::qWaitForWindowExposed(&submenu));
QVERIFY(submenu.isVisible());
- QCOMPARE(QApplication::desktop()->screenNumber(&submenu), i);
+ QCOMPARE(QGuiApplication::screenAt(submenu.pos()), screen);
}
}
@@ -1577,6 +1579,13 @@ void tst_QMenu::menuSize_Scrolling()
#ifdef Q_OS_WINRT
QEXPECT_FAIL("", "Broken on WinRT - QTBUG-68297", Abort);
#endif
+ if (!QGuiApplication::platformName().compare(QLatin1String("minimal"), Qt::CaseInsensitive)
+ || !QGuiApplication::platformName().compare(QLatin1String("offscreen"), Qt::CaseInsensitive)) {
+ QWARN("Skipping test on minimal/offscreen platforms - QTBUG-73522");
+ QMenu::showEvent(e);
+ return;
+ }
+
QCOMPARE( s.width(), lastItem.right() + fw + hmargin + rightMargin + 1);
QMenu::showEvent(e);
}
diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp
index 3063d43aa6..cb829c81a6 100644
--- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp
+++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp
@@ -326,7 +326,7 @@ TestMenu tst_QMenuBar::initComplexMenuBar(QMenuBar *mb)
connect(action, SIGNAL(triggered()), this, SLOT(onComplexActionTriggered()));
result.actions << action;
- qFill(m_complexTriggerCount, m_complexTriggerCount + sizeof(m_complexTriggerCount) / sizeof(int), 0);
+ std::fill(m_complexTriggerCount, m_complexTriggerCount + sizeof(m_complexTriggerCount) / sizeof(int), 0);
return result;
}
diff --git a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp
index be19cbc9d1..2ce75620cf 100644
--- a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp
+++ b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp
@@ -209,12 +209,12 @@ void tst_QPlainTextEdit::getSetCheck()
// int QPlainTextEdit::tabStopWidth()
// void QPlainTextEdit::setTabStopWidth(int)
- obj1.setTabStopWidth(0);
- QCOMPARE(0, obj1.tabStopWidth());
- obj1.setTabStopWidth(INT_MIN);
- QCOMPARE(0, obj1.tabStopWidth()); // Makes no sense to set a negative tabstop value
- obj1.setTabStopWidth(INT_MAX);
- QCOMPARE(INT_MAX, obj1.tabStopWidth());
+ obj1.setTabStopDistance(0);
+ QCOMPARE(0, obj1.tabStopDistance());
+ obj1.setTabStopDistance(-1);
+ QCOMPARE(0, obj1.tabStopDistance()); // Makes no sense to set a negative tabstop value
+ obj1.setTabStopDistance(std::numeric_limits<qreal>::max());
+ QCOMPARE(std::numeric_limits<qreal>::max(), obj1.tabStopDistance());
}
class QtTestDocumentLayout : public QAbstractTextDocumentLayout
diff --git a/tests/auto/widgets/widgets/qsizegrip/tst_qsizegrip.cpp b/tests/auto/widgets/widgets/qsizegrip/tst_qsizegrip.cpp
index 4cc1810cd4..f4b91265a4 100644
--- a/tests/auto/widgets/widgets/qsizegrip/tst_qsizegrip.cpp
+++ b/tests/auto/widgets/widgets/qsizegrip/tst_qsizegrip.cpp
@@ -59,25 +59,22 @@ class tst_QSizeGrip : public QObject
{
Q_OBJECT
public slots:
- void initTestCase();
- void cleanupTestCase();
+ void cleanup();
private slots:
void hideAndShowOnWindowStateChange_data();
void hideAndShowOnWindowStateChange();
void orientation();
void dontCrashOnTLWChange();
-
-private:
- QLineEdit *dummyWidget;
};
class TestWidget : public QWidget
{
public:
- TestWidget(QWidget *parent = 0, Qt::WindowFlags flags = 0) : QWidget(parent, flags) {}
- QSize sizeHint() const { return QSize(300, 200); }
- void changeEvent(QEvent *event)
+ using QWidget::QWidget;
+
+ QSize sizeHint() const override { return QSize(300, 200); }
+ void changeEvent(QEvent *event) override
{
QWidget::changeEvent(event);
if (isWindow() && event->type() == QEvent::WindowStateChange)
@@ -85,16 +82,9 @@ public:
}
};
-void tst_QSizeGrip::initTestCase()
-{
- dummyWidget = new QLineEdit;
- dummyWidget->show();
-}
-
-void tst_QSizeGrip::cleanupTestCase()
+void tst_QSizeGrip::cleanup()
{
- delete dummyWidget;
- dummyWidget = 0;
+ QVERIFY(QApplication::topLevelWidgets().isEmpty());
}
void tst_QSizeGrip::hideAndShowOnWindowStateChange_data()
@@ -111,46 +101,45 @@ void tst_QSizeGrip::hideAndShowOnWindowStateChange()
QSKIP("Broken on WinRT - QTBUG-68297");
#endif
- QWidget *parentWidget = windowType == Qt::Window ? 0 : new QWidget;
- TestWidget *widget = new TestWidget(parentWidget, Qt::WindowFlags(windowType));
- QSizeGrip *sizeGrip = new QSizeGrip(widget);
+ QScopedPointer<QWidget> parentWidget;
+ if (windowType != Qt::Window)
+ parentWidget.reset(new QWidget);
+ QScopedPointer<TestWidget> widget(new TestWidget(parentWidget.data(), Qt::WindowFlags(windowType)));
+ QSizeGrip *sizeGrip = new QSizeGrip(widget.data());
// Normal.
if (parentWidget)
parentWidget->show();
else
widget->show();
- QVERIFY(sizeGrip->isVisible());
+ QTRY_VERIFY(sizeGrip->isVisible());
widget->showFullScreen();
- QVERIFY(!sizeGrip->isVisible());
+ QTRY_VERIFY(!sizeGrip->isVisible());
widget->showNormal();
- QVERIFY(sizeGrip->isVisible());
+ QTRY_VERIFY(sizeGrip->isVisible());
widget->showMaximized();
#ifndef Q_OS_MAC
- QVERIFY(!sizeGrip->isVisible());
+ QTRY_VERIFY(!sizeGrip->isVisible());
#else
QEXPECT_FAIL("", "QTBUG-23681", Abort);
QVERIFY(sizeGrip->isVisible());
#endif
widget->showNormal();
- QVERIFY(sizeGrip->isVisible());
+ QTRY_VERIFY(sizeGrip->isVisible());
sizeGrip->hide();
- QVERIFY(!sizeGrip->isVisible());
+ QTRY_VERIFY(!sizeGrip->isVisible());
widget->showFullScreen();
widget->showNormal();
- QVERIFY(!sizeGrip->isVisible());
+ QTRY_VERIFY(!sizeGrip->isVisible());
widget->showMaximized();
widget->showNormal();
- QVERIFY(!sizeGrip->isVisible());
-
- delete widget;
- delete parentWidget;
+ QTRY_VERIFY(!sizeGrip->isVisible());
}
void tst_QSizeGrip::orientation()
@@ -196,10 +185,10 @@ void tst_QSizeGrip::dontCrashOnTLWChange()
QMdiArea mdiArea;
mdiArea.show();
- QMainWindow *mw = new QMainWindow();
- QMdiSubWindow *mdi = mdiArea.addSubWindow(mw);
+ QScopedPointer<QMainWindow> mw(new QMainWindow);
+ QMdiSubWindow *mdi = mdiArea.addSubWindow(mw.data());
mw->statusBar()->setSizeGripEnabled(true);
- mdiArea.removeSubWindow(mw);
+ mdiArea.removeSubWindow(mw.data());
delete mdi;
mw->show();
@@ -209,7 +198,7 @@ void tst_QSizeGrip::dontCrashOnTLWChange()
QEXPECT_FAIL("", "Broken on WinRT - QTBUG-68297", Abort);
#endif
QVERIFY(QTest::qWaitForWindowExposed(&mdiArea));
- QVERIFY(QTest::qWaitForWindowExposed(mw));
+ QVERIFY(QTest::qWaitForWindowExposed(mw.data()));
}
QTEST_MAIN(tst_QSizeGrip)
diff --git a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp
index 37bb28dec9..b9d6888263 100644
--- a/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp
+++ b/tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp
@@ -53,6 +53,8 @@
#include <QStyleOptionSpinBox>
#include <QStyle>
#include <QProxyStyle>
+#include <QScreen>
+
class SpinBox : public QSpinBox
{
@@ -204,7 +206,7 @@ private slots:
void stepModifierPressAndHold_data();
void stepModifierPressAndHold();
public slots:
- void valueChangedHelper(const QString &);
+ void textChangedHelper(const QString &);
void valueChangedHelper(int);
private:
QStringList actualTexts;
@@ -343,6 +345,14 @@ tst_QSpinBox::tst_QSpinBox()
void tst_QSpinBox::init()
{
QLocale::setDefault(QLocale(QLocale::C));
+
+#if QT_CONFIG(cursor)
+ // Ensure mouse cursor was not left by previous tests where widgets
+ // will appear, as it could cause events and interfere with the tests.
+ const QScreen *screen = QGuiApplication::primaryScreen();
+ const QRect availableGeometry = screen->availableGeometry();
+ QCursor::setPos(availableGeometry.topLeft());
+#endif
}
void tst_QSpinBox::setValue_data()
@@ -452,8 +462,11 @@ void tst_QSpinBox::setPrefixSuffix()
QFETCH(bool, show);
QSpinBox spin(0);
+ const QSize size1 = spin.sizeHint();
spin.setPrefix(prefix);
+ const QSize size2 = spin.sizeHint();
spin.setSuffix(suffix);
+ const QSize size3 = spin.sizeHint();
spin.setValue(value);
if (show)
spin.show();
@@ -462,9 +475,18 @@ void tst_QSpinBox::setPrefixSuffix()
QCOMPARE(spin.suffix(), suffix);
QCOMPARE(spin.text(), expectedText);
QCOMPARE(spin.cleanText(), expectedCleanText);
+
+ if (!prefix.isEmpty() && !suffix.isEmpty()) {
+ QVERIFY(size1.width() < size2.width());
+ QVERIFY(size2.width() < size3.width());
+ spin.setSuffix(QString());
+ QCOMPARE(spin.sizeHint(), size2);
+ spin.setPrefix(QString());
+ QCOMPARE(spin.sizeHint(), size1);
+ }
}
-void tst_QSpinBox::valueChangedHelper(const QString &text)
+void tst_QSpinBox::textChangedHelper(const QString &text)
{
actualTexts << text;
}
@@ -542,7 +564,7 @@ void tst_QSpinBox::setTracking()
QSpinBox spin(0);
spin.setKeyboardTracking(tracking);
spin.show();
- connect(&spin, SIGNAL(valueChanged(QString)), this, SLOT(valueChangedHelper(QString)));
+ connect(&spin, &QSpinBox::textChanged, this, &tst_QSpinBox::textChangedHelper);
keys.simulate(&spin);
QCOMPARE(actualTexts, texts);
diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp
index 5f5cd78215..3669935823 100644
--- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp
+++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp
@@ -282,12 +282,12 @@ void tst_QTextEdit::getSetCheck()
// int QTextEdit::tabStopWidth()
// void QTextEdit::setTabStopWidth(int)
- obj1.setTabStopWidth(0);
- QCOMPARE(0, obj1.tabStopWidth());
- obj1.setTabStopWidth(INT_MIN);
- QCOMPARE(0, obj1.tabStopWidth()); // Makes no sense to set a negative tabstop value
- obj1.setTabStopWidth(INT_MAX);
- QCOMPARE(INT_MAX, obj1.tabStopWidth());
+ obj1.setTabStopDistance(0);
+ QCOMPARE(0, obj1.tabStopDistance());
+ obj1.setTabStopDistance(-1);
+ QCOMPARE(0, obj1.tabStopDistance()); // Makes no sense to set a negative tabstop value
+ obj1.setTabStopDistance(std::numeric_limits<qreal>::max());
+ QCOMPARE(std::numeric_limits<qreal>::max(), obj1.tabStopDistance());
// bool QTextEdit::acceptRichText()
// void QTextEdit::setAcceptRichText(bool)
diff --git a/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp b/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp
index 301801ed2e..d6c165642e 100644
--- a/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp
+++ b/tests/auto/widgets/widgets/qtoolbar/tst_qtoolbar.cpp
@@ -42,6 +42,7 @@
#include <qlineedit.h>
#include <qkeysequence.h>
#include <qmenu.h>
+#include <qlabel.h>
#include <private/qtoolbarextension_p.h>
QT_FORWARD_DECLARE_CLASS(QAction)
@@ -80,6 +81,8 @@ private slots:
void task191727_layout();
void task197996_visibility();
+
+ void extraCpuConsumption(); // QTBUG-54676
};
@@ -1098,5 +1101,81 @@ void tst_QToolBar::task197996_visibility()
QTRY_VERIFY(toolBar->widgetForAction(pAction)->isVisible());
}
+class ShowHideEventCounter : public QObject
+{
+public:
+ using QObject::QObject;
+
+ bool eventFilter(QObject *watched, QEvent *event) override
+ {
+ if (qobject_cast<QLineEdit*>(watched) && !event->spontaneous()) {
+ if (event->type() == QEvent::Show)
+ ++m_showEventsCount;
+
+ if (event->type() == QEvent::Hide)
+ ++m_hideEventsCount;
+ }
+
+ return QObject::eventFilter(watched, event);
+ }
+
+ uint showEventsCount() const { return m_showEventsCount; }
+ uint hideEventsCount() const { return m_hideEventsCount; }
+
+private:
+ uint m_showEventsCount = 0;
+ uint m_hideEventsCount = 0;
+};
+
+void tst_QToolBar::extraCpuConsumption()
+{
+ QMainWindow mainWindow;
+
+ auto tb = new QToolBar(&mainWindow);
+ tb->setMovable(false);
+
+ auto extensions = tb->findChildren<QToolBarExtension *>();
+ QVERIFY(!extensions.isEmpty());
+
+ auto extensionButton = extensions.at(0);
+ QVERIFY(extensionButton);
+
+ tb->addWidget(new QLabel("Lorem ipsum dolor sit amet"));
+
+ auto le = new QLineEdit;
+ le->setClearButtonEnabled(true);
+ le->setText("Lorem ipsum");
+ tb->addWidget(le);
+
+ mainWindow.addToolBar(tb);
+ mainWindow.show();
+ QVERIFY(QTest::qWaitForWindowActive(&mainWindow));
+
+ auto eventCounter = new ShowHideEventCounter(&mainWindow);
+ le->installEventFilter(eventCounter);
+
+ auto defaultSize = mainWindow.size();
+
+ // Line edit should be hidden now and extension button should be displayed
+ for (double p = 0.7; extensionButton->isHidden() || qFuzzyCompare(p, 0.); p -= 0.01) {
+ mainWindow.resize(int(defaultSize.width() * p), defaultSize.height());
+ }
+ QVERIFY(!extensionButton->isHidden());
+
+ // Line edit should be visible, but smaller
+ for (double p = 0.75; !extensionButton->isHidden() || qFuzzyCompare(p, 1.); p += 0.01) {
+ mainWindow.resize(int(defaultSize.width() * p), defaultSize.height());
+ }
+ QVERIFY(extensionButton->isHidden());
+
+ // Dispatch all pending events
+ qApp->sendPostedEvents();
+ qApp->processEvents();
+
+ QCOMPARE(eventCounter->showEventsCount(), eventCounter->hideEventsCount());
+ QCOMPARE(eventCounter->showEventsCount(), uint(1));
+ QCOMPARE(eventCounter->hideEventsCount(), uint(1));
+}
+
QTEST_MAIN(tst_QToolBar)
#include "tst_qtoolbar.moc"
diff --git a/tests/baselineserver/shared/baselineprotocol.cpp b/tests/baselineserver/shared/baselineprotocol.cpp
index 80e269ee2a..c9f9cd9bd2 100644
--- a/tests/baselineserver/shared/baselineprotocol.cpp
+++ b/tests/baselineserver/shared/baselineprotocol.cpp
@@ -366,7 +366,7 @@ bool BaselineProtocol::connect(const QString &testCase, bool *dryrun, const Plat
if (!socket.waitForConnected(Timeout)) {
sysSleep(3000); // Wait a bit and try again, the server might just be restarting
if (!socket.waitForConnected(Timeout)) {
- errMsg += QLS("TCP connectToHost failed. Host:") + serverName + QLS(" port:") + QString::number(ServerPort);
+ errMsg += QLS("TCP connectToHost failed. Host:") + QLS(serverName) + QLS(" port:") + QString::number(ServerPort);
return false;
}
}
diff --git a/tests/baselineserver/src/baselineserver.pro b/tests/baselineserver/src/baselineserver.pro
index a77014c1e6..2d8438cb51 100644
--- a/tests/baselineserver/src/baselineserver.pro
+++ b/tests/baselineserver/src/baselineserver.pro
@@ -5,8 +5,7 @@ QT += core network
TARGET = baselineserver
DESTDIR = ../bin
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
TEMPLATE = app
diff --git a/tests/baselineserver/src/report.cpp b/tests/baselineserver/src/report.cpp
index bef957ea35..5a55fe5b37 100644
--- a/tests/baselineserver/src/report.cpp
+++ b/tests/baselineserver/src/report.cpp
@@ -32,6 +32,7 @@
#include <QProcess>
#include <QUrl>
#include <QXmlStreamWriter>
+#include <unistd.h>
Report::Report()
: initialized(false), handler(0), written(false), numItems(0), numMismatches(0), settings(0),
diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro
index 9e288f7aa2..a98b9a62c6 100644
--- a/tests/benchmarks/benchmarks.pro
+++ b/tests/benchmarks/benchmarks.pro
@@ -3,10 +3,11 @@ SUBDIRS = \
corelib \
sql \
-# removed-by-refactor qtHaveModule(opengl): SUBDIRS += opengl
qtHaveModule(dbus): SUBDIRS += dbus
-qtHaveModule(network): SUBDIRS += network
qtHaveModule(gui): SUBDIRS += gui
+qtHaveModule(network): SUBDIRS += network
+# removed-by-refactor qtHaveModule(opengl): SUBDIRS += opengl
+qtHaveModule(testlib): SUBDIRS += testlib
qtHaveModule(widgets): SUBDIRS += widgets
check-trusted.CONFIG += recursive
diff --git a/tests/benchmarks/corelib/io/qfileinfo/main.cpp b/tests/benchmarks/corelib/io/qfileinfo/main.cpp
index 104c01d118..6cc96777a1 100644
--- a/tests/benchmarks/corelib/io/qfileinfo/main.cpp
+++ b/tests/benchmarks/corelib/io/qfileinfo/main.cpp
@@ -81,7 +81,7 @@ void qfileinfo::symLinkTargetPerformanceLNK()
QString linkTarget;
QBENCHMARK {
for(int i=0; i<100; i++)
- linkTarget = info.readLink();
+ linkTarget = info.symLinkTarget();
}
QVERIFY(QFile::remove("link.lnk"));
}
@@ -104,7 +104,7 @@ void qfileinfo::symLinkTargetPerformanceMounpoint()
QString linkTarget;
QBENCHMARK {
for(int i=0; i<100; i++)
- linkTarget = info.readLink();
+ linkTarget = info.symLinkTarget();
}
QVERIFY(QDir().rmdir(mountpoint));
}
diff --git a/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro b/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro
index cb8dfdcdcb..a0230e1cb8 100644
--- a/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro
+++ b/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro
@@ -1,5 +1,5 @@
SOURCES = main.cpp
-CONFIG -= qt app_bundle
-CONFIG += console
+CONFIG -= qt
+CONFIG += cmdline
winrt: QMAKE_LFLAGS += /ENTRY:mainCRTStartup
DESTDIR = ./
diff --git a/tests/benchmarks/corelib/io/qtextstream/qtextstream.pro b/tests/benchmarks/corelib/io/qtextstream/qtextstream.pro
index 758930c139..e8170319f2 100644
--- a/tests/benchmarks/corelib/io/qtextstream/qtextstream.pro
+++ b/tests/benchmarks/corelib/io/qtextstream/qtextstream.pro
@@ -1,5 +1,5 @@
TEMPLATE = app
-TARGET = tst_bench_qtemporaryfile
+TARGET = tst_bench_qtextstream
QT = core testlib
diff --git a/tests/benchmarks/corelib/kernel/kernel.pro b/tests/benchmarks/corelib/kernel/kernel.pro
index 02eeeaa254..92f7174419 100644
--- a/tests/benchmarks/corelib/kernel/kernel.pro
+++ b/tests/benchmarks/corelib/kernel/kernel.pro
@@ -5,7 +5,8 @@ SUBDIRS = \
qmetatype \
qobject \
qvariant \
- qcoreapplication
+ qcoreapplication \
+ qtimer_vs_qmetaobject
!qtHaveModule(widgets): SUBDIRS -= \
qmetaobject \
diff --git a/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp b/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp
index 66a29780f0..6af5b8d586 100644
--- a/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp
+++ b/tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/tst_qtimer_vs_qmetaobject.cpp
@@ -28,6 +28,7 @@
#include <QtCore>
#include <QtTest/QtTest>
+#include <QThread>
#define INVOKE_COUNT 10000
@@ -35,8 +36,10 @@ class qtimer_vs_qmetaobject : public QObject
{
Q_OBJECT
private slots:
- void testZeroTimerSingleShot();
- void testQueuedInvokeMethod();
+ void bench();
+ void bench_data();
+ void benchBackgroundThread();
+ void benchBackgroundThread_data() { bench_data(); }
};
class InvokeCounter : public QObject {
@@ -47,36 +50,89 @@ public slots:
void invokeSlot() {
count++;
if (count == INVOKE_COUNT)
- QTestEventLoop::instance().exitLoop();
+ emit allInvoked();
}
+signals:
+ void allInvoked();
protected:
int count;
};
-void qtimer_vs_qmetaobject::testZeroTimerSingleShot()
+void qtimer_vs_qmetaobject::bench()
{
+ QFETCH(int, type);
+
+ std::function<void(InvokeCounter*)> invoke;
+ if (type == 0) {
+ invoke = [](InvokeCounter* invokeCounter) {
+ QTimer::singleShot(0, invokeCounter, SLOT(invokeSlot()));
+ };
+ } else if (type == 1) {
+ invoke = [](InvokeCounter* invokeCounter) {
+ QTimer::singleShot(0, invokeCounter, &InvokeCounter::invokeSlot);
+ };
+ } else if (type == 2) {
+ invoke = [](InvokeCounter* invokeCounter) {
+ QTimer::singleShot(0, invokeCounter, [invokeCounter]() {
+ invokeCounter->invokeSlot();
+ });
+ };
+ } else if (type == 3) {
+ invoke = [](InvokeCounter* invokeCounter) {
+ QTimer::singleShot(0, [invokeCounter]() {
+ invokeCounter->invokeSlot();
+ });
+ };
+ } else if (type == 4) {
+ invoke = [](InvokeCounter* invokeCounter) {
+ QMetaObject::invokeMethod(invokeCounter, "invokeSlot", Qt::QueuedConnection);
+ };
+ } else if (type == 5) {
+ invoke = [](InvokeCounter* invokeCounter) {
+ QMetaObject::invokeMethod(invokeCounter, &InvokeCounter::invokeSlot, Qt::QueuedConnection);
+ };
+ } else if (type == 6) {
+ invoke = [](InvokeCounter* invokeCounter) {
+ QMetaObject::invokeMethod(invokeCounter, [invokeCounter]() {
+ invokeCounter->invokeSlot();
+ }, Qt::QueuedConnection);
+ };
+ } else {
+ QFAIL("unhandled data tag");
+ }
+
QBENCHMARK {
InvokeCounter invokeCounter;
+ QSignalSpy spy(&invokeCounter, &InvokeCounter::allInvoked);
for(int i = 0; i < INVOKE_COUNT; ++i) {
- QTimer::singleShot(0, &invokeCounter, SLOT(invokeSlot()));
+ invoke(&invokeCounter);
}
- QTestEventLoop::instance().enterLoop(10);
- QVERIFY(!QTestEventLoop::instance().timeout());
+ QVERIFY(spy.wait(10000));
}
}
-void qtimer_vs_qmetaobject::testQueuedInvokeMethod()
+void qtimer_vs_qmetaobject::bench_data()
{
- QBENCHMARK {
- InvokeCounter invokeCounter;
- for(int i = 0; i < INVOKE_COUNT; ++i) {
- QMetaObject::invokeMethod(&invokeCounter, "invokeSlot", Qt::QueuedConnection);
- }
- QTestEventLoop::instance().enterLoop(10);
- QVERIFY(!QTestEventLoop::instance().timeout());
- }
+ QTest::addColumn<int>("type");
+ QTest::addRow("singleShot_slot") << 0;
+ QTest::addRow("singleShot_pmf") << 1;
+ QTest::addRow("singleShot_functor") << 2;
+ QTest::addRow("singleShot_functor_noctx") << 3;
+ QTest::addRow("invokeMethod_string") << 4;
+ QTest::addRow("invokeMethod_pmf") << 5;
+ QTest::addRow("invokeMethod_functor") << 6;
}
+void qtimer_vs_qmetaobject::benchBackgroundThread()
+{
+#if !QT_CONFIG(cxx11_future)
+ QSKIP("This test requires QThread::create");
+#else
+ QScopedPointer<QThread> thread(QThread::create([this]() { bench(); }));
+ thread->start();
+ QVERIFY(thread->wait());
+#endif
+}
QTEST_MAIN(qtimer_vs_qmetaobject)
diff --git a/tests/benchmarks/corelib/tools/qcryptographichash/qcryptographichash.pro b/tests/benchmarks/corelib/tools/qcryptographichash/qcryptographichash.pro
index 9c55de8b47..cf9d640f7e 100644
--- a/tests/benchmarks/corelib/tools/qcryptographichash/qcryptographichash.pro
+++ b/tests/benchmarks/corelib/tools/qcryptographichash/qcryptographichash.pro
@@ -1,5 +1,5 @@
TARGET = tst_bench_qcryptographichash
-CONFIG -= debug app_bundle
-CONFIG += release console
+CONFIG -= debug
+CONFIG += release cmdline
QT = core testlib
SOURCES += main.cpp
diff --git a/tests/benchmarks/corelib/tools/qdatetime/main.cpp b/tests/benchmarks/corelib/tools/qdatetime/main.cpp
index 2c1e3d97ae..b693400376 100644
--- a/tests/benchmarks/corelib/tools/qdatetime/main.cpp
+++ b/tests/benchmarks/corelib/tools/qdatetime/main.cpp
@@ -35,10 +35,7 @@ class tst_QDateTime : public QObject
{
Q_OBJECT
- enum
-#if defined(Q_COMPILER_CLASS_ENUM) || (defined(Q_CC_MSVC) && _MSC_VER >= 1700)
- : qint64
-#endif
+ enum : qint64
{
SECS_PER_DAY = 86400,
MSECS_PER_DAY = 86400000,
diff --git a/tests/benchmarks/corelib/tools/qmap/qmap.pro b/tests/benchmarks/corelib/tools/qmap/qmap.pro
index 6a0c8d62bd..6c9bf5e8d6 100644
--- a/tests/benchmarks/corelib/tools/qmap/qmap.pro
+++ b/tests/benchmarks/corelib/tools/qmap/qmap.pro
@@ -1,4 +1,4 @@
-TARGET = tst_qmap
+TARGET = tst_bench_qmap
QT = core testlib
INCLUDEPATH += .
SOURCES += main.cpp
diff --git a/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp b/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp
index e0f69bee11..570c7b59fa 100644
--- a/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp
+++ b/tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp
@@ -200,6 +200,8 @@ void tst_QImageConversion::convertRgb32_data()
QTest::newRow("argb32 -> argb8565pm") << argb32 << QImage::Format_ARGB8565_Premultiplied;
QTest::newRow("argb32 -> argb4444pm") << argb32 << QImage::Format_ARGB4444_Premultiplied;
QTest::newRow("argb32 -> argb6666pm") << argb32 << QImage::Format_ARGB6666_Premultiplied;
+ QTest::newRow("argb32 -> rgba64") << argb32 << QImage::Format_RGBA64;
+ QTest::newRow("argb32 -> rgba64pm") << argb32 << QImage::Format_RGBA64_Premultiplied;
QTest::newRow("argb32pm -> rgb16") << argb32pm << QImage::Format_RGB16;
QTest::newRow("argb32pm -> rgb32") << argb32pm << QImage::Format_RGB32;
@@ -239,6 +241,7 @@ void tst_QImageConversion::convertGeneric_data()
QImage a2rgb30 = argb32.convertToFormat(QImage::Format_A2RGB30_Premultiplied);
QImage rgb666 = rgb32.convertToFormat(QImage::Format_RGB666);
QImage argb4444 = argb32.convertToFormat(QImage::Format_ARGB4444_Premultiplied);
+ QImage rgba64pm = argb32.convertToFormat(QImage::Format_RGBA64_Premultiplied);
QTest::newRow("indexed8 -> rgb32") << i8 << QImage::Format_RGB32;
QTest::newRow("indexed8 -> argb32") << i8 << QImage::Format_ARGB32;
@@ -289,6 +292,13 @@ void tst_QImageConversion::convertGeneric_data()
QTest::newRow("argb4444pm -> rgba8888pm") << argb4444 << QImage::Format_RGBA8888_Premultiplied;
QTest::newRow("argb4444pm -> rgb30") << argb4444 << QImage::Format_RGB30;
QTest::newRow("argb4444pm -> a2bgr30") << argb4444 << QImage::Format_A2BGR30_Premultiplied;
+
+ QTest::newRow("rgba64pm -> argb32") << rgba64pm << QImage::Format_ARGB32;
+ QTest::newRow("rgba64pm -> rgbx8888") << rgba64pm << QImage::Format_RGBX8888;
+ QTest::newRow("rgba64pm -> rgba8888pm") << rgba64pm << QImage::Format_RGBA8888_Premultiplied;
+ QTest::newRow("rgba64pm -> rgb30") << rgba64pm << QImage::Format_RGB30;
+ QTest::newRow("rgba64pm -> a2bgr30") << rgba64pm << QImage::Format_A2BGR30_Premultiplied;
+ QTest::newRow("rgba64pm -> rgba64") << rgba64pm << QImage::Format_RGBA64;
}
void tst_QImageConversion::convertGeneric()
@@ -347,10 +357,10 @@ void tst_QImageConversion::convertGenericInplace()
QFETCH(QImage::Format, outputFormat);
QImage::Format inputFormat = inputImage.format();
- QImage tmpImage = qMove(inputImage);
+ QImage tmpImage = std::move(inputImage);
QBENCHMARK {
- tmpImage = (qMove(tmpImage).convertToFormat(outputFormat)).convertToFormat(inputFormat);
+ tmpImage = (std::move(tmpImage).convertToFormat(outputFormat)).convertToFormat(inputFormat);
}
}
diff --git a/tests/benchmarks/testlib/testlib.pro b/tests/benchmarks/testlib/testlib.pro
new file mode 100644
index 0000000000..c325f3de9a
--- /dev/null
+++ b/tests/benchmarks/testlib/testlib.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = \
+ tostring \
diff --git a/tests/benchmarks/testlib/tostring/tostring.pro b/tests/benchmarks/testlib/tostring/tostring.pro
new file mode 100644
index 0000000000..a5aebe1c81
--- /dev/null
+++ b/tests/benchmarks/testlib/tostring/tostring.pro
@@ -0,0 +1,4 @@
+TARGET = tst_bench_tostring
+QT = core testlib
+
+SOURCES += tst_tostring.cpp
diff --git a/tests/benchmarks/testlib/tostring/tst_tostring.cpp b/tests/benchmarks/testlib/tostring/tst_tostring.cpp
new file mode 100644
index 0000000000..1731929f98
--- /dev/null
+++ b/tests/benchmarks/testlib/tostring/tst_tostring.cpp
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtCore/qmath.h> // pi, e
+
+// Tests for QTest::toString
+class tst_toString : public QObject
+{
+ Q_OBJECT
+
+ template <typename T> void numeric_data();
+ template <typename T> void numeric();
+
+private slots:
+ void floatTst_data() { numeric_data<float>(); }
+ void floatTst() { numeric<float>(); }
+ void doubleTst_data() { numeric_data<double>(); }
+ void doubleTst() { numeric<double>(); }
+ void intTst_data() { numeric_data<int>(); }
+ void intTst() { numeric<int>(); }
+ void unsignedTst_data() { numeric_data<unsigned>(); }
+ void unsignedTst() { numeric<unsigned>(); }
+ void quint64Tst_data() { numeric_data<quint64>(); }
+ void quint64Tst() { numeric<quint64>(); }
+ void qint64Tst_data() { numeric_data<qint64>(); }
+ void qint64Tst() { numeric<qint64>(); }
+};
+
+template <typename T>
+void tst_toString::numeric_data()
+{
+ QTest::addColumn<T>("datum");
+ const bool floaty = std::is_floating_point<T>::value;
+
+ QTest::newRow("zero") << T(0);
+ QTest::newRow("one") << T(1);
+ if (floaty) {
+ QTest::newRow("pi") << T(M_PI);
+ QTest::newRow("e") << T(M_E);
+
+ // Stress canonicalisation of leading zeros on exponents:
+ QTest::newRow("milli") << T(1e-3);
+ QTest::newRow("micro") << T(1e-6);
+ QTest::newRow("mu0") << T(.4e-6 * M_PI); // Henry/metre
+ QTest::newRow("Planck") << T(662.606876e-36); // Joule.second/turn
+ }
+ QTest::newRow("2e9") << T(2000000000);
+ QTest::newRow("c.s/m") << T(299792458);
+ QTest::newRow("Avogadro") << T(6.022045e+23); // things/mol (.996 << 79, so ints overflow to max)
+
+ QTest::newRow("lowest") << std::numeric_limits<T>::lowest();
+ QTest::newRow("max") << std::numeric_limits<T>::max();
+ if (floaty) {
+ QTest::newRow("min") << std::numeric_limits<T>::min();
+
+ if (std::numeric_limits<T>::has_infinity) {
+ const T uge = std::numeric_limits<T>::infinity();
+ QTest::newRow("inf") << uge;
+ QTest::newRow("-inf") << -uge;
+ }
+ if (std::numeric_limits<T>::has_quiet_NaN)
+ QTest::newRow("nan") << std::numeric_limits<T>::quiet_NaN();
+ }
+}
+
+template <typename T>
+void tst_toString::numeric()
+{
+ QFETCH(T, datum);
+
+ QBENCHMARK {
+ QTest::toString<T>(datum);
+ }
+}
+
+QTEST_MAIN(tst_toString)
+#include "tst_tostring.moc"
diff --git a/tests/libfuzzer/README b/tests/libfuzzer/README
new file mode 100644
index 0000000000..7327e76eff
--- /dev/null
+++ b/tests/libfuzzer/README
@@ -0,0 +1,39 @@
+This directory contains tests to be run with clang's libFuzzer. It will generate data, pass this
+data to the function
+
+ LLVMFuzzerTestOneInput(const char *Data, size_t Size)
+
+of the test and track the code execution. Should the test crash, libFuzzer will provide you with the
+data which triggered the crash. You can then use this to debug and fix the called code.
+
+! Please note: The purpose of fuzz testing is to find unexpected code paths. Running fuzz tests may!
+! result in unforeseen bevavior, including loss of data. Consider running the tests in an isolated !
+! environment, e.g. on a virtual machine. You have been warned. !
+
+To run a test with libFuzzer:
+
+1. Install clang 5.0 or later, e.g. from the repositories of the Linux distribution you are using.
+ Depending on the version of clang and the source you are installing from, you might have to
+ install libFuzzer for this version of clang explicitly.
+2. Make sure clang and clang++ from this version of clang are found in PATH.
+3. Configure Qt with
+ -platform linux-clang -coverage trace-pc-guard
+ to add the needed code coverage instrumentation. Since speed of execution is crucial for fuzz
+ testing, it's recommendable to also use the switches
+ -release -static
+ It might also make sense to add sanitzers by passing
+ -sanitize <...>
+4. Build Qt.
+5. Build one of the tests using this Qt build.
+6. Execute the resulting executable.
+ Depending on the expected input format of the tested function, you will get results faster if
+ you:
+ * provide a set of interesting input data by passing the path of a directory which contains
+ these data, each in one file. You can find such datasets in the subdirectory "testcases".
+ * pass a so-called dictionary listing keywords of the input format using
+ -dict=<dictionary file>
+ A couple of such dictionaries are provided by AFL (http://lcamtuf.coredump.cx/afl/)
+ * tell libFuzzer to generate only ASCII data using
+ -only_ascii=1
+
+For further info, see https://llvm.org/docs/LibFuzzer.html
diff --git a/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/main.cpp b/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/main.cpp
new file mode 100644
index 0000000000..5a60c78cb5
--- /dev/null
+++ b/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/main.cpp
@@ -0,0 +1,36 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QXmlStreamReader>
+
+extern "C" int LLVMFuzzerTestOneInput(const char *Data, size_t Size) {
+ QXmlStreamReader reader(QByteArray(Data, Size));
+ while (!reader.atEnd())
+ reader.readNext();
+ return 0;
+}
diff --git a/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro b/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro
new file mode 100644
index 0000000000..2fda3ecefd
--- /dev/null
+++ b/tests/libfuzzer/corelib/serialization/qxmlstream/qxmlstreamreader/readnext/readnext.pro
@@ -0,0 +1,5 @@
+QT -= gui
+CONFIG += console
+CONFIG -= app_bundle
+SOURCES += main.cpp
+LIBS += -fsanitize=fuzzer
diff --git a/tests/libfuzzer/gui/text/qtextdocument/setHtml/main.cpp b/tests/libfuzzer/gui/text/qtextdocument/setHtml/main.cpp
new file mode 100644
index 0000000000..c9b33d0f88
--- /dev/null
+++ b/tests/libfuzzer/gui/text/qtextdocument/setHtml/main.cpp
@@ -0,0 +1,37 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include <QTextDocument>
+
+extern "C" int LLVMFuzzerTestOneInput(const char *Data, size_t Size) {
+ static int c = 0;
+ static QApplication a(c, nullptr);
+ QTextDocument().setHtml(QByteArray(Data, Size));
+ return 0;
+}
diff --git a/tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro b/tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro
new file mode 100644
index 0000000000..c9b14f6caf
--- /dev/null
+++ b/tests/libfuzzer/gui/text/qtextdocument/setHtml/setHtml.pro
@@ -0,0 +1,3 @@
+QT += widgets
+SOURCES += main.cpp
+LIBS += -fsanitize=fuzzer
diff --git a/tests/manual/cocoa/noclickthrough/main.cpp b/tests/manual/cocoa/noclickthrough/main.cpp
new file mode 100644
index 0000000000..eee7729999
--- /dev/null
+++ b/tests/manual/cocoa/noclickthrough/main.cpp
@@ -0,0 +1,48 @@
+/****************************************************************************
+ **
+ ** Copyright (C) 2019 The Qt Company Ltd.
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the test suite of the Qt Toolkit.
+ **
+ ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+ ** Commercial License Usage
+ ** Licensees holding valid commercial Qt licenses may use this file in
+ ** accordance with the commercial license agreement provided with the
+ ** Software or, alternatively, in accordance with the terms contained in
+ ** a written agreement between you and The Qt Company. For licensing terms
+ ** and conditions see https://www.qt.io/terms-conditions. For further
+ ** information use the contact form at https://www.qt.io/contact-us.
+ **
+ ** GNU General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU
+ ** General Public License version 3 as published by the Free Software
+ ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+ ** included in the packaging of this file. Please review the following
+ ** information to ensure the GNU General Public License requirements will
+ ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+ **
+ ** $QT_END_LICENSE$
+ **
+ ****************************************************************************/
+
+#include <QtWidgets>
+
+int main(int argc, char **argv)
+{
+ QApplication a(argc, argv);
+ QWidget w;
+ QVBoxLayout *vbox = new QVBoxLayout;
+ QLabel *label = new QLabel("Make the window inactive, but visible.\n"
+ "Then click on the Two item.\n"
+ "The item should not be selected, but the window should be active.");
+ vbox->addWidget(label);
+ QListWidget *list = new QListWidget;
+ list->addItems(QStringList() << "One" << "Two" << "Three");
+ list->selectionModel()->select(list->model()->index(0, 0), QItemSelectionModel::Select);
+ list->viewport()->setAttribute(Qt::WA_MacNoClickThrough);
+ vbox->addWidget(list);
+ w.setLayout(vbox);
+ w.show();
+ return a.exec();
+}
diff --git a/tests/manual/cocoa/noclickthrough/noclickthrough.pro b/tests/manual/cocoa/noclickthrough/noclickthrough.pro
new file mode 100644
index 0000000000..a8e30cb146
--- /dev/null
+++ b/tests/manual/cocoa/noclickthrough/noclickthrough.pro
@@ -0,0 +1,4 @@
+QT += widgets
+TEMPLATE = app
+TARGET = noclickthrough
+SOURCES += main.cpp
diff --git a/tests/manual/dialogs/filedialogpanel.cpp b/tests/manual/dialogs/filedialogpanel.cpp
index 9e3c761cff..25c1e44b8c 100644
--- a/tests/manual/dialogs/filedialogpanel.cpp
+++ b/tests/manual/dialogs/filedialogpanel.cpp
@@ -438,9 +438,9 @@ void FileDialogPanel::restoreDefaults()
setComboBoxValue(m_viewMode, d.viewMode());
m_showDirsOnly->setChecked(d.testOption(QFileDialog::ShowDirsOnly));
m_allowedSchemes->setText(QString());
- m_confirmOverWrite->setChecked(d.confirmOverwrite());
- m_nameFilterDetailsVisible->setChecked(d.isNameFilterDetailsVisible());
- m_resolveSymLinks->setChecked(d.resolveSymlinks());
+ m_confirmOverWrite->setChecked(!d.testOption(QFileDialog::DontConfirmOverwrite));
+ m_nameFilterDetailsVisible->setChecked(!d.testOption(QFileDialog::HideNameFilterDetails));
+ m_resolveSymLinks->setChecked(!d.testOption(QFileDialog::DontResolveSymlinks));
m_readOnly->setChecked(d.isReadOnly());
m_native->setChecked(true);
m_customDirIcons->setChecked(d.testOption(QFileDialog::DontUseCustomDirectoryIcons));
@@ -505,8 +505,15 @@ void FileDialogPanel::accepted()
Q_ASSERT(d);
m_result.clear();
QDebug(&m_result).nospace()
+#if QT_VERSION >= 0x050000
+ << "URLs: " << d->selectedUrls() << '\n'
+#endif
<< "Files: " << d->selectedFiles()
- << "\nDirectory: " << d->directory().absolutePath()
+ << "\nDirectory: "
+#if QT_VERSION >= 0x050000
+ << d->directoryUrl() << ", "
+#endif
+ << d->directory().absolutePath()
<< "\nName filter: " << d->selectedNameFilter();
QTimer::singleShot(0, this, SLOT(showAcceptedResult())); // Avoid problems with the closing (modal) dialog as parent.
}
diff --git a/tests/manual/dialogs/main.cpp b/tests/manual/dialogs/main.cpp
index 83089e684c..07df8f5cf4 100644
--- a/tests/manual/dialogs/main.cpp
+++ b/tests/manual/dialogs/main.cpp
@@ -44,6 +44,8 @@
#include <QAction>
#include <QKeySequence>
+static bool optNoPrinter = false;
+
// Test for dialogs, allowing to play with all dialog options for implementing native dialogs.
// Compiles with Qt 4.8 and Qt 5.
@@ -92,7 +94,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
QMenu *editMenu = menuBar()->addMenu(tr("&Edit"));
QAction *action = editMenu->addAction(tr("Cut"));
- action->setShortcut(QKeySequence(QKeySequence::Quit));
+ action->setShortcut(QKeySequence(QKeySequence::Cut));
action = editMenu->addAction(tr("Copy"));
action->setShortcut(QKeySequence(QKeySequence::Copy));
action = editMenu->addAction(tr("Paste"));
@@ -109,7 +111,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
tabWidget->addTab(new WizardPanel, tr("QWizard"));
tabWidget->addTab(new MessageBoxPanel, tr("QMessageBox"));
#ifndef QT_NO_PRINTER
- tabWidget->addTab(new PrintDialogPanel, tr("QPrintDialog"));
+ if (!optNoPrinter)
+ tabWidget->addTab(new PrintDialogPanel, tr("QPrintDialog"));
#endif
setCentralWidget(tabWidget);
}
@@ -123,14 +126,20 @@ void MainWindow::aboutDialog()
int main(int argc, char *argv[])
{
-#if QT_VERSION >= 0x050700
+#if QT_VERSION >= 0x050600
+ QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
+#endif
+
for (int a = 1; a < argc; ++a) {
if (!qstrcmp(argv[a], "-n")) {
qDebug("AA_DontUseNativeDialogs");
+#if QT_VERSION >= 0x050700
QCoreApplication::setAttribute(Qt::AA_DontUseNativeDialogs);
+#endif
+ } else if (!qstrcmp(argv[a], "-p")) {
+ optNoPrinter = true; // Avoid startup slowdown by printer code
}
}
-#endif // Qt 5
QApplication a(argc, argv);
MainWindow w;
diff --git a/tests/manual/dialogs/printdialogpanel.cpp b/tests/manual/dialogs/printdialogpanel.cpp
index d999dbc30c..8d64d2f6a6 100644
--- a/tests/manual/dialogs/printdialogpanel.cpp
+++ b/tests/manual/dialogs/printdialogpanel.cpp
@@ -55,6 +55,10 @@
#include <QTextStream>
#include <QDir>
+#if QT_VERSION >= 0x050000
+# include <QScreen>
+#endif
+
const FlagData printerModeComboData[] =
{
{"ScreenResolution", QPrinter::ScreenResolution},
@@ -705,7 +709,13 @@ void PrintDialogPanel::showPreviewDialog()
{
applySettings(m_printer.data());
PrintPreviewDialog dialog(m_printer.data(), this);
- dialog.resize(QApplication::desktop()->availableGeometry().size() * 4/ 5);
+#if QT_VERSION >= 0x050000
+ const int screenNumber = QApplication::desktop()->screenNumber(this);
+ const QSize availableSize = QGuiApplication::screens().at(screenNumber)->availableSize();
+#else
+ const QSize availableSize = QApplication::desktop()->availableGeometry().size();
+#endif
+ dialog.resize(availableSize * 4/ 5);
if (dialog.exec() == QDialog::Accepted)
retrieveSettings(m_printer.data());
}
diff --git a/tests/manual/embeddedintoforeignwindow/embeddedintoforeignwindow.pro b/tests/manual/embeddedintoforeignwindow/embeddedintoforeignwindow.pro
index 93da4b8c91..dba33a139e 100644
--- a/tests/manual/embeddedintoforeignwindow/embeddedintoforeignwindow.pro
+++ b/tests/manual/embeddedintoforeignwindow/embeddedintoforeignwindow.pro
@@ -1,7 +1,6 @@
TEMPLATE = app
QT += gui-private
-CONFIG += console c++11
-CONFIG -= app_bundle
+CONFIG += cmdline c++11
SOURCES += main.cpp itemwindow.cpp
HEADERS += itemwindow.h
include(../diaglib/diaglib.pri)
diff --git a/tests/manual/filetest/filetest.pro b/tests/manual/filetest/filetest.pro
index 5d2ba9b82b..b91689e0ff 100644
--- a/tests/manual/filetest/filetest.pro
+++ b/tests/manual/filetest/filetest.pro
@@ -1,6 +1,5 @@
TEMPLATE = app
QT = core
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
SOURCES += main.cpp
diff --git a/tests/manual/foreignwindows/foreignwindows.pro b/tests/manual/foreignwindows/foreignwindows.pro
index 6a370a6813..15bf2395f8 100644
--- a/tests/manual/foreignwindows/foreignwindows.pro
+++ b/tests/manual/foreignwindows/foreignwindows.pro
@@ -1,6 +1,5 @@
TEMPLATE = app
QT += widgets
-CONFIG += console c++11
-CONFIG -= app_bundle
+CONFIG += cmdline c++11
SOURCES += main.cpp
include(../diaglib/diaglib.pri)
diff --git a/tests/manual/foreignwindows/main.cpp b/tests/manual/foreignwindows/main.cpp
index 74c6d8c376..44aff54773 100644
--- a/tests/manual/foreignwindows/main.cpp
+++ b/tests/manual/foreignwindows/main.cpp
@@ -195,6 +195,9 @@ static QString description(const QString &appName)
"tests embedding foreign windows into Qt.\n\nUse cases:\n\n"
<< appName << " -a Dump a list of all native window ids.\n"
<< appName << " <winid> Dump information on the window.\n"
+ << appName << " -m <winid> Move window to top left corner\n"
+ << QByteArray(appName.size(), ' ')
+ << " (recover lost windows after changing monitor setups).\n"
<< appName << " -c <winid> Dump information on the window continuously.\n"
<< appName << " -e <winid> Embed window into a Qt widget.\n"
<< "\nOn Windows, class names of well known controls (EDIT, BUTTON...) can be\n"
@@ -245,6 +248,10 @@ int main(int argc, char *argv[])
parser.addOption(outputAllOption);
QCommandLineOption continuousOption(QStringList() << QStringLiteral("c") << QStringLiteral("continuous"),
QStringLiteral("Output continuously."));
+ parser.addOption(outputAllOption);
+ QCommandLineOption moveOption(QStringList() << QStringLiteral("m") << QStringLiteral("move"),
+ QStringLiteral("Move window to top left corner."));
+ parser.addOption(moveOption);
parser.addOption(continuousOption);
QCommandLineOption embedOption(QStringList() << QStringLiteral("e") << QStringLiteral("embed"),
QStringLiteral("Embed a foreign window into a Qt widget."));
@@ -274,8 +281,12 @@ int main(int argc, char *argv[])
return -1;
}
QWindow *foreignWindow = QWindow::fromWinId(wid);
+ if (!foreignWindow)
+ return -1;
foreignWindow->setObjectName("ForeignWindow" + QString::number(wid, 16));
windows.append(foreignWindow);
+ if (parser.isSet(moveOption))
+ foreignWindow->setFramePosition(QGuiApplication::primaryScreen()->availableGeometry().topLeft());
}
if (windows.isEmpty())
diff --git a/tests/manual/gestures/graphicsview/gestures.cpp b/tests/manual/gestures/graphicsview/gestures.cpp
index cc0ff3e1aa..6e5b07bf18 100644
--- a/tests/manual/gestures/graphicsview/gestures.cpp
+++ b/tests/manual/gestures/graphicsview/gestures.cpp
@@ -44,11 +44,13 @@ QGestureRecognizer::Result ThreeFingerSlideGestureRecognizer::recognize(QGesture
switch (event->type()) {
case QEvent::TouchBegin:
result = QGestureRecognizer::MayBeGesture;
+ break;
case QEvent::TouchEnd:
if (d->gestureFired)
result = QGestureRecognizer::FinishGesture;
else
result = QGestureRecognizer::CancelGesture;
+ break;
case QEvent::TouchUpdate:
if (d->state() != Qt::NoGesture) {
QTouchEvent *ev = static_cast<QTouchEvent*>(event);
diff --git a/tests/manual/highdpi/highdpi.pro b/tests/manual/highdpi/highdpi.pro
index 7d6b42535e..9db083cd82 100644
--- a/tests/manual/highdpi/highdpi.pro
+++ b/tests/manual/highdpi/highdpi.pro
@@ -2,8 +2,7 @@ TEMPLATE = app
TARGET = highdpi
INCLUDEPATH += .
QT += widgets gui-private
-CONFIG +=console
-CONFIG -= app_bundle
+CONFIG += cmdline
CONFIG += c++11
# Input
SOURCES += \
diff --git a/tests/manual/lance/lance.pro b/tests/manual/lance/lance.pro
index 312106c2f0..78ca2f56e5 100644
--- a/tests/manual/lance/lance.pro
+++ b/tests/manual/lance/lance.pro
@@ -1,6 +1,5 @@
LANCELOT_DIR = $$PWD/../../auto/other/lancelot
-CONFIG+=console moc
-CONFIG -= app_bundle
+CONFIG += cmdline moc
TEMPLATE = app
INCLUDEPATH += . $$LANCELOT_DIR
QT += core-private gui-private widgets printsupport
diff --git a/tests/manual/qcursor/grab_override/mainwindow.cpp b/tests/manual/qcursor/grab_override/mainwindow.cpp
index d2b7311846..087ee8d1d8 100644
--- a/tests/manual/qcursor/grab_override/mainwindow.cpp
+++ b/tests/manual/qcursor/grab_override/mainwindow.cpp
@@ -79,10 +79,10 @@ void MainWindow::toggleOverrideCursor()
{
switch (override) {
case 0:
- QApplication::setOverrideCursor(Qt::BusyCursor);
+ QGuiApplication::setOverrideCursor(Qt::BusyCursor);
break;
case 1:
- QApplication::restoreOverrideCursor();
+ QGuiApplication::restoreOverrideCursor();
break;
case 2:
ui->label->grabMouse(Qt::ForbiddenCursor);
diff --git a/tests/manual/qdesktopservices/qdesktopservices.pro b/tests/manual/qdesktopservices/qdesktopservices.pro
index c96287e159..baa3c325ff 100644
--- a/tests/manual/qdesktopservices/qdesktopservices.pro
+++ b/tests/manual/qdesktopservices/qdesktopservices.pro
@@ -1,8 +1,7 @@
QT += testlib
TARGET = tst_qdesktopservices
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
TEMPLATE = app
diff --git a/tests/manual/qgraphicsitemgroup/widget.cpp b/tests/manual/qgraphicsitemgroup/widget.cpp
index b0e7a47cf8..ba9ed815fa 100644
--- a/tests/manual/qgraphicsitemgroup/widget.cpp
+++ b/tests/manual/qgraphicsitemgroup/widget.cpp
@@ -224,7 +224,7 @@ void Widget::updateUngroupButton()
CustomItem * Widget::checkedItem() const
{
- CustomItem *item;
+ CustomItem *item = nullptr;
if (ui->blue->isChecked())
item = rectBlue;
diff --git a/tests/manual/qmimedatabase/qmimedatabase.pro b/tests/manual/qmimedatabase/qmimedatabase.pro
index 5473330edf..fd931d5eec 100644
--- a/tests/manual/qmimedatabase/qmimedatabase.pro
+++ b/tests/manual/qmimedatabase/qmimedatabase.pro
@@ -1,5 +1,4 @@
TEMPLATE = app
QT = core
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
SOURCES += main.cpp
diff --git a/tests/manual/qsslsocket/main.cpp b/tests/manual/qsslsocket/main.cpp
index b2cc1b5f23..58da520c07 100644
--- a/tests/manual/qsslsocket/main.cpp
+++ b/tests/manual/qsslsocket/main.cpp
@@ -91,21 +91,21 @@ void tst_QSslSocket::nextProtocolNegotiation_data()
<< QSslConfiguration::NextProtocolNegotiationNegotiated;
tag = host.toLocal8Bit();
- tag.append("-spdy/3");
+ tag.append("-h2");
QTest::newRow(tag)
<< true
<< host
- << (QList<QByteArray>() << QSslConfiguration::NextProtocolSpdy3_0)
- << QByteArray(QSslConfiguration::NextProtocolSpdy3_0)
+ << (QList<QByteArray>() << QSslConfiguration::ALPNProtocolHTTP2)
+ << QByteArray(QSslConfiguration::ALPNProtocolHTTP2)
<< QSslConfiguration::NextProtocolNegotiationNegotiated;
tag = host.toLocal8Bit();
- tag.append("-spdy/3-and-http/1.1");
+ tag.append("-h2-and-http/1.1");
QTest::newRow(tag)
<< true
<< host
- << (QList<QByteArray>() << QSslConfiguration::NextProtocolSpdy3_0 << QSslConfiguration::NextProtocolHttp1_1)
- << QByteArray(QSslConfiguration::NextProtocolSpdy3_0)
+ << (QList<QByteArray>() << QSslConfiguration::ALPNProtocolHTTP2 << QSslConfiguration::NextProtocolHttp1_1)
+ << QByteArray(QSslConfiguration::ALPNProtocolHTTP2)
<< QSslConfiguration::NextProtocolNegotiationNegotiated;
}
}
diff --git a/tests/manual/qstorageinfo/qstorageinfo.pro b/tests/manual/qstorageinfo/qstorageinfo.pro
index 25acd24c80..e47ecc5b3e 100644
--- a/tests/manual/qstorageinfo/qstorageinfo.pro
+++ b/tests/manual/qstorageinfo/qstorageinfo.pro
@@ -1,4 +1,3 @@
QT = core
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
SOURCES += main.cpp
diff --git a/tests/manual/qsysinfo/main.cpp b/tests/manual/qsysinfo/main.cpp
index 62d0c51416..1d39514236 100644
--- a/tests/manual/qsysinfo/main.cpp
+++ b/tests/manual/qsysinfo/main.cpp
@@ -57,6 +57,11 @@ QByteArray windowsVersionToString(QSysInfo::WinVersion v)
CASE_VERSION(WV_WINDOWS8_1);
CASE_VERSION(WV_WINDOWS10);
case QSysInfo::WV_NT_based: // shouldn't happen
+ case QSysInfo::WV_CE:
+ case QSysInfo::WV_CENET:
+ case QSysInfo::WV_CE_5:
+ case QSysInfo::WV_CE_6:
+ case QSysInfo::WV_CE_based:
break;
}
@@ -82,6 +87,7 @@ QByteArray macVersionToString(QSysInfo::MacVersion v)
CASE_VERSION(MV_10_9);
CASE_VERSION(MV_10_10);
CASE_VERSION(MV_10_11);
+ CASE_VERSION(MV_10_12);
CASE_VERSION(MV_IOS_4_3);
CASE_VERSION(MV_IOS_5_0);
@@ -96,8 +102,24 @@ QByteArray macVersionToString(QSysInfo::MacVersion v)
CASE_VERSION(MV_IOS_8_3);
CASE_VERSION(MV_IOS_8_4);
CASE_VERSION(MV_IOS_9_0);
+ CASE_VERSION(MV_IOS_9_1);
+ CASE_VERSION(MV_IOS_9_2);
+ CASE_VERSION(MV_IOS_9_3);
+ CASE_VERSION(MV_IOS_10_0);
case QSysInfo::MV_IOS: // shouldn't happen:
+ case QSysInfo::MV_TVOS:
+ case QSysInfo::MV_WATCHOS:
break;
+
+ CASE_VERSION(MV_TVOS_9_0);
+ CASE_VERSION(MV_TVOS_9_1);
+ CASE_VERSION(MV_TVOS_9_2);
+ CASE_VERSION(MV_TVOS_10_0);
+
+ CASE_VERSION(MV_WATCHOS_2_0);
+ CASE_VERSION(MV_WATCHOS_2_1);
+ CASE_VERSION(MV_WATCHOS_2_2);
+ CASE_VERSION(MV_WATCHOS_3_0);
}
if (v & QSysInfo::MV_IOS) {
diff --git a/tests/manual/qsysinfo/qsysinfo.pro b/tests/manual/qsysinfo/qsysinfo.pro
index c73d8282cb..ff0a09d42e 100644
--- a/tests/manual/qsysinfo/qsysinfo.pro
+++ b/tests/manual/qsysinfo/qsysinfo.pro
@@ -1,7 +1,6 @@
QT = core
TARGET = qsysinfo
TEMPLATE = app
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
SOURCES += main.cpp
diff --git a/tests/manual/qtabletevent/regular_widgets/main.cpp b/tests/manual/qtabletevent/regular_widgets/main.cpp
index c0366dea63..4816e2f3b9 100644
--- a/tests/manual/qtabletevent/regular_widgets/main.cpp
+++ b/tests/manual/qtabletevent/regular_widgets/main.cpp
@@ -284,7 +284,7 @@ int main(int argc, char *argv[])
mainWindow.setWindowTitle(QString::fromLatin1("Tablet Test %1").arg(QT_VERSION_STR));
EventReportWidget *widget = new EventReportWidget;
QObject::connect(proximityEventFilter, &ProximityEventFilter::proximityChanged,
- widget, QOverload<void>::of(&QWidget::update));
+ widget, QOverload<>::of(&QWidget::update));
widget->setMinimumSize(640, 480);
QMenu *fileMenu = mainWindow.menuBar()->addMenu("File");
fileMenu->addAction("Clear", widget, &EventReportWidget::clearPoints);
diff --git a/tests/manual/textrendering/nativetext/main.cpp b/tests/manual/textrendering/nativetext/main.cpp
new file mode 100644
index 0000000000..b481e44bae
--- /dev/null
+++ b/tests/manual/textrendering/nativetext/main.cpp
@@ -0,0 +1,320 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtWidgets>
+
+#ifdef Q_OS_DARWIN
+#include <private/qcoregraphics_p.h>
+#include <private/qcore_mac_p.h>
+#include <Foundation/Foundation.h>
+#include <private/qfont_p.h>
+#include <private/qfontengine_p.h>
+#endif
+
+static int s_mode;
+static QString s_text = QString::fromUtf8("The quick brown \xF0\x9F\xA6\x8A jumps over the lazy \xF0\x9F\x90\xB6");
+
+class TextRenderer : public QWidget
+{
+ Q_OBJECT
+public:
+ enum RenderingMode { QtRendering, NativeRendering };
+ Q_ENUM(RenderingMode);
+
+ TextRenderer(qreal pointSize, const QString &text, const QColor &textColor = QColor(), const QColor &bgColor = QColor())
+ : m_text(text)
+ {
+ if (pointSize) {
+ QFont f = font();
+ f.setPointSize(pointSize);
+ setFont(f);
+ }
+
+ if (textColor.isValid()) {
+ QPalette p = palette();
+ p.setColor(QPalette::Text, textColor);
+ setPalette(p);
+ }
+
+ if (bgColor.isValid()) {
+ QPalette p = palette();
+ p.setColor(QPalette::Window, bgColor);
+ setPalette(p);
+ }
+ }
+
+ QString text() const
+ {
+ return !m_text.isNull() ? m_text : s_text;
+ }
+
+ QSize sizeHint() const override
+ {
+ QFontMetrics fm = fontMetrics();
+ return QSize(fm.boundingRect(text()).width(), fm.height());
+ }
+
+ bool event(QEvent * event) override
+ {
+ if (event->type() == QEvent::ToolTip) {
+ QString toolTip;
+ QDebug debug(&toolTip);
+ debug << "textColor =" << palette().color(QPalette::Text) << "bgColor =" << palette().color(QPalette::Window);
+ setToolTip(toolTip);
+ }
+
+ return QWidget::event(event);
+ }
+
+ void paintEvent(QPaintEvent *) override
+ {
+ QImage image(size() * devicePixelRatio(), QImage::Format_ARGB32_Premultiplied);
+ image.setDevicePixelRatio(devicePixelRatio());
+
+ QPainter p(&image);
+ p.fillRect(QRect(0, 0, image.width(), image.height()), palette().window().color());
+
+ const int ascent = fontMetrics().ascent();
+
+ QPen metricsPen(QColor(112, 216, 255), 1.0);
+ metricsPen.setCosmetic(true);
+ p.setPen(metricsPen);
+ p.drawLine(QPoint(0, ascent), QPoint(width(), ascent));
+ p.end();
+
+ if (s_mode == QtRendering)
+ renderQtText(image);
+ else
+ renderNativeText(image);
+
+ QPainter wp(this);
+ wp.drawImage(QPoint(0, 0), image);
+ }
+
+ void renderQtText(QImage &image)
+ {
+ QPainter p(&image);
+
+ const int ascent = fontMetrics().ascent();
+
+ p.setPen(palette().text().color());
+
+ QFont f = font();
+ f.resolve(-1);
+ p.setFont(f);
+
+ p.drawText(QPoint(0, ascent), text());
+ }
+
+ void renderNativeText(QImage &image)
+ {
+#ifdef Q_OS_DARWIN
+ QMacAutoReleasePool pool;
+ QMacCGContext ctx(&image);
+
+ const auto *fontEngine = QFontPrivate::get(font())->engineForScript(QChar::Script_Common);
+ Q_ASSERT(fontEngine);
+ if (fontEngine->type() == QFontEngine::Multi) {
+ fontEngine = static_cast<const QFontEngineMulti *>(fontEngine)->engine(0);
+ Q_ASSERT(fontEngine);
+ }
+ Q_ASSERT(fontEngine->type() == QFontEngine::Mac);
+
+ QColor textColor = palette().text().color();
+ auto nsColor = [NSColor colorWithSRGBRed:textColor.redF()
+ green:textColor.greenF()
+ blue:textColor.blueF()
+ alpha:textColor.alphaF()];
+
+ if (font().styleStrategy() & QFont::NoAntialias)
+ CGContextSetShouldAntialias(ctx, false);
+
+ // Flip to what CT expects
+ CGContextScaleCTM(ctx, 1, -1);
+ CGContextTranslateCTM(ctx, 0, -height());
+
+ // Set up baseline
+ CGContextSetTextPosition(ctx, 0, height() - fontMetrics().ascent());
+
+ auto *attributedString = [[NSAttributedString alloc] initWithString:text().toNSString()
+ attributes:@{
+ NSFontAttributeName : (NSFont *)fontEngine->handle(),
+ NSForegroundColorAttributeName : nsColor
+ }
+ ];
+
+ QCFType<CTLineRef> line = CTLineCreateWithAttributedString(CFAttributedStringRef([attributedString autorelease]));
+ CTLineDraw(line, ctx);
+#endif
+ }
+
+public:
+
+ RenderingMode m_mode = QtRendering;
+ QString m_text;
+};
+
+class TestWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ TestWidget()
+ {
+ auto *mainLayout = new QVBoxLayout;
+
+ m_previews = new QWidget;
+ m_previews->setLayout(new QHBoxLayout);
+
+ for (int i = 0; i < 6; ++i) {
+ auto *layout = new QVBoxLayout;
+ QString text;
+ if (i > 0)
+ text = "ABC";
+
+ QPair<QColor, QColor> color = [i] {
+ switch (i) {
+ case 0: return qMakePair(QColor(), QColor());
+ case 1: return qMakePair(QColor(Qt::black), QColor(Qt::white));
+ case 2: return qMakePair(QColor(Qt::white), QColor(Qt::black));
+ case 3: return qMakePair(QColor(Qt::magenta), QColor(Qt::green));
+ case 4: return qMakePair(QColor(0, 0, 0, 128), QColor(Qt::white));
+ case 5: return qMakePair(QColor(255, 255, 255, 128), QColor(Qt::black));
+ default: return qMakePair(QColor(), QColor());
+ }
+ }();
+
+ for (int pointSize : {8, 12, 24, 36, 48})
+ layout->addWidget(new TextRenderer(pointSize, text, color.first, color.second));
+
+ static_cast<QHBoxLayout*>(m_previews->layout())->addLayout(layout);
+ }
+
+ mainLayout->addWidget(m_previews);
+
+ auto *controls = new QHBoxLayout;
+ auto *lineEdit = new QLineEdit(s_text);
+ connect(lineEdit, &QLineEdit::textChanged, [&](const QString &text) {
+ s_text = text;
+ for (TextRenderer *renderer : m_previews->findChildren<TextRenderer *>())
+ renderer->updateGeometry();
+ });
+ controls->addWidget(lineEdit);
+
+ auto *colorButton = new QPushButton("Color...");
+ connect(colorButton, &QPushButton::clicked, [&] {
+ auto *colorDialog = new QColorDialog(this);
+ colorDialog->setOptions(QColorDialog::NoButtons | QColorDialog::ShowAlphaChannel);
+ colorDialog->setModal(false);
+ connect(colorDialog, &QColorDialog::currentColorChanged, [&](const QColor &color) {
+ QPalette p = palette();
+ p.setColor(QPalette::Text, color);
+ setPalette(p);
+ });
+ colorDialog->setCurrentColor(palette().text().color());
+ colorDialog->setVisible(true);
+ });
+ controls->addWidget(colorButton);
+ auto *fontButton = new QPushButton("Font...");
+ connect(fontButton, &QPushButton::clicked, [&] {
+ auto *fontDialog = new QFontDialog(this);
+ fontDialog->setOptions(QFontDialog::NoButtons);
+ fontDialog->setModal(false);
+ fontDialog->setCurrentFont(m_previews->font());
+ connect(fontDialog, &QFontDialog::currentFontChanged, [&](const QFont &font) {
+ m_previews->setFont(font);
+ });
+ fontDialog->setVisible(true);
+ });
+ controls->addWidget(fontButton);
+
+ auto *aaButton = new QCheckBox("NoAntialias");
+ connect(aaButton, &QCheckBox::stateChanged, [&] {
+ for (TextRenderer *renderer : m_previews->findChildren<TextRenderer *>()) {
+ QFont font = renderer->font();
+ font.setStyleStrategy(QFont::StyleStrategy(font.styleStrategy() ^ QFont::NoAntialias));
+ renderer->setFont(font);
+ }
+ });
+ controls->addWidget(aaButton);
+
+ auto *subpixelAAButton = new QCheckBox("NoSubpixelAntialias");
+ connect(subpixelAAButton, &QCheckBox::stateChanged, [&] {
+ for (TextRenderer *renderer : m_previews->findChildren<TextRenderer *>()) {
+ QFont font = renderer->font();
+ font.setStyleStrategy(QFont::StyleStrategy(font.styleStrategy() ^ QFont::NoSubpixelAntialias));
+ renderer->setFont(font);
+ }
+ });
+ controls->addWidget(subpixelAAButton);
+ controls->addStretch();
+
+ mainLayout->addLayout(controls);
+
+ mainLayout->setSizeConstraint(QLayout::SetFixedSize);
+ setLayout(mainLayout);
+
+ setMode(TextRenderer::QtRendering);
+ setFocusPolicy(Qt::StrongFocus);
+ setFocus();
+ }
+
+ void setMode(TextRenderer::RenderingMode mode)
+ {
+ s_mode = mode;
+ setWindowTitle(s_mode == TextRenderer::QtRendering ? "Qt" : "Native");
+
+ for (TextRenderer *renderer : m_previews->findChildren<TextRenderer *>())
+ renderer->update();
+ }
+
+ void mousePressEvent(QMouseEvent *) override
+ {
+ setMode(TextRenderer::RenderingMode(!s_mode));
+ }
+
+ void keyPressEvent(QKeyEvent *e) override
+ {
+ if (e->key() == Qt::Key_Space)
+ setMode(TextRenderer::RenderingMode(!s_mode));
+ }
+
+ QWidget *m_previews;
+};
+
+int main(int argc, char **argv)
+{
+ qputenv("QT_MAX_CACHED_GLYPH_SIZE", "97");
+ QApplication app(argc, argv);
+
+ TestWidget widget;
+ widget.show();
+ return app.exec();
+}
+
+#include "main.moc"
+
diff --git a/tests/manual/textrendering/nativetext/nativetext.pro b/tests/manual/textrendering/nativetext/nativetext.pro
new file mode 100644
index 0000000000..fb3e3799e7
--- /dev/null
+++ b/tests/manual/textrendering/nativetext/nativetext.pro
@@ -0,0 +1,7 @@
+QT += widgets core-private gui-private
+SOURCES += main.cpp
+CONFIG -= app_bundle
+darwin {
+ QMAKE_CXXFLAGS += -x objective-c++
+ LIBS += -framework Foundation -framework CoreGraphics -framework AppKit
+}
diff --git a/tests/manual/textrendering/textrendering.pro b/tests/manual/textrendering/textrendering.pro
index 92f0741bf3..14806e416c 100644
--- a/tests/manual/textrendering/textrendering.pro
+++ b/tests/manual/textrendering/textrendering.pro
@@ -1,4 +1,5 @@
TEMPLATE=subdirs
SUBDIRS = glyphshaping \
- textperformance
+ textperformance \
+ nativetext
diff --git a/tests/manual/widgets/styles/styles.pro b/tests/manual/widgets/styles/styles.pro
index ef8217a9a3..d302ae0691 100644
--- a/tests/manual/widgets/styles/styles.pro
+++ b/tests/manual/widgets/styles/styles.pro
@@ -1,7 +1,6 @@
TEMPLATE = app
QT = widgets
-CONFIG += console
-CONFIG -= app_bundle
+CONFIG += cmdline
CONFIG += c++11
SOURCES += main.cpp
diff --git a/tests/manual/widgets/widgets/qmainwindow/saveStateSize/main.cpp b/tests/manual/widgets/widgets/qmainwindow/saveStateSize/main.cpp
new file mode 100644
index 0000000000..dbca6df454
--- /dev/null
+++ b/tests/manual/widgets/widgets/qmainwindow/saveStateSize/main.cpp
@@ -0,0 +1,111 @@
+/****************************************************************************
+ **
+ ** Copyright (C) 2019 The Qt Company Ltd.
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the test suite of the Qt Toolkit.
+ **
+ ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+ ** Commercial License Usage
+ ** Licensees holding valid commercial Qt licenses may use this file in
+ ** accordance with the commercial license agreement provided with the
+ ** Software or, alternatively, in accordance with the terms contained in
+ ** a written agreement between you and The Qt Company. For licensing terms
+ ** and conditions see https://www.qt.io/terms-conditions. For further
+ ** information use the contact form at https://www.qt.io/contact-us.
+ **
+ ** GNU General Public License Usage
+ ** Alternatively, this file may be used under the terms of the GNU
+ ** General Public License version 3 as published by the Free Software
+ ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+ ** included in the packaging of this file. Please review the following
+ ** information to ensure the GNU General Public License requirements will
+ ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+ **
+ ** $QT_END_LICENSE$
+ **
+ ****************************************************************************/
+
+// Test that the size of the saved state bytearray does not change due to moving a
+// toolbar from one area to another. It should stay the same size as the first time
+// it had that toolbar in it
+
+#include <QApplication>
+#include <QMainWindow>
+#include <QToolBar>
+#include <QPushButton>
+#include <QLabel>
+#include <QVBoxLayout>
+#include <QMessageBox>
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+public:
+ MainWindow() : QMainWindow()
+ {
+ auto *tb = new QToolBar(this);
+ tb->setObjectName("Toolbar");
+ tb->addAction("Test action");
+ tb->addAction("Test action");
+ addToolBar(Qt::TopToolBarArea, tb);
+ auto *movableTb = new QToolBar(this);
+ movableTb->setObjectName("Movable Toolbar");
+ movableTb->addAction("Test action");
+ movableTb->addAction("Test action");
+ addToolBar(Qt::TopToolBarArea, movableTb);
+ auto *widget = new QWidget;
+ auto *vbox = new QVBoxLayout;
+ auto *label = new QLabel;
+ label->setText("1. Click on check state size to save initial state\n"
+ "2. Drag the movable toolbar in the top dock area to the left area."
+ " Click on check state size to save moved state\n"
+ "3. Drag the movable toolbar from the left dock area to the top area."
+ " Click on check state size to compare the state sizes.\n"
+ "4. Drag the movable toolbar in the top dock area to the left area."
+ " Click on check state size to compare the state sizes.\n"
+ "5. Drag the movable toolbar from the left dock area to the top area."
+ " Click on check state size to compare the state sizes.\n");
+ vbox->addWidget(label);
+ auto *pushButton = new QPushButton("Check state size");
+ connect(pushButton, &QPushButton::clicked, this, &MainWindow::checkState);
+ vbox->addWidget(pushButton);
+ widget->setLayout(vbox);
+ setCentralWidget(widget);
+ }
+public slots:
+ void checkState()
+ {
+ stepCounter++;
+ QString messageText;
+ if (stepCounter == 1) {
+ beforeMoveStateData = saveState();
+ messageText = QLatin1String("Initial state saved");
+ } else if (stepCounter == 2) {
+ afterMoveStateData = saveState();
+ messageText = QLatin1String("Moved state saved");
+ } else {
+ const int currentSaveSize = saveState().size();
+ const int compareValue = (stepCounter == 4) ? afterMoveStateData.size() : beforeMoveStateData.size();
+ messageText = QString::fromLatin1("%1 step %2")
+ .arg((currentSaveSize == compareValue) ? QLatin1String("SUCCESS") : QLatin1String("FAIL"))
+ .arg(stepCounter);
+ }
+ QMessageBox::information(this, "Step done", messageText);
+ }
+private:
+ int stepCounter = 0;
+ QByteArray beforeMoveStateData;
+ QByteArray afterMoveStateData;
+};
+
+#include "main.moc"
+
+int main(int argc, char **argv)
+{
+ QApplication a(argc, argv);
+ MainWindow mw;
+ mw.show();
+ return a.exec();
+}
+
diff --git a/tests/manual/widgets/widgets/qmainwindow/saveStateSize/saveStateSize.pro b/tests/manual/widgets/widgets/qmainwindow/saveStateSize/saveStateSize.pro
new file mode 100644
index 0000000000..6ee128ed3b
--- /dev/null
+++ b/tests/manual/widgets/widgets/qmainwindow/saveStateSize/saveStateSize.pro
@@ -0,0 +1,4 @@
+QT += widgets
+TEMPLATE = app
+TARGET = saveStateSize
+SOURCES += main.cpp
diff --git a/tests/manual/widgets/widgets/widgets.pro b/tests/manual/widgets/widgets/widgets.pro
new file mode 100644
index 0000000000..1fccb09d79
--- /dev/null
+++ b/tests/manual/widgets/widgets/widgets.pro
@@ -0,0 +1,5 @@
+TEMPLATE = subdirs
+SUBDIRS = bigmenucreator \
+ defaultUpMenuBar \
+ multiscreen-menus \
+ qtoolbutton/menuOnMultiScreens
diff --git a/tests/testserver/apache2/.gitattributes b/tests/testserver/apache2/.gitattributes
new file mode 100644
index 0000000000..67af4c73e8
--- /dev/null
+++ b/tests/testserver/apache2/.gitattributes
@@ -0,0 +1,2 @@
+* text eol=lf
+*.gif -text
diff --git a/tests/testserver/apache2/apache2.sh b/tests/testserver/apache2/apache2.sh
index 4b0c74e2c4..d5075c7096 100755
--- a/tests/testserver/apache2/apache2.sh
+++ b/tests/testserver/apache2/apache2.sh
@@ -73,5 +73,8 @@ touch -d "2007-05-22 12:04:57 GMT" /home/$USER/www/htdocs/fluke.gif
# Create 10MB file for use by tst_Q*::downloadBigFile and interruption tests:
su $USER -c "/bin/dd if=/dev/zero of=~/www/htdocs/mediumfile bs=1 count=0 seek=10000000"
+# Emulate test server's hierarchy:
+su $USER -c "ln -s ~/www/htdocs/rfcs/rfc2616.html ~/www/htdocs/deflate/"
+
# enable service with installed configurations
service apache2 restart
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol-expire.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol-expire.cgi
new file mode 100755
index 0000000000..7dc506fc1e
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol-expire.cgi
@@ -0,0 +1,7 @@
+#!/bin/bash
+# cache control takes precedence over expires
+echo "Cache-Control: max-age=-1"
+echo "Expires: Mon, 30 Oct 2028 14:19:41 GMT"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol.cgi
new file mode 100755
index 0000000000..f2edfc161f
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol.cgi
@@ -0,0 +1,13 @@
+#!/bin/bash
+if [ ! -z ${HTTP_IF_MODIFIED_SINCE} ] ; then
+ echo "Status: 304"
+ echo ""
+ exit;
+fi
+
+cc=`echo "${QUERY_STRING}" | sed -e s/%20/\ /g`
+echo "Cache-Control: $cc"
+echo "Last-Modified: Sat, 31 Oct 1981 06:00:00 GMT"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol200.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol200.cgi
new file mode 100755
index 0000000000..e44d5ed570
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_cachecontrol200.cgi
@@ -0,0 +1,9 @@
+#!/bin/bash
+cc=`echo "${QUERY_STRING}" | sed -e s/%20/\ /g`
+echo "Status: 200"
+echo "Cache-Control: $cc"
+echo "Last-Modified: Sat, 31 Oct 1981 06:00:00 GMT"
+echo "Content-type: text/html";
+echo "X-Script: $0"
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag200.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag200.cgi
new file mode 100755
index 0000000000..0966abfdd1
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag200.cgi
@@ -0,0 +1,5 @@
+#!/bin/bash
+echo "ETag: foo"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag304.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag304.cgi
new file mode 100755
index 0000000000..91a4b922bd
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_etag304.cgi
@@ -0,0 +1,11 @@
+#!/bin/bash
+if [ ! -z ${HTTP_IF_NONE_MATCH} ] ; then
+ echo "Status: 304"
+ echo ""
+ exit;
+fi
+
+echo "ETag: foo"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires200.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires200.cgi
new file mode 100755
index 0000000000..e18ebc86ad
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires200.cgi
@@ -0,0 +1,5 @@
+#!/bin/bash
+echo "Expires: Sat, 31 Oct 1981 6:00:00 GMT"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires304.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires304.cgi
new file mode 100755
index 0000000000..1c7de1cd77
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_expires304.cgi
@@ -0,0 +1,11 @@
+#!/bin/bash
+if [ ${HTTP_IF_MODIFIED_SINCE} == "Mon, 30 Oct 2028 14:19:41 GMT" ] ; then
+ echo "Status: 304"
+ echo ""
+ exit;
+fi
+
+echo "Expires: Mon, 30 Oct 2028 14:19:41 GMT"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified200.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified200.cgi
new file mode 100755
index 0000000000..5dc219b1e7
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified200.cgi
@@ -0,0 +1,5 @@
+#!/bin/bash
+echo "Last-Modified: Sat, 31 Oct 1981 6:00:00 GMT"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified304.cgi b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified304.cgi
new file mode 100755
index 0000000000..bdf23bed2f
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/cgi-bin/httpcachetest_lastModified304.cgi
@@ -0,0 +1,11 @@
+#!/bin/bash
+if [ ${HTTP_IF_MODIFIED_SINCE} == "Sat, 31 Oct 1981 06:00:00 GMT" ] ; then
+ echo "Status: 304"
+ echo ""
+ exit;
+fi
+
+echo "Last-Modified: Sat, 31 Oct 1981 06:00:00 GMT"
+echo "Content-type: text/html";
+echo ""
+echo "Hello World!"
diff --git a/tests/testserver/apache2/testdata/www/htdocs/rfcs/.gitattributes b/tests/testserver/apache2/testdata/www/htdocs/rfcs/.gitattributes
new file mode 100644
index 0000000000..1d09ee726e
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/htdocs/rfcs/.gitattributes
@@ -0,0 +1 @@
+rfc2616.html binary
diff --git a/tests/testserver/apache2/testdata/www/htdocs/rfcs/rfc2616.html b/tests/testserver/apache2/testdata/www/htdocs/rfcs/rfc2616.html
new file mode 100644
index 0000000000..0e3282fb8d
--- /dev/null
+++ b/tests/testserver/apache2/testdata/www/htdocs/rfcs/rfc2616.html
@@ -0,0 +1,8380 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html><head><title>RFC 2616 (rfc2616) - Hypertext Transfer Protocol -- HTTP/1.1</title>
+
+
+
+<meta name="description" content="RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1">
+<meta name="obsoletes" content="RFC2068">
+<script language="JavaScript1.2">
+function erfc(s)
+{document.write("<A href=\"/rfccomment.php?rfcnum="+s+"\" target=\"_blank\" onclick=\"window.open('/rfccomment.php?rfcnum="+s+"','Popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=680,height=530,left=30,top=43'); return false;\")>Comment on RFC "+s+"</A>\n");}
+//-->
+</script></head><body bgcolor="#ffffff" text="#000000">
+<p align="center"><img src="rfc2616_files/library.htm" alt="" align="middle" border="0" height="62" width="150"></p>
+<h1 align="center">RFC 2616 (RFC2616)</h1>
+<p align="center">Internet RFC/STD/FYI/BCP Archives</p>
+
+<div align="center">[ <a href="http://firefly.troll.no/rfcs/">RFC Index</a> | <a href="http://firefly.troll.no/rfcs/rfcsearch.html">RFC Search</a> | <a href="http://firefly.troll.no/faqs/">Usenet FAQs</a> | <a href="http://firefly.troll.no/contrib/">Web FAQs</a> | <a href="http://firefly.troll.no/docs/">Documents</a> | <a href="http://www.city-data.com/">Cities</a> ]
+<p>
+<strong>Alternate Formats:</strong>
+ <a href="http://firefly.troll.no/ftp/rfc/rfc2616.txt">rfc2616.txt</a> |
+ <a href="http://firefly.troll.no/ftp/rfc/rfc2616.ps">rfc2616.ps</a> |
+ <a href="http://firefly.troll.no/ftp/rfc/rfc2616.pdf">rfc2616.pdf</a></p></div>
+<p align="center"><script language="JavaScript"><!--
+erfc("2616");
+// --></script><a href="http://firefly.troll.no/rfccomment.php?rfcnum=2616" target="_blank" onclick="window.open('/rfccomment.php?rfcnum=2616','Popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=680,height=530,left=30,top=43'); return false;" )="">Comment on RFC 2616</a>
+</p>
+<h3 align="center">RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1</h3>
+<hr noshade="noshade" size="2">
+<pre>
+Network Working Group R. Fielding
+Request for Comments: 2616 UC Irvine
+Obsoletes: 2068 J. Gettys
+Category: Standards Track Compaq/W3C
+ J. Mogul
+ Compaq
+ H. Frystyk
+ W3C/MIT
+ L. Masinter
+ Xerox
+ P. Leach
+ Microsoft
+ T. Berners-Lee
+ W3C/MIT
+ June 1999
+
+ Hypertext Transfer Protocol -- HTTP/1.1
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (1999). All Rights Reserved.
+
+Abstract
+
+ The Hypertext Transfer Protocol (HTTP) is an application-level
+ protocol for distributed, collaborative, hypermedia information
+ systems. It is a generic, stateless, protocol which can be used for
+ many tasks beyond its use for hypertext, such as name servers and
+ distributed object management systems, through extension of its
+ request methods, error codes and headers [47]. A feature of HTTP is
+ the typing and negotiation of data representation, allowing systems
+ to be built independently of the data being transferred.
+
+ HTTP has been in use by the World-Wide Web global information
+ initiative since 1990. This specification defines the protocol
+ referred to as "HTTP/1.1", and is an update to <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> [33].
+
+Table of Contents
+
+ 1 Introduction ...................................................7
+ 1.1 Purpose......................................................7
+ 1.2 Requirements .................................................8
+ 1.3 Terminology ..................................................8
+ 1.4 Overall Operation ...........................................12
+ 2 Notational Conventions and Generic Grammar ....................14
+ 2.1 Augmented BNF ...............................................14
+ 2.2 Basic Rules .................................................15
+ 3 Protocol Parameters ...........................................17
+ 3.1 HTTP Version ................................................17
+ 3.2 Uniform Resource Identifiers ................................18
+ 3.2.1 General Syntax ...........................................19
+ 3.2.2 http URL .................................................19
+ 3.2.3 URI Comparison ...........................................20
+ 3.3 Date/Time Formats ...........................................20
+ 3.3.1 Full Date ................................................20
+ 3.3.2 Delta Seconds ............................................21
+ 3.4 Character Sets ..............................................21
+ 3.4.1 Missing Charset ..........................................22
+ 3.5 Content Codings .............................................23
+ 3.6 Transfer Codings ............................................24
+ 3.6.1 Chunked Transfer Coding ..................................25
+ 3.7 Media Types .................................................26
+ 3.7.1 Canonicalization and Text Defaults .......................27
+ 3.7.2 Multipart Types ..........................................27
+ 3.8 Product Tokens ..............................................28
+ 3.9 Quality Values ..............................................29
+ 3.10 Language Tags ...............................................29
+ 3.11 Entity Tags .................................................30
+ 3.12 Range Units .................................................30
+ 4 HTTP Message ..................................................31
+ 4.1 Message Types ...............................................31
+ 4.2 Message Headers .............................................31
+ 4.3 Message Body ................................................32
+ 4.4 Message Length ..............................................33
+ 4.5 General Header Fields .......................................34
+ 5 Request .......................................................35
+ 5.1 Request-Line ................................................35
+ 5.1.1 Method ...................................................36
+ 5.1.2 Request-URI ..............................................36
+ 5.2 The Resource Identified by a Request ........................38
+ 5.3 Request Header Fields .......................................38
+ 6 Response ......................................................39
+ 6.1 Status-Line .................................................39
+ 6.1.1 Status Code and Reason Phrase ............................39
+ 6.2 Response Header Fields ......................................41
+
+ 7 Entity ........................................................42
+ 7.1 Entity Header Fields ........................................42
+ 7.2 Entity Body .................................................43
+ 7.2.1 Type .....................................................43
+ 7.2.2 Entity Length ............................................43
+ 8 Connections ...................................................44
+ 8.1 Persistent Connections ......................................44
+ 8.1.1 Purpose ..................................................44
+ 8.1.2 Overall Operation ........................................45
+ 8.1.3 Proxy Servers ............................................46
+ 8.1.4 Practical Considerations .................................46
+ 8.2 Message Transmission Requirements ...........................47
+ 8.2.1 Persistent Connections and Flow Control ..................47
+ 8.2.2 Monitoring Connections for Error Status Messages .........48
+ 8.2.3 Use of the 100 (Continue) Status .........................48
+ 8.2.4 Client Behavior if Server Prematurely Closes Connection ..50
+ 9 Method Definitions ............................................51
+ 9.1 Safe and Idempotent Methods .................................51
+ 9.1.1 Safe Methods .............................................51
+ 9.1.2 Idempotent Methods .......................................51
+ 9.2 OPTIONS .....................................................52
+ 9.3 GET .........................................................53
+ 9.4 HEAD ........................................................54
+ 9.5 POST ........................................................54
+ 9.6 PUT .........................................................55
+ 9.7 DELETE ......................................................56
+ 9.8 TRACE .......................................................56
+ 9.9 CONNECT .....................................................57
+ 10 Status Code Definitions ......................................57
+ 10.1 Informational 1xx ...........................................57
+ 10.1.1 100 Continue .............................................58
+ 10.1.2 101 Switching Protocols ..................................58
+ 10.2 Successful 2xx ..............................................58
+ 10.2.1 200 OK ...................................................58
+ 10.2.2 201 Created ..............................................59
+ 10.2.3 202 Accepted .............................................59
+ 10.2.4 203 Non-Authoritative Information ........................59
+ 10.2.5 204 No Content ...........................................60
+ 10.2.6 205 Reset Content ........................................60
+ 10.2.7 206 Partial Content ......................................60
+ 10.3 Redirection 3xx .............................................61
+ 10.3.1 300 Multiple Choices .....................................61
+ 10.3.2 301 Moved Permanently ....................................62
+ 10.3.3 302 Found ................................................62
+ 10.3.4 303 See Other ............................................63
+ 10.3.5 304 Not Modified .........................................63
+ 10.3.6 305 Use Proxy ............................................64
+ 10.3.7 306 (Unused) .............................................64
+
+ 10.3.8 307 Temporary Redirect ...................................65
+ 10.4 Client Error 4xx ............................................65
+ 10.4.1 400 Bad Request .........................................65
+ 10.4.2 401 Unauthorized ........................................66
+ 10.4.3 402 Payment Required ....................................66
+ 10.4.4 403 Forbidden ...........................................66
+ 10.4.5 404 Not Found ...........................................66
+ 10.4.6 405 Method Not Allowed ..................................66
+ 10.4.7 406 Not Acceptable ......................................67
+ 10.4.8 407 Proxy Authentication Required .......................67
+ 10.4.9 408 Request Timeout .....................................67
+ 10.4.10 409 Conflict ............................................67
+ 10.4.11 410 Gone ................................................68
+ 10.4.12 411 Length Required .....................................68
+ 10.4.13 412 Precondition Failed .................................68
+ 10.4.14 413 Request Entity Too Large ............................69
+ 10.4.15 414 Request-URI Too Long ................................69
+ 10.4.16 415 Unsupported Media Type ..............................69
+ 10.4.17 416 Requested Range Not Satisfiable .....................69
+ 10.4.18 417 Expectation Failed ..................................70
+ 10.5 Server Error 5xx ............................................70
+ 10.5.1 500 Internal Server Error ................................70
+ 10.5.2 501 Not Implemented ......................................70
+ 10.5.3 502 Bad Gateway ..........................................70
+ 10.5.4 503 Service Unavailable ..................................70
+ 10.5.5 504 Gateway Timeout ......................................71
+ 10.5.6 505 HTTP Version Not Supported ...........................71
+ 11 Access Authentication ........................................71
+ 12 Content Negotiation ..........................................71
+ 12.1 Server-driven Negotiation ...................................72
+ 12.2 Agent-driven Negotiation ....................................73
+ 12.3 Transparent Negotiation .....................................74
+ 13 Caching in HTTP ..............................................74
+ 13.1.1 Cache Correctness ........................................75
+ 13.1.2 Warnings .................................................76
+ 13.1.3 Cache-control Mechanisms .................................77
+ 13.1.4 Explicit User Agent Warnings .............................78
+ 13.1.5 Exceptions to the Rules and Warnings .....................78
+ 13.1.6 Client-controlled Behavior ...............................79
+ 13.2 Expiration Model ............................................79
+ 13.2.1 Server-Specified Expiration ..............................79
+ 13.2.2 Heuristic Expiration .....................................80
+ 13.2.3 Age Calculations .........................................80
+ 13.2.4 Expiration Calculations ..................................83
+ 13.2.5 Disambiguating Expiration Values .........................84
+ 13.2.6 Disambiguating Multiple Responses ........................84
+ 13.3 Validation Model ............................................85
+ 13.3.1 Last-Modified Dates ......................................86
+
+ 13.3.2 Entity Tag Cache Validators ..............................86
+ 13.3.3 Weak and Strong Validators ...............................86
+ 13.3.4 Rules for When to Use Entity Tags and Last-Modified Dates.89
+ 13.3.5 Non-validating Conditionals ..............................90
+ 13.4 Response Cacheability .......................................91
+ 13.5 Constructing Responses From Caches ..........................92
+ 13.5.1 End-to-end and Hop-by-hop Headers ........................92
+ 13.5.2 Non-modifiable Headers ...................................92
+ 13.5.3 Combining Headers ........................................94
+ 13.5.4 Combining Byte Ranges ....................................95
+ 13.6 Caching Negotiated Responses ................................95
+ 13.7 Shared and Non-Shared Caches ................................96
+ 13.8 Errors or Incomplete Response Cache Behavior ................97
+ 13.9 Side Effects of GET and HEAD ................................97
+ 13.10 Invalidation After Updates or Deletions ...................97
+ 13.11 Write-Through Mandatory ...................................98
+ 13.12 Cache Replacement .........................................99
+ 13.13 History Lists .............................................99
+ 14 Header Field Definitions ....................................100
+ 14.1 Accept .....................................................100
+ 14.2 Accept-Charset .............................................102
+ 14.3 Accept-Encoding ............................................102
+ 14.4 Accept-Language ............................................104
+ 14.5 Accept-Ranges ..............................................105
+ 14.6 Age ........................................................106
+ 14.7 Allow ......................................................106
+ 14.8 Authorization ..............................................107
+ 14.9 Cache-Control ..............................................108
+ 14.9.1 What is Cacheable .......................................109
+ 14.9.2 What May be Stored by Caches ............................110
+ 14.9.3 Modifications of the Basic Expiration Mechanism .........111
+ 14.9.4 Cache Revalidation and Reload Controls ..................113
+ 14.9.5 No-Transform Directive ..................................115
+ 14.9.6 Cache Control Extensions ................................116
+ 14.10 Connection ...............................................117
+ 14.11 Content-Encoding .........................................118
+ 14.12 Content-Language .........................................118
+ 14.13 Content-Length ...........................................119
+ 14.14 Content-Location .........................................120
+ 14.15 Content-MD5 ..............................................121
+ 14.16 Content-Range ............................................122
+ 14.17 Content-Type .............................................124
+ 14.18 Date .....................................................124
+ 14.18.1 Clockless Origin Server Operation ......................125
+ 14.19 ETag .....................................................126
+ 14.20 Expect ...................................................126
+ 14.21 Expires ..................................................127
+ 14.22 From .....................................................128
+
+ 14.23 Host .....................................................128
+ 14.24 If-Match .................................................129
+ 14.25 If-Modified-Since ........................................130
+ 14.26 If-None-Match ............................................132
+ 14.27 If-Range .................................................133
+ 14.28 If-Unmodified-Since ......................................134
+ 14.29 Last-Modified ............................................134
+ 14.30 Location .................................................135
+ 14.31 Max-Forwards .............................................136
+ 14.32 Pragma ...................................................136
+ 14.33 Proxy-Authenticate .......................................137
+ 14.34 Proxy-Authorization ......................................137
+ 14.35 Range ....................................................138
+ 14.35.1 Byte Ranges ...........................................138
+ 14.35.2 Range Retrieval Requests ..............................139
+ 14.36 Referer ..................................................140
+ 14.37 Retry-After ..............................................141
+ 14.38 Server ...................................................141
+ 14.39 TE .......................................................142
+ 14.40 Trailer ..................................................143
+ 14.41 Transfer-Encoding..........................................143
+ 14.42 Upgrade ..................................................144
+ 14.43 User-Agent ...............................................145
+ 14.44 Vary .....................................................145
+ 14.45 Via ......................................................146
+ 14.46 Warning ..................................................148
+ 14.47 WWW-Authenticate .........................................150
+ 15 Security Considerations .......................................150
+ 15.1 Personal Information....................................151
+ 15.1.1 Abuse of Server Log Information .........................151
+ 15.1.2 Transfer of Sensitive Information .......................151
+ 15.1.3 Encoding Sensitive Information in URI's .................152
+ 15.1.4 Privacy Issues Connected to Accept Headers ..............152
+ 15.2 Attacks Based On File and Path Names .......................153
+ 15.3 DNS Spoofing ...............................................154
+ 15.4 Location Headers and Spoofing ..............................154
+ 15.5 Content-Disposition Issues .................................154
+ 15.6 Authentication Credentials and Idle Clients ................155
+ 15.7 Proxies and Caching ........................................155
+ 15.7.1 Denial of Service Attacks on Proxies....................156
+ 16 Acknowledgments .............................................156
+ 17 References ..................................................158
+ 18 Authors' Addresses ..........................................162
+ 19 Appendices ..................................................164
+ 19.1 Internet Media Type message/http and application/http ......164
+ 19.2 Internet Media Type multipart/byteranges ...................165
+ 19.3 Tolerant Applications ......................................166
+ 19.4 Differences Between HTTP Entities and <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a> Entities ....167
+
+ 19.4.1 MIME-Version ............................................167
+ 19.4.2 Conversion to Canonical Form ............................167
+ 19.4.3 Conversion of Date Formats ..............................168
+ 19.4.4 Introduction of Content-Encoding ........................168
+ 19.4.5 No Content-Transfer-Encoding ............................168
+ 19.4.6 Introduction of Transfer-Encoding .......................169
+ 19.4.7 MHTML and Line Length Limitations .......................169
+ 19.5 Additional Features ........................................169
+ 19.5.1 Content-Disposition .....................................170
+ 19.6 Compatibility with Previous Versions .......................170
+ 19.6.1 Changes from HTTP/1.0 ...................................171
+ 19.6.2 Compatibility with HTTP/1.0 Persistent Connections ......172
+ 19.6.3 Changes from <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> ...................................172
+ 20 Index .......................................................175
+ 21 Full Copyright Statement ....................................176
+
+1 Introduction
+
+1.1 Purpose
+
+ The Hypertext Transfer Protocol (HTTP) is an application-level
+ protocol for distributed, collaborative, hypermedia information
+ systems. HTTP has been in use by the World-Wide Web global
+ information initiative since 1990. The first version of HTTP,
+ referred to as HTTP/0.9, was a simple protocol for raw data transfer
+ across the Internet. HTTP/1.0, as defined by <a href="http://firefly.troll.no/rfcs/rfc1945.html">RFC 1945</a> [6], improved
+ the protocol by allowing messages to be in the format of MIME-like
+ messages, containing metainformation about the data transferred and
+ modifiers on the request/response semantics. However, HTTP/1.0 does
+ not sufficiently take into consideration the effects of hierarchical
+ proxies, caching, the need for persistent connections, or virtual
+ hosts. In addition, the proliferation of incompletely-implemented
+ applications calling themselves "HTTP/1.0" has necessitated a
+ protocol version change in order for two communicating applications
+ to determine each other's true capabilities.
+
+ This specification defines the protocol referred to as "HTTP/1.1".
+ This protocol includes more stringent requirements than HTTP/1.0 in
+ order to ensure reliable implementation of its features.
+
+ Practical information systems require more functionality than simple
+ retrieval, including search, front-end update, and annotation. HTTP
+ allows an open-ended set of methods and headers that indicate the
+ purpose of a request [47]. It builds on the discipline of reference
+ provided by the Uniform Resource Identifier (URI) [3], as a location
+ (URL) [4] or name (URN) [20], for indicating the resource to which a
+
+ method is to be applied. Messages are passed in a format similar to
+ that used by Internet mail [9] as defined by the Multipurpose
+ Internet Mail Extensions (MIME) [7].
+
+ HTTP is also used as a generic protocol for communication between
+ user agents and proxies/gateways to other Internet systems, including
+ those supported by the SMTP [16], NNTP [13], FTP [18], Gopher [2],
+ and WAIS [10] protocols. In this way, HTTP allows basic hypermedia
+ access to resources available from diverse applications.
+
+1.2 Requirements
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in <a href="http://firefly.troll.no/rfcs/rfc2119.html">RFC 2119</a> [34].
+
+ An implementation is not compliant if it fails to satisfy one or more
+ of the MUST or REQUIRED level requirements for the protocols it
+ implements. An implementation that satisfies all the MUST or REQUIRED
+ level and all the SHOULD level requirements for its protocols is said
+ to be "unconditionally compliant"; one that satisfies all the MUST
+ level requirements but not all the SHOULD level requirements for its
+ protocols is said to be "conditionally compliant."
+
+1.3 Terminology
+
+ This specification uses a number of terms to refer to the roles
+ played by participants in, and objects of, the HTTP communication.
+
+ connection
+ A transport layer virtual circuit established between two programs
+ for the purpose of communication.
+
+ message
+ The basic unit of HTTP communication, consisting of a structured
+ sequence of octets matching the syntax defined in section 4 and
+ transmitted via the connection.
+
+ request
+ An HTTP request message, as defined in section 5.
+
+ response
+ An HTTP response message, as defined in section 6.
+
+ resource
+ A network data object or service that can be identified by a URI,
+ as defined in section 3.2. Resources may be available in multiple
+ representations (e.g. multiple languages, data formats, size, and
+ resolutions) or vary in other ways.
+
+ entity
+ The information transferred as the payload of a request or
+ response. An entity consists of metainformation in the form of
+ entity-header fields and content in the form of an entity-body, as
+ described in section 7.
+
+ representation
+ An entity included with a response that is subject to content
+ negotiation, as described in section 12. There may exist multiple
+ representations associated with a particular response status.
+
+ content negotiation
+ The mechanism for selecting the appropriate representation when
+ servicing a request, as described in section 12. The
+ representation of entities in any response can be negotiated
+ (including error responses).
+
+ variant
+ A resource may have one, or more than one, representation(s)
+ associated with it at any given instant. Each of these
+ representations is termed a `varriant'. Use of the term `variant'
+ does not necessarily imply that the resource is subject to content
+ negotiation.
+
+ client
+ A program that establishes connections for the purpose of sending
+ requests.
+
+ user agent
+ The client which initiates a request. These are often browsers,
+ editors, spiders (web-traversing robots), or other end user tools.
+
+ server
+ An application program that accepts connections in order to
+ service requests by sending back responses. Any given program may
+ be capable of being both a client and a server; our use of these
+ terms refers only to the role being performed by the program for a
+ particular connection, rather than to the program's capabilities
+ in general. Likewise, any server may act as an origin server,
+ proxy, gateway, or tunnel, switching behavior based on the nature
+ of each request.
+
+ origin server
+ The server on which a given resource resides or is to be created.
+
+ proxy
+ An intermediary program which acts as both a server and a client
+ for the purpose of making requests on behalf of other clients.
+ Requests are serviced internally or by passing them on, with
+ possible translation, to other servers. A proxy MUST implement
+ both the client and server requirements of this specification. A
+ "transparent proxy" is a proxy that does not modify the request or
+ response beyond what is required for proxy authentication and
+ identification. A "non-transparent proxy" is a proxy that modifies
+ the request or response in order to provide some added service to
+ the user agent, such as group annotation services, media type
+ transformation, protocol reduction, or anonymity filtering. Except
+ where either transparent or non-transparent behavior is explicitly
+ stated, the HTTP proxy requirements apply to both types of
+ proxies.
+
+ gateway
+ A server which acts as an intermediary for some other server.
+ Unlike a proxy, a gateway receives requests as if it were the
+ origin server for the requested resource; the requesting client
+ may not be aware that it is communicating with a gateway.
+
+ tunnel
+ An intermediary program which is acting as a blind relay between
+ two connections. Once active, a tunnel is not considered a party
+ to the HTTP communication, though the tunnel may have been
+ initiated by an HTTP request. The tunnel ceases to exist when both
+ ends of the relayed connections are closed.
+
+ cache
+ A program's local store of response messages and the subsystem
+ that controls its message storage, retrieval, and deletion. A
+ cache stores cacheable responses in order to reduce the response
+ time and network bandwidth consumption on future, equivalent
+ requests. Any client or server may include a cache, though a cache
+ cannot be used by a server that is acting as a tunnel.
+
+ cacheable
+ A response is cacheable if a cache is allowed to store a copy of
+ the response message for use in answering subsequent requests. The
+ rules for determining the cacheability of HTTP responses are
+ defined in section 13. Even if a resource is cacheable, there may
+ be additional constraints on whether a cache can use the cached
+ copy for a particular request.
+
+ first-hand
+ A response is first-hand if it comes directly and without
+ unnecessary delay from the origin server, perhaps via one or more
+ proxies. A response is also first-hand if its validity has just
+ been checked directly with the origin server.
+
+ explicit expiration time
+ The time at which the origin server intends that an entity should
+ no longer be returned by a cache without further validation.
+
+ heuristic expiration time
+ An expiration time assigned by a cache when no explicit expiration
+ time is available.
+
+ age
+ The age of a response is the time since it was sent by, or
+ successfully validated with, the origin server.
+
+ freshness lifetime
+ The length of time between the generation of a response and its
+ expiration time.
+
+ fresh
+ A response is fresh if its age has not yet exceeded its freshness
+ lifetime.
+
+ stale
+ A response is stale if its age has passed its freshness lifetime.
+
+ semantically transparent
+ A cache behaves in a "semantically transparent" manner, with
+ respect to a particular response, when its use affects neither the
+ requesting client nor the origin server, except to improve
+ performance. When a cache is semantically transparent, the client
+ receives exactly the same response (except for hop-by-hop headers)
+ that it would have received had its request been handled directly
+ by the origin server.
+
+ validator
+ A protocol element (e.g., an entity tag or a Last-Modified time)
+ that is used to find out whether a cache entry is an equivalent
+ copy of an entity.
+
+ upstream/downstream
+ Upstream and downstream describe the flow of a message: all
+ messages flow from upstream to downstream.
+
+ inbound/outbound
+ Inbound and outbound refer to the request and response paths for
+ messages: "inbound" means "traveling toward the origin server",
+ and "outbound" means "traveling toward the user agent"
+
+1.4 Overall Operation
+
+ The HTTP protocol is a request/response protocol. A client sends a
+ request to the server in the form of a request method, URI, and
+ protocol version, followed by a MIME-like message containing request
+ modifiers, client information, and possible body content over a
+ connection with a server. The server responds with a status line,
+ including the message's protocol version and a success or error code,
+ followed by a MIME-like message containing server information, entity
+ metainformation, and possible entity-body content. The relationship
+ between HTTP and MIME is described in appendix 19.4.
+
+ Most HTTP communication is initiated by a user agent and consists of
+ a request to be applied to a resource on some origin server. In the
+ simplest case, this may be accomplished via a single connection (v)
+ between the user agent (UA) and the origin server (O).
+
+ request chain ------------------------&gt;
+ UA -------------------v------------------- O
+ &lt;----------------------- response chain
+
+ A more complicated situation occurs when one or more intermediaries
+ are present in the request/response chain. There are three common
+ forms of intermediary: proxy, gateway, and tunnel. A proxy is a
+ forwarding agent, receiving requests for a URI in its absolute form,
+ rewriting all or part of the message, and forwarding the reformatted
+ request toward the server identified by the URI. A gateway is a
+ receiving agent, acting as a layer above some other server(s) and, if
+ necessary, translating the requests to the underlying server's
+ protocol. A tunnel acts as a relay point between two connections
+ without changing the messages; tunnels are used when the
+ communication needs to pass through an intermediary (such as a
+ firewall) even when the intermediary cannot understand the contents
+ of the messages.
+
+ request chain --------------------------------------&gt;
+ UA -----v----- A -----v----- B -----v----- C -----v----- O
+ &lt;------------------------------------- response chain
+
+ The figure above shows three intermediaries (A, B, and C) between the
+ user agent and origin server. A request or response message that
+ travels the whole chain will pass through four separate connections.
+ This distinction is important because some HTTP communication options
+
+ may apply only to the connection with the nearest, non-tunnel
+ neighbor, only to the end-points of the chain, or to all connections
+ along the chain. Although the diagram is linear, each participant may
+ be engaged in multiple, simultaneous communications. For example, B
+ may be receiving requests from many clients other than A, and/or
+ forwarding requests to servers other than C, at the same time that it
+ is handling A's request.
+
+ Any party to the communication which is not acting as a tunnel may
+ employ an internal cache for handling requests. The effect of a cache
+ is that the request/response chain is shortened if one of the
+ participants along the chain has a cached response applicable to that
+ request. The following illustrates the resulting chain if B has a
+ cached copy of an earlier response from O (via C) for a request which
+ has not been cached by UA or A.
+
+ request chain ----------&gt;
+ UA -----v----- A -----v----- B - - - - - - C - - - - - - O
+ &lt;--------- response chain
+
+ Not all responses are usefully cacheable, and some requests may
+ contain modifiers which place special requirements on cache behavior.
+ HTTP requirements for cache behavior and cacheable responses are
+ defined in section 13.
+
+ In fact, there are a wide variety of architectures and configurations
+ of caches and proxies currently being experimented with or deployed
+ across the World Wide Web. These systems include national hierarchies
+ of proxy caches to save transoceanic bandwidth, systems that
+ broadcast or multicast cache entries, organizations that distribute
+ subsets of cached data via CD-ROM, and so on. HTTP systems are used
+ in corporate intranets over high-bandwidth links, and for access via
+ PDAs with low-power radio links and intermittent connectivity. The
+ goal of HTTP/1.1 is to support the wide diversity of configurations
+ already deployed while introducing protocol constructs that meet the
+ needs of those who build web applications that require high
+ reliability and, failing that, at least reliable indications of
+ failure.
+
+ HTTP communication usually takes place over TCP/IP connections. The
+ default port is TCP 80 [19], but other ports can be used. This does
+ not preclude HTTP from being implemented on top of any other protocol
+ on the Internet, or on other networks. HTTP only presumes a reliable
+ transport; any protocol that provides such guarantees can be used;
+ the mapping of the HTTP/1.1 request and response structures onto the
+ transport data units of the protocol in question is outside the scope
+ of this specification.
+
+ In HTTP/1.0, most implementations used a new connection for each
+ request/response exchange. In HTTP/1.1, a connection may be used for
+ one or more request/response exchanges, although connections may be
+ closed for a variety of reasons (see section 8.1).
+
+2 Notational Conventions and Generic Grammar
+
+2.1 Augmented BNF
+
+ All of the mechanisms specified in this document are described in
+ both prose and an augmented Backus-Naur Form (BNF) similar to that
+ used by <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a> [9]. Implementors will need to be familiar with the
+ notation in order to understand this specification. The augmented BNF
+ includes the following constructs:
+
+ name = definition
+ The name of a rule is simply the name itself (without any
+ enclosing "&lt;" and "&gt;") and is separated from its definition by the
+ equal "=" character. White space is only significant in that
+ indentation of continuation lines is used to indicate a rule
+ definition that spans more than one line. Certain basic rules are
+ in uppercase, such as SP, LWS, HT, CRLF, DIGIT, ALPHA, etc. Angle
+ brackets are used within definitions whenever their presence will
+ facilitate discerning the use of rule names.
+
+ "literal"
+ Quotation marks surround literal text. Unless stated otherwise,
+ the text is case-insensitive.
+
+ rule1 | rule2
+ Elements separated by a bar ("|") are alternatives, e.g., "yes |
+ no" will accept yes or no.
+
+ (rule1 rule2)
+ Elements enclosed in parentheses are treated as a single element.
+ Thus, "(elem (foo | bar) elem)" allows the token sequences "elem
+ foo elem" and "elem bar elem".
+
+ *rule
+ The character "*" preceding an element indicates repetition. The
+ full form is "&lt;n&gt;*&lt;m&gt;element" indicating at least &lt;n&gt; and at most
+ &lt;m&gt; occurrences of element. Default values are 0 and infinity so
+ that "*(element)" allows any number, including zero; "1*element"
+ requires at least one; and "1*2element" allows one or two.
+
+ [rule]
+ Square brackets enclose optional elements; "[foo bar]" is
+ equivalent to "*1(foo bar)".
+
+ N rule
+ Specific repetition: "&lt;n&gt;(element)" is equivalent to
+ "&lt;n&gt;*&lt;n&gt;(element)"; that is, exactly &lt;n&gt; occurrences of (element).
+ Thus 2DIGIT is a 2-digit number, and 3ALPHA is a string of three
+ alphabetic characters.
+
+ #rule
+ A construct "#" is defined, similar to "*", for defining lists of
+ elements. The full form is "&lt;n&gt;#&lt;m&gt;element" indicating at least
+ &lt;n&gt; and at most &lt;m&gt; elements, each separated by one or more commas
+ (",") and OPTIONAL linear white space (LWS). This makes the usual
+ form of lists very easy; a rule such as
+ ( *LWS element *( *LWS "," *LWS element ))
+ can be shown as
+ 1#element
+ Wherever this construct is used, null elements are allowed, but do
+ not contribute to the count of elements present. That is,
+ "(element), , (element) " is permitted, but counts as only two
+ elements. Therefore, where at least one element is required, at
+ least one non-null element MUST be present. Default values are 0
+ and infinity so that "#element" allows any number, including zero;
+ "1#element" requires at least one; and "1#2element" allows one or
+ two.
+
+ ; comment
+ A semi-colon, set off some distance to the right of rule text,
+ starts a comment that continues to the end of line. This is a
+ simple way of including useful notes in parallel with the
+ specifications.
+
+ implied *LWS
+ The grammar described by this specification is word-based. Except
+ where noted otherwise, linear white space (LWS) can be included
+ between any two adjacent words (token or quoted-string), and
+ between adjacent words and separators, without changing the
+ interpretation of a field. At least one delimiter (LWS and/or
+
+ separators) MUST exist between any two tokens (for the definition
+ of "token" below), since they would otherwise be interpreted as a
+ single token.
+
+2.2 Basic Rules
+
+ The following rules are used throughout this specification to
+ describe basic parsing constructs. The US-ASCII coded character set
+ is defined by ANSI X3.4-1986 [21].
+
+ OCTET = &lt;any 8-bit sequence of data&gt;
+ CHAR = &lt;any US-ASCII character (octets 0 - 127)&gt;
+ UPALPHA = &lt;any US-ASCII uppercase letter "A".."Z"&gt;
+ LOALPHA = &lt;any US-ASCII lowercase letter "a".."z"&gt;
+ ALPHA = UPALPHA | LOALPHA
+ DIGIT = &lt;any US-ASCII digit "0".."9"&gt;
+ CTL = &lt;any US-ASCII control character
+ (octets 0 - 31) and DEL (127)&gt;
+ CR = &lt;US-ASCII CR, carriage return (13)&gt;
+ LF = &lt;US-ASCII LF, linefeed (10)&gt;
+ SP = &lt;US-ASCII SP, space (32)&gt;
+ HT = &lt;US-ASCII HT, horizontal-tab (9)&gt;
+ &lt;"&gt; = &lt;US-ASCII double-quote mark (34)&gt;
+
+ HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all
+ protocol elements except the entity-body (see appendix 19.3 for
+ tolerant applications). The end-of-line marker within an entity-body
+ is defined by its associated media type, as described in section 3.7.
+
+ CRLF = CR LF
+
+ HTTP/1.1 header field values can be folded onto multiple lines if the
+ continuation line begins with a space or horizontal tab. All linear
+ white space, including folding, has the same semantics as SP. A
+ recipient MAY replace any linear white space with a single SP before
+ interpreting the field value or forwarding the message downstream.
+
+ LWS = [CRLF] 1*( SP | HT )
+
+ The TEXT rule is only used for descriptive field contents and values
+ that are not intended to be interpreted by the message parser. Words
+ of *TEXT MAY contain characters from character sets other than ISO-
+ 8859-1 [22] only when encoded according to the rules of <a href="http://firefly.troll.no/rfcs/rfc2047.html">RFC 2047</a>
+ [14].
+
+ TEXT = &lt;any OCTET except CTLs,
+ but including LWS&gt;
+
+ A CRLF is allowed in the definition of TEXT only as part of a header
+ field continuation. It is expected that the folding LWS will be
+ replaced with a single SP before interpretation of the TEXT value.
+
+ Hexadecimal numeric characters are used in several protocol elements.
+
+ HEX = "A" | "B" | "C" | "D" | "E" | "F"
+ | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT
+
+ Many HTTP/1.1 header field values consist of words separated by LWS
+ or special characters. These special characters MUST be in a quoted
+ string to be used within a parameter value (as defined in section
+ 3.6).
+
+ token = 1*&lt;any CHAR except CTLs or separators&gt;
+ separators = "(" | ")" | "&lt;" | "&gt;" | "@"
+ | "," | ";" | ":" | "\" | &lt;"&gt;
+ | "/" | "[" | "]" | "?" | "="
+ | "{" | "}" | SP | HT
+
+ Comments can be included in some HTTP header fields by surrounding
+ the comment text with parentheses. Comments are only allowed in
+ fields containing "comment" as part of their field value definition.
+ In all other fields, parentheses are considered part of the field
+ value.
+
+ comment = "(" *( ctext | quoted-pair | comment ) ")"
+ ctext = &lt;any TEXT excluding "(" and ")"&gt;
+
+ A string of text is parsed as a single word if it is quoted using
+ double-quote marks.
+
+ quoted-string = ( &lt;"&gt; *(qdtext | quoted-pair ) &lt;"&gt; )
+ qdtext = &lt;any TEXT except &lt;"&gt;&gt;
+
+ The backslash character ("\") MAY be used as a single-character
+ quoting mechanism only within quoted-string and comment constructs.
+
+ quoted-pair = "\" CHAR
+
+3 Protocol Parameters
+
+3.1 HTTP Version
+
+ HTTP uses a "&lt;major&gt;.&lt;minor&gt;" numbering scheme to indicate versions
+ of the protocol. The protocol versioning policy is intended to allow
+ the sender to indicate the format of a message and its capacity for
+ understanding further HTTP communication, rather than the features
+ obtained via that communication. No change is made to the version
+ number for the addition of message components which do not affect
+ communication behavior or which only add to extensible field values.
+ The &lt;minor&gt; number is incremented when the changes made to the
+ protocol add features which do not change the general message parsing
+ algorithm, but which may add to the message semantics and imply
+ additional capabilities of the sender. The &lt;major&gt; number is
+ incremented when the format of a message within the protocol is
+ changed. See <a href="http://firefly.troll.no/rfcs/rfc2145.html">RFC 2145</a> [36] for a fuller explanation.
+
+ The version of an HTTP message is indicated by an HTTP-Version field
+ in the first line of the message.
+
+ HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT
+
+ Note that the major and minor numbers MUST be treated as separate
+ integers and that each MAY be incremented higher than a single digit.
+ Thus, HTTP/2.4 is a lower version than HTTP/2.13, which in turn is
+ lower than HTTP/12.3. Leading zeros MUST be ignored by recipients and
+ MUST NOT be sent.
+
+ An application that sends a request or response message that includes
+ HTTP-Version of "HTTP/1.1" MUST be at least conditionally compliant
+ with this specification. Applications that are at least conditionally
+ compliant with this specification SHOULD use an HTTP-Version of
+ "HTTP/1.1" in their messages, and MUST do so for any message that is
+ not compatible with HTTP/1.0. For more details on when to send
+ specific HTTP-Version values, see <a href="http://firefly.troll.no/rfcs/rfc2145.html">RFC 2145</a> [36].
+
+ The HTTP version of an application is the highest HTTP version for
+ which the application is at least conditionally compliant.
+
+ Proxy and gateway applications need to be careful when forwarding
+ messages in protocol versions different from that of the application.
+ Since the protocol version indicates the protocol capability of the
+ sender, a proxy/gateway MUST NOT send a message with a version
+ indicator which is greater than its actual version. If a higher
+ version request is received, the proxy/gateway MUST either downgrade
+ the request version, or respond with an error, or switch to tunnel
+ behavior.
+
+ Due to interoperability problems with HTTP/1.0 proxies discovered
+ since the publication of <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a>[33], caching proxies MUST, gateways
+ MAY, and tunnels MUST NOT upgrade the request to the highest version
+ they support. The proxy/gateway's response to that request MUST be in
+ the same major version as the request.
+
+ Note: Converting between versions of HTTP may involve modification
+ of header fields required or forbidden by the versions involved.
+
+3.2 Uniform Resource Identifiers
+
+ URIs have been known by many names: WWW addresses, Universal Document
+ Identifiers, Universal Resource Identifiers [3], and finally the
+ combination of Uniform Resource Locators (URL) [4] and Names (URN)
+ [20]. As far as HTTP is concerned, Uniform Resource Identifiers are
+ simply formatted strings which identify--via name, location, or any
+ other characteristic--a resource.
+
+3.2.1 General Syntax
+
+ URIs in HTTP can be represented in absolute form or relative to some
+ known base URI [11], depending upon the context of their use. The two
+ forms are differentiated by the fact that absolute URIs always begin
+ with a scheme name followed by a colon. For definitive information on
+ URL syntax and semantics, see "Uniform Resource Identifiers (URI):
+ Generic Syntax and Semantics," <a href="http://firefly.troll.no/rfcs/rfc2396.html">RFC 2396</a> [42] (which replaces RFCs
+ 1738 [4] and <a href="http://firefly.troll.no/rfcs/rfc1808.html">RFC 1808</a> [11]). This specification adopts the
+ definitions of "URI-reference", "absoluteURI", "relativeURI", "port",
+ "host","abs_path", "rel_path", and "authority" from that
+ specification.
+
+ The HTTP protocol does not place any a priori limit on the length of
+ a URI. Servers MUST be able to handle the URI of any resource they
+ serve, and SHOULD be able to handle URIs of unbounded length if they
+ provide GET-based forms that could generate such URIs. A server
+ SHOULD return 414 (Request-URI Too Long) status if a URI is longer
+ than the server can handle (see section 10.4.15).
+
+ Note: Servers ought to be cautious about depending on URI lengths
+ above 255 bytes, because some older client or proxy
+ implementations might not properly support these lengths.
+
+3.2.2 http URL
+
+ The "http" scheme is used to locate network resources via the HTTP
+ protocol. This section defines the scheme-specific syntax and
+ semantics for http URLs.
+
+ http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
+
+ If the port is empty or not given, port 80 is assumed. The semantics
+ are that the identified resource is located at the server listening
+ for TCP connections on that port of that host, and the Request-URI
+ for the resource is abs_path (section 5.1.2). The use of IP addresses
+ in URLs SHOULD be avoided whenever possible (see <a href="http://firefly.troll.no/rfcs/rfc1900.html">RFC 1900</a> [24]). If
+ the abs_path is not present in the URL, it MUST be given as "/" when
+ used as a Request-URI for a resource (section 5.1.2). If a proxy
+ receives a host name which is not a fully qualified domain name, it
+ MAY add its domain to the host name it received. If a proxy receives
+ a fully qualified domain name, the proxy MUST NOT change the host
+ name.
+
+3.2.3 URI Comparison
+
+ When comparing two URIs to decide if they match or not, a client
+ SHOULD use a case-sensitive octet-by-octet comparison of the entire
+ URIs, with these exceptions:
+
+ - A port that is empty or not given is equivalent to the default
+ port for that URI-reference;
+
+ - Comparisons of host names MUST be case-insensitive;
+
+ - Comparisons of scheme names MUST be case-insensitive;
+
+ - An empty abs_path is equivalent to an abs_path of "/".
+
+ Characters other than those in the "reserved" and "unsafe" sets (see
+ <a href="http://firefly.troll.no/rfcs/rfc2396.html">RFC 2396</a> [42]) are equivalent to their ""%" HEX HEX" encoding.
+
+ For example, the following three URIs are equivalent:
+
+ <a href="http://abc.com/%7Esmith/home.html">http://abc.com:80/~smith/home.html</a>
+ <a href="http://abc.com/%7Esmith/home.html">http://ABC.com/%7Esmith/home.html</a>
+ <a href="http://firefly.troll.no/%3CA%20HREF=" ftp:="" abc.com="" %7esmith="" home.html="">/ABC.com:/%7esmith/home.html</a>"&gt;http:/<a href="ftp://abc.com/%7esmith/home.html%3C/A%3E">/ABC.com:/%7esmith/home.html</a>
+
+3.3 Date/Time Formats
+
+3.3.1 Full Date
+
+ HTTP applications have historically allowed three different formats
+ for the representation of date/time stamps:
+
+ Sun, 06 Nov 1994 08:49:37 GMT ; <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a>, updated by <a href="http://firefly.troll.no/rfcs/rfc1123.html">RFC 1123</a>
+ Sunday, 06-Nov-94 08:49:37 GMT ; <a href="http://firefly.troll.no/rfcs/rfc850.html">RFC 850</a>, obsoleted by <a href="http://firefly.troll.no/rfcs/rfc1036.html">RFC 1036</a>
+ Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
+
+ The first format is preferred as an Internet standard and represents
+ a fixed-length subset of that defined by <a href="http://firefly.troll.no/rfcs/rfc1123.html">RFC 1123</a> [8] (an update to
+ <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a> [9]). The second format is in common use, but is based on the
+ obsolete <a href="http://firefly.troll.no/rfcs/rfc850.html">RFC 850</a> [12] date format and lacks a four-digit year.
+ HTTP/1.1 clients and servers that parse the date value MUST accept
+ all three formats (for compatibility with HTTP/1.0), though they MUST
+ only generate the <a href="http://firefly.troll.no/rfcs/rfc1123.html">RFC 1123</a> format for representing HTTP-date values
+ in header fields. See section 19.3 for further information.
+
+ Note: Recipients of date values are encouraged to be robust in
+ accepting date values that may have been sent by non-HTTP
+ applications, as is sometimes the case when retrieving or posting
+ messages via proxies/gateways to SMTP or NNTP.
+
+ All HTTP date/time stamps MUST be represented in Greenwich Mean Time
+ (GMT), without exception. For the purposes of HTTP, GMT is exactly
+ equal to UTC (Coordinated Universal Time). This is indicated in the
+ first two formats by the inclusion of "GMT" as the three-letter
+ abbreviation for time zone, and MUST be assumed when reading the
+ asctime format. HTTP-date is case sensitive and MUST NOT include
+ additional LWS beyond that specifically included as SP in the
+ grammar.
+
+ HTTP-date = <a href="http://firefly.troll.no/rfcs/rfc1123.html">rfc1123</a>-date | <a href="http://firefly.troll.no/rfcs/rfc850.html">rfc850</a>-date | asctime-date
+ <a href="http://firefly.troll.no/rfcs/rfc1123.html">rfc1123</a>-date = wkday "," SP date1 SP time SP "GMT"
+ <a href="http://firefly.troll.no/rfcs/rfc850.html">rfc850</a>-date = weekday "," SP date2 SP time SP "GMT"
+ asctime-date = wkday SP date3 SP time SP 4DIGIT
+ date1 = 2DIGIT SP month SP 4DIGIT
+ ; day month year (e.g., 02 Jun 1982)
+ date2 = 2DIGIT "-" month "-" 2DIGIT
+ ; day-month-year (e.g., 02-Jun-82)
+ date3 = month SP ( 2DIGIT | ( SP 1DIGIT ))
+ ; month day (e.g., Jun 2)
+ time = 2DIGIT ":" 2DIGIT ":" 2DIGIT
+ ; 00:00:00 - 23:59:59
+ wkday = "Mon" | "Tue" | "Wed"
+ | "Thu" | "Fri" | "Sat" | "Sun"
+ weekday = "Monday" | "Tuesday" | "Wednesday"
+ | "Thursday" | "Friday" | "Saturday" | "Sunday"
+ month = "Jan" | "Feb" | "Mar" | "Apr"
+ | "May" | "Jun" | "Jul" | "Aug"
+ | "Sep" | "Oct" | "Nov" | "Dec"
+
+ Note: HTTP requirements for the date/time stamp format apply only
+ to their usage within the protocol stream. Clients and servers are
+ not required to use these formats for user presentation, request
+ logging, etc.
+
+3.3.2 Delta Seconds
+
+ Some HTTP header fields allow a time value to be specified as an
+ integer number of seconds, represented in decimal, after the time
+ that the message was received.
+
+ delta-seconds = 1*DIGIT
+
+3.4 Character Sets
+
+ HTTP uses the same definition of the term "character set" as that
+ described for MIME:
+
+ The term "character set" is used in this document to refer to a
+ method used with one or more tables to convert a sequence of octets
+ into a sequence of characters. Note that unconditional conversion in
+ the other direction is not required, in that not all characters may
+ be available in a given character set and a character set may provide
+ more than one sequence of octets to represent a particular character.
+ This definition is intended to allow various kinds of character
+ encoding, from simple single-table mappings such as US-ASCII to
+ complex table switching methods such as those that use ISO-2022's
+ techniques. However, the definition associated with a MIME character
+ set name MUST fully specify the mapping to be performed from octets
+ to characters. In particular, use of external profiling information
+ to determine the exact mapping is not permitted.
+
+ Note: This use of the term "character set" is more commonly
+ referred to as a "character encoding." However, since HTTP and
+ MIME share the same registry, it is important that the terminology
+ also be shared.
+
+ HTTP character sets are identified by case-insensitive tokens. The
+ complete set of tokens is defined by the IANA Character Set registry
+ [19].
+
+ charset = token
+
+ Although HTTP allows an arbitrary token to be used as a charset
+ value, any token that has a predefined value within the IANA
+ Character Set registry [19] MUST represent the character set defined
+ by that registry. Applications SHOULD limit their use of character
+ sets to those defined by the IANA registry.
+
+ Implementors should be aware of IETF character set requirements [38]
+ [41].
+
+3.4.1 Missing Charset
+
+ Some HTTP/1.0 software has interpreted a Content-Type header without
+ charset parameter incorrectly to mean "recipient should guess."
+ Senders wishing to defeat this behavior MAY include a charset
+ parameter even when the charset is ISO-8859-1 and SHOULD do so when
+ it is known that it will not confuse the recipient.
+
+ Unfortunately, some older HTTP/1.0 clients did not deal properly with
+ an explicit charset parameter. HTTP/1.1 recipients MUST respect the
+ charset label provided by the sender; and those user agents that have
+ a provision to "guess" a charset MUST use the charset from the
+
+ content-type field if they support that charset, rather than the
+ recipient's preference, when initially displaying a document. See
+ section 3.7.1.
+
+3.5 Content Codings
+
+ Content coding values indicate an encoding transformation that has
+ been or can be applied to an entity. Content codings are primarily
+ used to allow a document to be compressed or otherwise usefully
+ transformed without losing the identity of its underlying media type
+ and without loss of information. Frequently, the entity is stored in
+ coded form, transmitted directly, and only decoded by the recipient.
+
+ content-coding = token
+
+ All content-coding values are case-insensitive. HTTP/1.1 uses
+ content-coding values in the Accept-Encoding (section 14.3) and
+ Content-Encoding (section 14.11) header fields. Although the value
+ describes the content-coding, what is more important is that it
+ indicates what decoding mechanism will be required to remove the
+ encoding.
+
+ The Internet Assigned Numbers Authority (IANA) acts as a registry for
+ content-coding value tokens. Initially, the registry contains the
+ following tokens:
+
+ gzip An encoding format produced by the file compression program
+ "gzip" (GNU zip) as described in <a href="http://firefly.troll.no/rfcs/rfc1952.html">RFC 1952</a> [25]. This format is a
+ Lempel-Ziv coding (LZ77) with a 32 bit CRC.
+
+ compress
+ The encoding format produced by the common UNIX file compression
+ program "compress". This format is an adaptive Lempel-Ziv-Welch
+ coding (LZW).
+
+ Use of program names for the identification of encoding formats
+ is not desirable and is discouraged for future encodings. Their
+ use here is representative of historical practice, not good
+ design. For compatibility with previous implementations of HTTP,
+ applications SHOULD consider "x-gzip" and "x-compress" to be
+ equivalent to "gzip" and "compress" respectively.
+
+ deflate
+ The "zlib" format defined in <a href="http://firefly.troll.no/rfcs/rfc1950.html">RFC 1950</a> [31] in combination with
+ the "deflate" compression mechanism described in <a href="http://firefly.troll.no/rfcs/rfc1951.html">RFC 1951</a> [29].
+
+ identity
+ The default (identity) encoding; the use of no transformation
+ whatsoever. This content-coding is used only in the Accept-
+ Encoding header, and SHOULD NOT be used in the Content-Encoding
+ header.
+
+ New content-coding value tokens SHOULD be registered; to allow
+ interoperability between clients and servers, specifications of the
+ content coding algorithms needed to implement a new value SHOULD be
+ publicly available and adequate for independent implementation, and
+ conform to the purpose of content coding defined in this section.
+
+3.6 Transfer Codings
+
+ Transfer-coding values are used to indicate an encoding
+ transformation that has been, can be, or may need to be applied to an
+ entity-body in order to ensure "safe transport" through the network.
+ This differs from a content coding in that the transfer-coding is a
+ property of the message, not of the original entity.
+
+ transfer-coding = "chunked" | transfer-extension
+ transfer-extension = token *( ";" parameter )
+
+ Parameters are in the form of attribute/value pairs.
+
+ parameter = attribute "=" value
+ attribute = token
+ value = token | quoted-string
+
+ All transfer-coding values are case-insensitive. HTTP/1.1 uses
+ transfer-coding values in the TE header field (section 14.39) and in
+ the Transfer-Encoding header field (section 14.41).
+
+ Whenever a transfer-coding is applied to a message-body, the set of
+ transfer-codings MUST include "chunked", unless the message is
+ terminated by closing the connection. When the "chunked" transfer-
+ coding is used, it MUST be the last transfer-coding applied to the
+ message-body. The "chunked" transfer-coding MUST NOT be applied more
+ than once to a message-body. These rules allow the recipient to
+ determine the transfer-length of the message (section 4.4).
+
+ Transfer-codings are analogous to the Content-Transfer-Encoding
+ values of MIME [7], which were designed to enable safe transport of
+ binary data over a 7-bit transport service. However, safe transport
+ has a different focus for an 8bit-clean transfer protocol. In HTTP,
+ the only unsafe characteristic of message-bodies is the difficulty in
+ determining the exact body length (section 7.2.2), or the desire to
+ encrypt data over a shared transport.
+
+ The Internet Assigned Numbers Authority (IANA) acts as a registry for
+ transfer-coding value tokens. Initially, the registry contains the
+ following tokens: "chunked" (section 3.6.1), "identity" (section
+ 3.6.2), "gzip" (section 3.5), "compress" (section 3.5), and "deflate"
+ (section 3.5).
+
+ New transfer-coding value tokens SHOULD be registered in the same way
+ as new content-coding value tokens (section 3.5).
+
+ A server which receives an entity-body with a transfer-coding it does
+ not understand SHOULD return 501 (Unimplemented), and close the
+ connection. A server MUST NOT send transfer-codings to an HTTP/1.0
+ client.
+
+3.6.1 Chunked Transfer Coding
+
+ The chunked encoding modifies the body of a message in order to
+ transfer it as a series of chunks, each with its own size indicator,
+ followed by an OPTIONAL trailer containing entity-header fields. This
+ allows dynamically produced content to be transferred along with the
+ information necessary for the recipient to verify that it has
+ received the full message.
+
+ Chunked-Body = *chunk
+ last-chunk
+ trailer
+ CRLF
+
+ chunk = chunk-size [ chunk-extension ] CRLF
+ chunk-data CRLF
+ chunk-size = 1*HEX
+ last-chunk = 1*("0") [ chunk-extension ] CRLF
+
+ chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
+ chunk-ext-name = token
+ chunk-ext-val = token | quoted-string
+ chunk-data = chunk-size(OCTET)
+ trailer = *(entity-header CRLF)
+
+ The chunk-size field is a string of hex digits indicating the size of
+ the chunk. The chunked encoding is ended by any chunk whose size is
+ zero, followed by the trailer, which is terminated by an empty line.
+
+ The trailer allows the sender to include additional HTTP header
+ fields at the end of the message. The Trailer header field can be
+ used to indicate which header fields are included in a trailer (see
+ section 14.40).
+
+ A server using chunked transfer-coding in a response MUST NOT use the
+ trailer for any header fields unless at least one of the following is
+ true:
+
+ a)the request included a TE header field that indicates "trailers" is
+ acceptable in the transfer-coding of the response, as described in
+ section 14.39; or,
+
+ b)the server is the origin server for the response, the trailer
+ fields consist entirely of optional metadata, and the recipient
+ could use the message (in a manner acceptable to the origin server)
+ without receiving this metadata. In other words, the origin server
+ is willing to accept the possibility that the trailer fields might
+ be silently discarded along the path to the client.
+
+ This requirement prevents an interoperability failure when the
+ message is being received by an HTTP/1.1 (or later) proxy and
+ forwarded to an HTTP/1.0 recipient. It avoids a situation where
+ compliance with the protocol would have necessitated a possibly
+ infinite buffer on the proxy.
+
+ An example process for decoding a Chunked-Body is presented in
+ appendix 19.4.6.
+
+ All HTTP/1.1 applications MUST be able to receive and decode the
+ "chunked" transfer-coding, and MUST ignore chunk-extension extensions
+ they do not understand.
+
+3.7 Media Types
+
+ HTTP uses Internet Media Types [17] in the Content-Type (section
+ 14.17) and Accept (section 14.1) header fields in order to provide
+ open and extensible data typing and type negotiation.
+
+ media-type = type "/" subtype *( ";" parameter )
+ type = token
+ subtype = token
+
+ Parameters MAY follow the type/subtype in the form of attribute/value
+ pairs (as defined in section 3.6).
+
+ The type, subtype, and parameter attribute names are case-
+ insensitive. Parameter values might or might not be case-sensitive,
+ depending on the semantics of the parameter name. Linear white space
+ (LWS) MUST NOT be used between the type and subtype, nor between an
+ attribute and its value. The presence or absence of a parameter might
+ be significant to the processing of a media-type, depending on its
+ definition within the media type registry.
+
+ Note that some older HTTP applications do not recognize media type
+ parameters. When sending data to older HTTP applications,
+ implementations SHOULD only use media type parameters when they are
+ required by that type/subtype definition.
+
+ Media-type values are registered with the Internet Assigned Number
+ Authority (IANA [19]). The media type registration process is
+ outlined in <a href="http://firefly.troll.no/rfcs/rfc1590.html">RFC 1590</a> [17]. Use of non-registered media types is
+ discouraged.
+
+3.7.1 Canonicalization and Text Defaults
+
+ Internet media types are registered with a canonical form. An
+ entity-body transferred via HTTP messages MUST be represented in the
+ appropriate canonical form prior to its transmission except for
+ "text" types, as defined in the next paragraph.
+
+ When in canonical form, media subtypes of the "text" type use CRLF as
+ the text line break. HTTP relaxes this requirement and allows the
+ transport of text media with plain CR or LF alone representing a line
+ break when it is done consistently for an entire entity-body. HTTP
+ applications MUST accept CRLF, bare CR, and bare LF as being
+ representative of a line break in text media received via HTTP. In
+ addition, if the text is represented in a character set that does not
+ use octets 13 and 10 for CR and LF respectively, as is the case for
+ some multi-byte character sets, HTTP allows the use of whatever octet
+ sequences are defined by that character set to represent the
+ equivalent of CR and LF for line breaks. This flexibility regarding
+ line breaks applies only to text media in the entity-body; a bare CR
+ or LF MUST NOT be substituted for CRLF within any of the HTTP control
+ structures (such as header fields and multipart boundaries).
+
+ If an entity-body is encoded with a content-coding, the underlying
+ data MUST be in a form defined above prior to being encoded.
+
+ The "charset" parameter is used with some media types to define the
+ character set (section 3.4) of the data. When no explicit charset
+ parameter is provided by the sender, media subtypes of the "text"
+ type are defined to have a default charset value of "ISO-8859-1" when
+ received via HTTP. Data in character sets other than "ISO-8859-1" or
+ its subsets MUST be labeled with an appropriate charset value. See
+ section 3.4.1 for compatibility problems.
+
+3.7.2 Multipart Types
+
+ MIME provides for a number of "multipart" types -- encapsulations of
+ one or more entities within a single message-body. All multipart
+ types share a common syntax, as defined in section 5.1.1 of <a href="http://firefly.troll.no/rfcs/rfc2046.html">RFC 2046</a>
+
+ [40], and MUST include a boundary parameter as part of the media type
+ value. The message body is itself a protocol element and MUST
+ therefore use only CRLF to represent line breaks between body-parts.
+ Unlike in <a href="http://firefly.troll.no/rfcs/rfc2046.html">RFC 2046</a>, the epilogue of any multipart message MUST be
+ empty; HTTP applications MUST NOT transmit the epilogue (even if the
+ original multipart contains an epilogue). These restrictions exist in
+ order to preserve the self-delimiting nature of a multipart message-
+ body, wherein the "end" of the message-body is indicated by the
+ ending multipart boundary.
+
+ In general, HTTP treats a multipart message-body no differently than
+ any other media type: strictly as payload. The one exception is the
+ "multipart/byteranges" type (appendix 19.2) when it appears in a 206
+ (Partial Content) response, which will be interpreted by some HTTP
+ caching mechanisms as described in sections 13.5.4 and 14.16. In all
+ other cases, an HTTP user agent SHOULD follow the same or similar
+ behavior as a MIME user agent would upon receipt of a multipart type.
+ The MIME header fields within each body-part of a multipart message-
+ body do not have any significance to HTTP beyond that defined by
+ their MIME semantics.
+
+ In general, an HTTP user agent SHOULD follow the same or similar
+ behavior as a MIME user agent would upon receipt of a multipart type.
+ If an application receives an unrecognized multipart subtype, the
+ application MUST treat it as being equivalent to "multipart/mixed".
+
+ Note: The "multipart/form-data" type has been specifically defined
+ for carrying form data suitable for processing via the POST
+ request method, as described in <a href="http://firefly.troll.no/rfcs/rfc1867.html">RFC 1867</a> [15].
+
+3.8 Product Tokens
+
+ Product tokens are used to allow communicating applications to
+ identify themselves by software name and version. Most fields using
+ product tokens also allow sub-products which form a significant part
+ of the application to be listed, separated by white space. By
+ convention, the products are listed in order of their significance
+ for identifying the application.
+
+ product = token ["/" product-version]
+ product-version = token
+
+ Examples:
+
+ User-Agent: CERN-LineMode/2.15 libwww/2.17b3
+ Server: Apache/0.8.4
+
+ Product tokens SHOULD be short and to the point. They MUST NOT be
+ used for advertising or other non-essential information. Although any
+ token character MAY appear in a product-version, this token SHOULD
+ only be used for a version identifier (i.e., successive versions of
+ the same product SHOULD only differ in the product-version portion of
+ the product value).
+
+3.9 Quality Values
+
+ HTTP content negotiation (section 12) uses short "floating point"
+ numbers to indicate the relative importance ("weight") of various
+ negotiable parameters. A weight is normalized to a real number in
+ the range 0 through 1, where 0 is the minimum and 1 the maximum
+ value. If a parameter has a quality value of 0, then content with
+ this parameter is `not acceptable' for the client. HTTP/1.1
+ applications MUST NOT generate more than three digits after the
+ decimal point. User configuration of these values SHOULD also be
+ limited in this fashion.
+
+ qvalue = ( "0" [ "." 0*3DIGIT ] )
+ | ( "1" [ "." 0*3("0") ] )
+
+ "Quality values" is a misnomer, since these values merely represent
+ relative degradation in desired quality.
+
+3.10 Language Tags
+
+ A language tag identifies a natural language spoken, written, or
+ otherwise conveyed by human beings for communication of information
+ to other human beings. Computer languages are explicitly excluded.
+ HTTP uses language tags within the Accept-Language and Content-
+ Language fields.
+
+ The syntax and registry of HTTP language tags is the same as that
+ defined by <a href="http://firefly.troll.no/rfcs/rfc1766.html">RFC 1766</a> [1]. In summary, a language tag is composed of 1
+ or more parts: A primary language tag and a possibly empty series of
+ subtags:
+
+ language-tag = primary-tag *( "-" subtag )
+ primary-tag = 1*8ALPHA
+ subtag = 1*8ALPHA
+
+ White space is not allowed within the tag and all tags are case-
+ insensitive. The name space of language tags is administered by the
+ IANA. Example tags include:
+
+ en, en-US, en-cockney, i-cherokee, x-pig-latin
+
+ where any two-letter primary-tag is an ISO-639 language abbreviation
+ and any two-letter initial subtag is an ISO-3166 country code. (The
+ last three tags above are not registered tags; all but the last are
+ examples of tags which could be registered in future.)
+
+3.11 Entity Tags
+
+ Entity tags are used for comparing two or more entities from the same
+ requested resource. HTTP/1.1 uses entity tags in the ETag (section
+ 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and
+ If-Range (section 14.27) header fields. The definition of how they
+ are used and compared as cache validators is in section 13.3.3. An
+ entity tag consists of an opaque quoted string, possibly prefixed by
+ a weakness indicator.
+
+ entity-tag = [ weak ] opaque-tag
+ weak = "W/"
+ opaque-tag = quoted-string
+
+ A "strong entity tag" MAY be shared by two entities of a resource
+ only if they are equivalent by octet equality.
+
+ A "weak entity tag," indicated by the "W/" prefix, MAY be shared by
+ two entities of a resource only if the entities are equivalent and
+ could be substituted for each other with no significant change in
+ semantics. A weak entity tag can only be used for weak comparison.
+
+ An entity tag MUST be unique across all versions of all entities
+ associated with a particular resource. A given entity tag value MAY
+ be used for entities obtained by requests on different URIs. The use
+ of the same entity tag value in conjunction with entities obtained by
+ requests on different URIs does not imply the equivalence of those
+ entities.
+
+3.12 Range Units
+
+ HTTP/1.1 allows a client to request that only part (a range of) the
+ response entity be included within the response. HTTP/1.1 uses range
+ units in the Range (section 14.35) and Content-Range (section 14.16)
+ header fields. An entity can be broken down into subranges according
+ to various structural units.
+
+ range-unit = bytes-unit | other-range-unit
+ bytes-unit = "bytes"
+ other-range-unit = token
+
+ The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1
+ implementations MAY ignore ranges specified using other units.
+
+ HTTP/1.1 has been designed to allow implementations of applications
+ that do not depend on knowledge of ranges.
+
+4 HTTP Message
+
+4.1 Message Types
+
+ HTTP messages consist of requests from client to server and responses
+ from server to client.
+
+ HTTP-message = Request | Response ; HTTP/1.1 messages
+
+ Request (section 5) and Response (section 6) messages use the generic
+ message format of <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a> [9] for transferring entities (the payload
+ of the message). Both types of message consist of a start-line, zero
+ or more header fields (also known as "headers"), an empty line (i.e.,
+ a line with nothing preceding the CRLF) indicating the end of the
+ header fields, and possibly a message-body.
+
+ generic-message = start-line
+ *(message-header CRLF)
+ CRLF
+ [ message-body ]
+ start-line = Request-Line | Status-Line
+
+ In the interest of robustness, servers SHOULD ignore any empty
+ line(s) received where a Request-Line is expected. In other words, if
+ the server is reading the protocol stream at the beginning of a
+ message and receives a CRLF first, it should ignore the CRLF.
+
+ Certain buggy HTTP/1.0 client implementations generate extra CRLF's
+ after a POST request. To restate what is explicitly forbidden by the
+ BNF, an HTTP/1.1 client MUST NOT preface or follow a request with an
+ extra CRLF.
+
+4.2 Message Headers
+
+ HTTP header fields, which include general-header (section 4.5),
+ request-header (section 5.3), response-header (section 6.2), and
+ entity-header (section 7.1) fields, follow the same generic format as
+ that given in Section 3.1 of <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a> [9]. Each header field consists
+ of a name followed by a colon (":") and the field value. Field names
+ are case-insensitive. The field value MAY be preceded by any amount
+ of LWS, though a single SP is preferred. Header fields can be
+ extended over multiple lines by preceding each extra line with at
+ least one SP or HT. Applications ought to follow "common form", where
+ one is known or indicated, when generating HTTP constructs, since
+ there might exist some implementations that fail to accept anything
+
+ beyond the common forms.
+
+ message-header = field-name ":" [ field-value ]
+ field-name = token
+ field-value = *( field-content | LWS )
+ field-content = &lt;the OCTETs making up the field-value
+ and consisting of either *TEXT or combinations
+ of token, separators, and quoted-string&gt;
+
+ The field-content does not include any leading or trailing LWS:
+ linear white space occurring before the first non-whitespace
+ character of the field-value or after the last non-whitespace
+ character of the field-value. Such leading or trailing LWS MAY be
+ removed without changing the semantics of the field value. Any LWS
+ that occurs between field-content MAY be replaced with a single SP
+ before interpreting the field value or forwarding the message
+ downstream.
+
+ The order in which header fields with differing field names are
+ received is not significant. However, it is "good practice" to send
+ general-header fields first, followed by request-header or response-
+ header fields, and ending with the entity-header fields.
+
+ Multiple message-header fields with the same field-name MAY be
+ present in a message if and only if the entire field-value for that
+ header field is defined as a comma-separated list [i.e., #(values)].
+ It MUST be possible to combine the multiple header fields into one
+ "field-name: field-value" pair, without changing the semantics of the
+ message, by appending each subsequent field-value to the first, each
+ separated by a comma. The order in which header fields with the same
+ field-name are received is therefore significant to the
+ interpretation of the combined field value, and thus a proxy MUST NOT
+ change the order of these field values when a message is forwarded.
+
+4.3 Message Body
+
+ The message-body (if any) of an HTTP message is used to carry the
+ entity-body associated with the request or response. The message-body
+ differs from the entity-body only when a transfer-coding has been
+ applied, as indicated by the Transfer-Encoding header field (section
+ 14.41).
+
+ message-body = entity-body
+ | &lt;entity-body encoded as per Transfer-Encoding&gt;
+
+ Transfer-Encoding MUST be used to indicate any transfer-codings
+ applied by an application to ensure safe and proper transfer of the
+ message. Transfer-Encoding is a property of the message, not of the
+
+ entity, and thus MAY be added or removed by any application along the
+ request/response chain. (However, section 3.6 places restrictions on
+ when certain transfer-codings may be used.)
+
+ The rules for when a message-body is allowed in a message differ for
+ requests and responses.
+
+ The presence of a message-body in a request is signaled by the
+ inclusion of a Content-Length or Transfer-Encoding header field in
+ the request's message-headers. A message-body MUST NOT be included in
+ a request if the specification of the request method (section 5.1.1)
+ does not allow sending an entity-body in requests. A server SHOULD
+ read and forward a message-body on any request; if the request method
+ does not include defined semantics for an entity-body, then the
+ message-body SHOULD be ignored when handling the request.
+
+ For response messages, whether or not a message-body is included with
+ a message is dependent on both the request method and the response
+ status code (section 6.1.1). All responses to the HEAD request method
+ MUST NOT include a message-body, even though the presence of entity-
+ header fields might lead one to believe they do. All 1xx
+ (informational), 204 (no content), and 304 (not modified) responses
+ MUST NOT include a message-body. All other responses do include a
+ message-body, although it MAY be of zero length.
+
+4.4 Message Length
+
+ The transfer-length of a message is the length of the message-body as
+ it appears in the message; that is, after any transfer-codings have
+ been applied. When a message-body is included with a message, the
+ transfer-length of that body is determined by one of the following
+ (in order of precedence):
+
+ 1.Any response message which "MUST NOT" include a message-body (such
+ as the 1xx, 204, and 304 responses and any response to a HEAD
+ request) is always terminated by the first empty line after the
+ header fields, regardless of the entity-header fields present in
+ the message.
+
+ 2.If a Transfer-Encoding header field (section 14.41) is present and
+ has any value other than "identity", then the transfer-length is
+ defined by use of the "chunked" transfer-coding (section 3.6),
+ unless the message is terminated by closing the connection.
+
+ 3.If a Content-Length header field (section 14.13) is present, its
+ decimal value in OCTETs represents both the entity-length and the
+ transfer-length. The Content-Length header field MUST NOT be sent
+ if these two lengths are different (i.e., if a Transfer-Encoding
+
+ header field is present). If a message is received with both a
+ Transfer-Encoding header field and a Content-Length header field,
+ the latter MUST be ignored.
+
+ 4.If the message uses the media type "multipart/byteranges", and the
+ ransfer-length is not otherwise specified, then this self-
+ elimiting media type defines the transfer-length. This media type
+ UST NOT be used unless the sender knows that the recipient can arse
+ it; the presence in a request of a Range header with ultiple byte-
+ range specifiers from a 1.1 client implies that the lient can parse
+ multipart/byteranges responses.
+
+ A range header might be forwarded by a 1.0 proxy that does not
+ understand multipart/byteranges; in this case the server MUST
+ delimit the message using methods defined in items 1,3 or 5 of
+ this section.
+
+ 5.By the server closing the connection. (Closing the connection
+ cannot be used to indicate the end of a request body, since that
+ would leave no possibility for the server to send back a response.)
+
+ For compatibility with HTTP/1.0 applications, HTTP/1.1 requests
+ containing a message-body MUST include a valid Content-Length header
+ field unless the server is known to be HTTP/1.1 compliant. If a
+ request contains a message-body and a Content-Length is not given,
+ the server SHOULD respond with 400 (bad request) if it cannot
+ determine the length of the message, or with 411 (length required) if
+ it wishes to insist on receiving a valid Content-Length.
+
+ All HTTP/1.1 applications that receive entities MUST accept the
+ "chunked" transfer-coding (section 3.6), thus allowing this mechanism
+ to be used for messages when the message length cannot be determined
+ in advance.
+
+ Messages MUST NOT include both a Content-Length header field and a
+ non-identity transfer-coding. If the message does include a non-
+ identity transfer-coding, the Content-Length MUST be ignored.
+
+ When a Content-Length is given in a message where a message-body is
+ allowed, its field value MUST exactly match the number of OCTETs in
+ the message-body. HTTP/1.1 user agents MUST notify the user when an
+ invalid length is received and detected.
+
+4.5 General Header Fields
+
+ There are a few header fields which have general applicability for
+ both request and response messages, but which do not apply to the
+ entity being transferred. These header fields apply only to the
+
+ message being transmitted.
+
+ general-header = Cache-Control ; Section 14.9
+ | Connection ; Section 14.10
+ | Date ; Section 14.18
+ | Pragma ; Section 14.32
+ | Trailer ; Section 14.40
+ | Transfer-Encoding ; Section 14.41
+ | Upgrade ; Section 14.42
+ | Via ; Section 14.45
+ | Warning ; Section 14.46
+
+ General-header field names can be extended reliably only in
+ combination with a change in the protocol version. However, new or
+ experimental header fields may be given the semantics of general
+ header fields if all parties in the communication recognize them to
+ be general-header fields. Unrecognized header fields are treated as
+ entity-header fields.
+
+5 Request
+
+ A request message from a client to a server includes, within the
+ first line of that message, the method to be applied to the resource,
+ the identifier of the resource, and the protocol version in use.
+
+ Request = Request-Line ; Section 5.1
+ *(( general-header ; Section 4.5
+ | request-header ; Section 5.3
+ | entity-header ) CRLF) ; Section 7.1
+ CRLF
+ [ message-body ] ; Section 4.3
+
+5.1 Request-Line
+
+ The Request-Line begins with a method token, followed by the
+ Request-URI and the protocol version, and ending with CRLF. The
+ elements are separated by SP characters. No CR or LF is allowed
+ except in the final CRLF sequence.
+
+ Request-Line = Method SP Request-URI SP HTTP-Version CRLF
+
+5.1.1 Method
+
+ The Method token indicates the method to be performed on the
+ resource identified by the Request-URI. The method is case-sensitive.
+
+ Method = "OPTIONS" ; Section 9.2
+ | "GET" ; Section 9.3
+ | "HEAD" ; Section 9.4
+ | "POST" ; Section 9.5
+ | "PUT" ; Section 9.6
+ | "DELETE" ; Section 9.7
+ | "TRACE" ; Section 9.8
+ | "CONNECT" ; Section 9.9
+ | extension-method
+ extension-method = token
+
+ The list of methods allowed by a resource can be specified in an
+ Allow header field (section 14.7). The return code of the response
+ always notifies the client whether a method is currently allowed on a
+ resource, since the set of allowed methods can change dynamically. An
+ origin server SHOULD return the status code 405 (Method Not Allowed)
+ if the method is known by the origin server but not allowed for the
+ requested resource, and 501 (Not Implemented) if the method is
+ unrecognized or not implemented by the origin server. The methods GET
+ and HEAD MUST be supported by all general-purpose servers. All other
+ methods are OPTIONAL; however, if the above methods are implemented,
+ they MUST be implemented with the same semantics as those specified
+ in section 9.
+
+5.1.2 Request-URI
+
+ The Request-URI is a Uniform Resource Identifier (section 3.2) and
+ identifies the resource upon which to apply the request.
+
+ Request-URI = "*" | absoluteURI | abs_path | authority
+
+ The four options for Request-URI are dependent on the nature of the
+ request. The asterisk "*" means that the request does not apply to a
+ particular resource, but to the server itself, and is only allowed
+ when the method used does not necessarily apply to a resource. One
+ example would be
+
+ OPTIONS * HTTP/1.1
+
+ The absoluteURI form is REQUIRED when the request is being made to a
+ proxy. The proxy is requested to forward the request or service it
+ from a valid cache, and return the response. Note that the proxy MAY
+ forward the request on to another proxy or directly to the server
+
+ specified by the absoluteURI. In order to avoid request loops, a
+ proxy MUST be able to recognize all of its server names, including
+ any aliases, local variations, and the numeric IP address. An example
+ Request-Line would be:
+
+ GET <a href="http://www.w3.org/pub/WWW/TheProject.html">http://www.w3.org/pub/WWW/TheProject.html</a> HTTP/1.1
+
+ To allow for transition to absoluteURIs in all requests in future
+ versions of HTTP, all HTTP/1.1 servers MUST accept the absoluteURI
+ form in requests, even though HTTP/1.1 clients will only generate
+ them in requests to proxies.
+
+ The authority form is only used by the CONNECT method (section 9.9).
+
+ The most common form of Request-URI is that used to identify a
+ resource on an origin server or gateway. In this case the absolute
+ path of the URI MUST be transmitted (see section 3.2.1, abs_path) as
+ the Request-URI, and the network location of the URI (authority) MUST
+ be transmitted in a Host header field. For example, a client wishing
+ to retrieve the resource above directly from the origin server would
+ create a TCP connection to port 80 of the host "www.w3.org" and send
+ the lines:
+
+ GET /pub/WWW/TheProject.html HTTP/1.1
+ Host: www.w3.org
+
+ followed by the remainder of the Request. Note that the absolute path
+ cannot be empty; if none is present in the original URI, it MUST be
+ given as "/" (the server root).
+
+ The Request-URI is transmitted in the format specified in section
+ 3.2.1. If the Request-URI is encoded using the "% HEX HEX" encoding
+ [42], the origin server MUST decode the Request-URI in order to
+ properly interpret the request. Servers SHOULD respond to invalid
+ Request-URIs with an appropriate status code.
+
+ A transparent proxy MUST NOT rewrite the "abs_path" part of the
+ received Request-URI when forwarding it to the next inbound server,
+ except as noted above to replace a null abs_path with "/".
+
+ Note: The "no rewrite" rule prevents the proxy from changing the
+ meaning of the request when the origin server is improperly using
+ a non-reserved URI character for a reserved purpose. Implementors
+ should be aware that some pre-HTTP/1.1 proxies have been known to
+ rewrite the Request-URI.
+
+5.2 The Resource Identified by a Request
+
+ The exact resource identified by an Internet request is determined by
+ examining both the Request-URI and the Host header field.
+
+ An origin server that does not allow resources to differ by the
+ requested host MAY ignore the Host header field value when
+ determining the resource identified by an HTTP/1.1 request. (But see
+ section 19.6.1.1 for other requirements on Host support in HTTP/1.1.)
+
+ An origin server that does differentiate resources based on the host
+ requested (sometimes referred to as virtual hosts or vanity host
+ names) MUST use the following rules for determining the requested
+ resource on an HTTP/1.1 request:
+
+ 1. If Request-URI is an absoluteURI, the host is part of the
+ Request-URI. Any Host header field value in the request MUST be
+ ignored.
+
+ 2. If the Request-URI is not an absoluteURI, and the request includes
+ a Host header field, the host is determined by the Host header
+ field value.
+
+ 3. If the host as determined by rule 1 or 2 is not a valid host on
+ the server, the response MUST be a 400 (Bad Request) error message.
+
+ Recipients of an HTTP/1.0 request that lacks a Host header field MAY
+ attempt to use heuristics (e.g., examination of the URI path for
+ something unique to a particular host) in order to determine what
+ exact resource is being requested.
+
+5.3 Request Header Fields
+
+ The request-header fields allow the client to pass additional
+ information about the request, and about the client itself, to the
+ server. These fields act as request modifiers, with semantics
+ equivalent to the parameters on a programming language method
+ invocation.
+
+ request-header = Accept ; Section 14.1
+ | Accept-Charset ; Section 14.2
+ | Accept-Encoding ; Section 14.3
+ | Accept-Language ; Section 14.4
+ | Authorization ; Section 14.8
+ | Expect ; Section 14.20
+ | From ; Section 14.22
+ | Host ; Section 14.23
+ | If-Match ; Section 14.24
+
+ | If-Modified-Since ; Section 14.25
+ | If-None-Match ; Section 14.26
+ | If-Range ; Section 14.27
+ | If-Unmodified-Since ; Section 14.28
+ | Max-Forwards ; Section 14.31
+ | Proxy-Authorization ; Section 14.34
+ | Range ; Section 14.35
+ | Referer ; Section 14.36
+ | TE ; Section 14.39
+ | User-Agent ; Section 14.43
+
+ Request-header field names can be extended reliably only in
+ combination with a change in the protocol version. However, new or
+ experimental header fields MAY be given the semantics of request-
+ header fields if all parties in the communication recognize them to
+ be request-header fields. Unrecognized header fields are treated as
+ entity-header fields.
+
+6 Response
+
+ After receiving and interpreting a request message, a server responds
+ with an HTTP response message.
+
+ Response = Status-Line ; Section 6.1
+ *(( general-header ; Section 4.5
+ | response-header ; Section 6.2
+ | entity-header ) CRLF) ; Section 7.1
+ CRLF
+ [ message-body ] ; Section 7.2
+
+6.1 Status-Line
+
+ The first line of a Response message is the Status-Line, consisting
+ of the protocol version followed by a numeric status code and its
+ associated textual phrase, with each element separated by SP
+ characters. No CR or LF is allowed except in the final CRLF sequence.
+
+ Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
+
+6.1.1 Status Code and Reason Phrase
+
+ The Status-Code element is a 3-digit integer result code of the
+ attempt to understand and satisfy the request. These codes are fully
+ defined in section 10. The Reason-Phrase is intended to give a short
+ textual description of the Status-Code. The Status-Code is intended
+ for use by automata and the Reason-Phrase is intended for the human
+ user. The client is not required to examine or display the Reason-
+ Phrase.
+
+ The first digit of the Status-Code defines the class of response. The
+ last two digits do not have any categorization role. There are 5
+ values for the first digit:
+
+ - 1xx: Informational - Request received, continuing process
+
+ - 2xx: Success - The action was successfully received,
+ understood, and accepted
+
+ - 3xx: Redirection - Further action must be taken in order to
+ complete the request
+
+ - 4xx: Client Error - The request contains bad syntax or cannot
+ be fulfilled
+
+ - 5xx: Server Error - The server failed to fulfill an apparently
+ valid request
+
+ The individual values of the numeric status codes defined for
+ HTTP/1.1, and an example set of corresponding Reason-Phrase's, are
+ presented below. The reason phrases listed here are only
+ recommendations -- they MAY be replaced by local equivalents without
+ affecting the protocol.
+
+ Status-Code =
+ "100" ; Section 10.1.1: Continue
+ | "101" ; Section 10.1.2: Switching Protocols
+ | "200" ; Section 10.2.1: OK
+ | "201" ; Section 10.2.2: Created
+ | "202" ; Section 10.2.3: Accepted
+ | "203" ; Section 10.2.4: Non-Authoritative Information
+ | "204" ; Section 10.2.5: No Content
+ | "205" ; Section 10.2.6: Reset Content
+ | "206" ; Section 10.2.7: Partial Content
+ | "300" ; Section 10.3.1: Multiple Choices
+ | "301" ; Section 10.3.2: Moved Permanently
+ | "302" ; Section 10.3.3: Found
+ | "303" ; Section 10.3.4: See Other
+ | "304" ; Section 10.3.5: Not Modified
+ | "305" ; Section 10.3.6: Use Proxy
+ | "307" ; Section 10.3.8: Temporary Redirect
+ | "400" ; Section 10.4.1: Bad Request
+ | "401" ; Section 10.4.2: Unauthorized
+ | "402" ; Section 10.4.3: Payment Required
+ | "403" ; Section 10.4.4: Forbidden
+ | "404" ; Section 10.4.5: Not Found
+ | "405" ; Section 10.4.6: Method Not Allowed
+ | "406" ; Section 10.4.7: Not Acceptable
+
+ | "407" ; Section 10.4.8: Proxy Authentication Required
+ | "408" ; Section 10.4.9: Request Time-out
+ | "409" ; Section 10.4.10: Conflict
+ | "410" ; Section 10.4.11: Gone
+ | "411" ; Section 10.4.12: Length Required
+ | "412" ; Section 10.4.13: Precondition Failed
+ | "413" ; Section 10.4.14: Request Entity Too Large
+ | "414" ; Section 10.4.15: Request-URI Too Large
+ | "415" ; Section 10.4.16: Unsupported Media Type
+ | "416" ; Section 10.4.17: Requested range not satisfiable
+ | "417" ; Section 10.4.18: Expectation Failed
+ | "500" ; Section 10.5.1: Internal Server Error
+ | "501" ; Section 10.5.2: Not Implemented
+ | "502" ; Section 10.5.3: Bad Gateway
+ | "503" ; Section 10.5.4: Service Unavailable
+ | "504" ; Section 10.5.5: Gateway Time-out
+ | "505" ; Section 10.5.6: HTTP Version not supported
+ | extension-code
+
+ extension-code = 3DIGIT
+ Reason-Phrase = *&lt;TEXT, excluding CR, LF&gt;
+
+ HTTP status codes are extensible. HTTP applications are not required
+ to understand the meaning of all registered status codes, though such
+ understanding is obviously desirable. However, applications MUST
+ understand the class of any status code, as indicated by the first
+ digit, and treat any unrecognized response as being equivalent to the
+ x00 status code of that class, with the exception that an
+ unrecognized response MUST NOT be cached. For example, if an
+ unrecognized status code of 431 is received by the client, it can
+ safely assume that there was something wrong with its request and
+ treat the response as if it had received a 400 status code. In such
+ cases, user agents SHOULD present to the user the entity returned
+ with the response, since that entity is likely to include human-
+ readable information which will explain the unusual status.
+
+6.2 Response Header Fields
+
+ The response-header fields allow the server to pass additional
+ information about the response which cannot be placed in the Status-
+ Line. These header fields give information about the server and about
+ further access to the resource identified by the Request-URI.
+
+ response-header = Accept-Ranges ; Section 14.5
+ | Age ; Section 14.6
+ | ETag ; Section 14.19
+ | Location ; Section 14.30
+ | Proxy-Authenticate ; Section 14.33
+
+ | Retry-After ; Section 14.37
+ | Server ; Section 14.38
+ | Vary ; Section 14.44
+ | WWW-Authenticate ; Section 14.47
+
+ Response-header field names can be extended reliably only in
+ combination with a change in the protocol version. However, new or
+ experimental header fields MAY be given the semantics of response-
+ header fields if all parties in the communication recognize them to
+ be response-header fields. Unrecognized header fields are treated as
+ entity-header fields.
+
+7 Entity
+
+ Request and Response messages MAY transfer an entity if not otherwise
+ restricted by the request method or response status code. An entity
+ consists of entity-header fields and an entity-body, although some
+ responses will only include the entity-headers.
+
+ In this section, both sender and recipient refer to either the client
+ or the server, depending on who sends and who receives the entity.
+
+7.1 Entity Header Fields
+
+ Entity-header fields define metainformation about the entity-body or,
+ if no body is present, about the resource identified by the request.
+ Some of this metainformation is OPTIONAL; some might be REQUIRED by
+ portions of this specification.
+
+ entity-header = Allow ; Section 14.7
+ | Content-Encoding ; Section 14.11
+ | Content-Language ; Section 14.12
+ | Content-Length ; Section 14.13
+ | Content-Location ; Section 14.14
+ | Content-MD5 ; Section 14.15
+ | Content-Range ; Section 14.16
+ | Content-Type ; Section 14.17
+ | Expires ; Section 14.21
+ | Last-Modified ; Section 14.29
+ | extension-header
+
+ extension-header = message-header
+
+ The extension-header mechanism allows additional entity-header fields
+ to be defined without changing the protocol, but these fields cannot
+ be assumed to be recognizable by the recipient. Unrecognized header
+ fields SHOULD be ignored by the recipient and MUST be forwarded by
+ transparent proxies.
+
+7.2 Entity Body
+
+ The entity-body (if any) sent with an HTTP request or response is in
+ a format and encoding defined by the entity-header fields.
+
+ entity-body = *OCTET
+
+ An entity-body is only present in a message when a message-body is
+ present, as described in section 4.3. The entity-body is obtained
+ from the message-body by decoding any Transfer-Encoding that might
+ have been applied to ensure safe and proper transfer of the message.
+
+7.2.1 Type
+
+ When an entity-body is included with a message, the data type of that
+ body is determined via the header fields Content-Type and Content-
+ Encoding. These define a two-layer, ordered encoding model:
+
+ entity-body := Content-Encoding( Content-Type( data ) )
+
+ Content-Type specifies the media type of the underlying data.
+ Content-Encoding may be used to indicate any additional content
+ codings applied to the data, usually for the purpose of data
+ compression, that are a property of the requested resource. There is
+ no default encoding.
+
+ Any HTTP/1.1 message containing an entity-body SHOULD include a
+ Content-Type header field defining the media type of that body. If
+ and only if the media type is not given by a Content-Type field, the
+ recipient MAY attempt to guess the media type via inspection of its
+ content and/or the name extension(s) of the URI used to identify the
+ resource. If the media type remains unknown, the recipient SHOULD
+ treat it as type "application/octet-stream".
+
+7.2.2 Entity Length
+
+ The entity-length of a message is the length of the message-body
+ before any transfer-codings have been applied. Section 4.4 defines
+ how the transfer-length of a message-body is determined.
+
+8 Connections
+
+8.1 Persistent Connections
+
+8.1.1 Purpose
+
+ Prior to persistent connections, a separate TCP connection was
+ established to fetch each URL, increasing the load on HTTP servers
+ and causing congestion on the Internet. The use of inline images and
+ other associated data often require a client to make multiple
+ requests of the same server in a short amount of time. Analysis of
+ these performance problems and results from a prototype
+ implementation are available [26] [30]. Implementation experience and
+ measurements of actual HTTP/1.1 (<a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a>) implementations show good
+ results [39]. Alternatives have also been explored, for example,
+ T/TCP [27].
+
+ Persistent HTTP connections have a number of advantages:
+
+ - By opening and closing fewer TCP connections, CPU time is saved
+ in routers and hosts (clients, servers, proxies, gateways,
+ tunnels, or caches), and memory used for TCP protocol control
+ blocks can be saved in hosts.
+
+ - HTTP requests and responses can be pipelined on a connection.
+ Pipelining allows a client to make multiple requests without
+ waiting for each response, allowing a single TCP connection to
+ be used much more efficiently, with much lower elapsed time.
+
+ - Network congestion is reduced by reducing the number of packets
+ caused by TCP opens, and by allowing TCP sufficient time to
+ determine the congestion state of the network.
+
+ - Latency on subsequent requests is reduced since there is no time
+ spent in TCP's connection opening handshake.
+
+ - HTTP can evolve more gracefully, since errors can be reported
+ without the penalty of closing the TCP connection. Clients using
+ future versions of HTTP might optimistically try a new feature,
+ but if communicating with an older server, retry with old
+ semantics after an error is reported.
+
+ HTTP implementations SHOULD implement persistent connections.
+
+8.1.2 Overall Operation
+
+ A significant difference between HTTP/1.1 and earlier versions of
+ HTTP is that persistent connections are the default behavior of any
+ HTTP connection. That is, unless otherwise indicated, the client
+ SHOULD assume that the server will maintain a persistent connection,
+ even after error responses from the server.
+
+ Persistent connections provide a mechanism by which a client and a
+ server can signal the close of a TCP connection. This signaling takes
+ place using the Connection header field (section 14.10). Once a close
+ has been signaled, the client MUST NOT send any more requests on that
+ connection.
+
+8.1.2.1 Negotiation
+
+ An HTTP/1.1 server MAY assume that a HTTP/1.1 client intends to
+ maintain a persistent connection unless a Connection header including
+ the connection-token "close" was sent in the request. If the server
+ chooses to close the connection immediately after sending the
+ response, it SHOULD send a Connection header including the
+ connection-token close.
+
+ An HTTP/1.1 client MAY expect a connection to remain open, but would
+ decide to keep it open based on whether the response from a server
+ contains a Connection header with the connection-token close. In case
+ the client does not want to maintain a connection for more than that
+ request, it SHOULD send a Connection header including the
+ connection-token close.
+
+ If either the client or the server sends the close token in the
+ Connection header, that request becomes the last one for the
+ connection.
+
+ Clients and servers SHOULD NOT assume that a persistent connection is
+ maintained for HTTP versions less than 1.1 unless it is explicitly
+ signaled. See section 19.6.2 for more information on backward
+ compatibility with HTTP/1.0 clients.
+
+ In order to remain persistent, all messages on the connection MUST
+ have a self-defined message length (i.e., one not defined by closure
+ of the connection), as described in section 4.4.
+
+8.1.2.2 Pipelining
+
+ A client that supports persistent connections MAY "pipeline" its
+ requests (i.e., send multiple requests without waiting for each
+ response). A server MUST send its responses to those requests in the
+ same order that the requests were received.
+
+ Clients which assume persistent connections and pipeline immediately
+ after connection establishment SHOULD be prepared to retry their
+ connection if the first pipelined attempt fails. If a client does
+ such a retry, it MUST NOT pipeline before it knows the connection is
+ persistent. Clients MUST also be prepared to resend their requests if
+ the server closes the connection before sending all of the
+ corresponding responses.
+
+ Clients SHOULD NOT pipeline requests using non-idempotent methods or
+ non-idempotent sequences of methods (see section 9.1.2). Otherwise, a
+ premature termination of the transport connection could lead to
+ indeterminate results. A client wishing to send a non-idempotent
+ request SHOULD wait to send that request until it has received the
+ response status for the previous request.
+
+8.1.3 Proxy Servers
+
+ It is especially important that proxies correctly implement the
+ properties of the Connection header field as specified in section
+ 14.10.
+
+ The proxy server MUST signal persistent connections separately with
+ its clients and the origin servers (or other proxy servers) that it
+ connects to. Each persistent connection applies to only one transport
+ link.
+
+ A proxy server MUST NOT establish a HTTP/1.1 persistent connection
+ with an HTTP/1.0 client (but see <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> [33] for information and
+ discussion of the problems with the Keep-Alive header implemented by
+ many HTTP/1.0 clients).
+
+8.1.4 Practical Considerations
+
+ Servers will usually have some time-out value beyond which they will
+ no longer maintain an inactive connection. Proxy servers might make
+ this a higher value since it is likely that the client will be making
+ more connections through the same server. The use of persistent
+ connections places no requirements on the length (or existence) of
+ this time-out for either the client or the server.
+
+ When a client or server wishes to time-out it SHOULD issue a graceful
+ close on the transport connection. Clients and servers SHOULD both
+ constantly watch for the other side of the transport close, and
+ respond to it as appropriate. If a client or server does not detect
+ the other side's close promptly it could cause unnecessary resource
+ drain on the network.
+
+ A client, server, or proxy MAY close the transport connection at any
+ time. For example, a client might have started to send a new request
+ at the same time that the server has decided to close the "idle"
+ connection. From the server's point of view, the connection is being
+ closed while it was idle, but from the client's point of view, a
+ request is in progress.
+
+ This means that clients, servers, and proxies MUST be able to recover
+ from asynchronous close events. Client software SHOULD reopen the
+ transport connection and retransmit the aborted sequence of requests
+ without user interaction so long as the request sequence is
+ idempotent (see section 9.1.2). Non-idempotent methods or sequences
+ MUST NOT be automatically retried, although user agents MAY offer a
+ human operator the choice of retrying the request(s). Confirmation by
+ user-agent software with semantic understanding of the application
+ MAY substitute for user confirmation. The automatic retry SHOULD NOT
+ be repeated if the second sequence of requests fails.
+
+ Servers SHOULD always respond to at least one request per connection,
+ if at all possible. Servers SHOULD NOT close a connection in the
+ middle of transmitting a response, unless a network or client failure
+ is suspected.
+
+ Clients that use persistent connections SHOULD limit the number of
+ simultaneous connections that they maintain to a given server. A
+ single-user client SHOULD NOT maintain more than 2 connections with
+ any server or proxy. A proxy SHOULD use up to 2*N connections to
+ another server or proxy, where N is the number of simultaneously
+ active users. These guidelines are intended to improve HTTP response
+ times and avoid congestion.
+
+8.2 Message Transmission Requirements
+
+8.2.1 Persistent Connections and Flow Control
+
+ HTTP/1.1 servers SHOULD maintain persistent connections and use TCP's
+ flow control mechanisms to resolve temporary overloads, rather than
+ terminating connections with the expectation that clients will retry.
+ The latter technique can exacerbate network congestion.
+
+8.2.2 Monitoring Connections for Error Status Messages
+
+ An HTTP/1.1 (or later) client sending a message-body SHOULD monitor
+ the network connection for an error status while it is transmitting
+ the request. If the client sees an error status, it SHOULD
+ immediately cease transmitting the body. If the body is being sent
+ using a "chunked" encoding (section 3.6), a zero length chunk and
+ empty trailer MAY be used to prematurely mark the end of the message.
+ If the body was preceded by a Content-Length header, the client MUST
+ close the connection.
+
+8.2.3 Use of the 100 (Continue) Status
+
+ The purpose of the 100 (Continue) status (see section 10.1.1) is to
+ allow a client that is sending a request message with a request body
+ to determine if the origin server is willing to accept the request
+ (based on the request headers) before the client sends the request
+ body. In some cases, it might either be inappropriate or highly
+ inefficient for the client to send the body if the server will reject
+ the message without looking at the body.
+
+ Requirements for HTTP/1.1 clients:
+
+ - If a client will wait for a 100 (Continue) response before
+ sending the request body, it MUST send an Expect request-header
+ field (section 14.20) with the "100-continue" expectation.
+
+ - A client MUST NOT send an Expect request-header field (section
+ 14.20) with the "100-continue" expectation if it does not intend
+ to send a request body.
+
+ Because of the presence of older implementations, the protocol allows
+ ambiguous situations in which a client may send "Expect: 100-
+ continue" without receiving either a 417 (Expectation Failed) status
+ or a 100 (Continue) status. Therefore, when a client sends this
+ header field to an origin server (possibly via a proxy) from which it
+ has never seen a 100 (Continue) status, the client SHOULD NOT wait
+ for an indefinite period before sending the request body.
+
+ Requirements for HTTP/1.1 origin servers:
+
+ - Upon receiving a request which includes an Expect request-header
+ field with the "100-continue" expectation, an origin server MUST
+ either respond with 100 (Continue) status and continue to read
+ from the input stream, or respond with a final status code. The
+ origin server MUST NOT wait for the request body before sending
+ the 100 (Continue) response. If it responds with a final status
+ code, it MAY close the transport connection or it MAY continue
+
+ to read and discard the rest of the request. It MUST NOT
+ perform the requested method if it returns a final status code.
+
+ - An origin server SHOULD NOT send a 100 (Continue) response if
+ the request message does not include an Expect request-header
+ field with the "100-continue" expectation, and MUST NOT send a
+ 100 (Continue) response if such a request comes from an HTTP/1.0
+ (or earlier) client. There is an exception to this rule: for
+ compatibility with <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a>, a server MAY send a 100 (Continue)
+ status in response to an HTTP/1.1 PUT or POST request that does
+ not include an Expect request-header field with the "100-
+ continue" expectation. This exception, the purpose of which is
+ to minimize any client processing delays associated with an
+ undeclared wait for 100 (Continue) status, applies only to
+ HTTP/1.1 requests, and not to requests with any other HTTP-
+ version value.
+
+ - An origin server MAY omit a 100 (Continue) response if it has
+ already received some or all of the request body for the
+ corresponding request.
+
+ - An origin server that sends a 100 (Continue) response MUST
+ ultimately send a final status code, once the request body is
+ received and processed, unless it terminates the transport
+ connection prematurely.
+
+ - If an origin server receives a request that does not include an
+ Expect request-header field with the "100-continue" expectation,
+ the request includes a request body, and the server responds
+ with a final status code before reading the entire request body
+ from the transport connection, then the server SHOULD NOT close
+ the transport connection until it has read the entire request,
+ or until the client closes the connection. Otherwise, the client
+ might not reliably receive the response message. However, this
+ requirement is not be construed as preventing a server from
+ defending itself against denial-of-service attacks, or from
+ badly broken client implementations.
+
+ Requirements for HTTP/1.1 proxies:
+
+ - If a proxy receives a request that includes an Expect request-
+ header field with the "100-continue" expectation, and the proxy
+ either knows that the next-hop server complies with HTTP/1.1 or
+ higher, or does not know the HTTP version of the next-hop
+ server, it MUST forward the request, including the Expect header
+ field.
+
+ - If the proxy knows that the version of the next-hop server is
+ HTTP/1.0 or lower, it MUST NOT forward the request, and it MUST
+ respond with a 417 (Expectation Failed) status.
+
+ - Proxies SHOULD maintain a cache recording the HTTP version
+ numbers received from recently-referenced next-hop servers.
+
+ - A proxy MUST NOT forward a 100 (Continue) response if the
+ request message was received from an HTTP/1.0 (or earlier)
+ client and did not include an Expect request-header field with
+ the "100-continue" expectation. This requirement overrides the
+ general rule for forwarding of 1xx responses (see section 10.1).
+
+8.2.4 Client Behavior if Server Prematurely Closes Connection
+
+ If an HTTP/1.1 client sends a request which includes a request body,
+ but which does not include an Expect request-header field with the
+ "100-continue" expectation, and if the client is not directly
+ connected to an HTTP/1.1 origin server, and if the client sees the
+ connection close before receiving any status from the server, the
+ client SHOULD retry the request. If the client does retry this
+ request, it MAY use the following "binary exponential backoff"
+ algorithm to be assured of obtaining a reliable response:
+
+ 1. Initiate a new connection to the server
+
+ 2. Transmit the request-headers
+
+ 3. Initialize a variable R to the estimated round-trip time to the
+ server (e.g., based on the time it took to establish the
+ connection), or to a constant value of 5 seconds if the round-
+ trip time is not available.
+
+ 4. Compute T = R * (2**N), where N is the number of previous
+ retries of this request.
+
+ 5. Wait either for an error response from the server, or for T
+ seconds (whichever comes first)
+
+ 6. If no error response is received, after T seconds transmit the
+ body of the request.
+
+ 7. If client sees that the connection is closed prematurely,
+ repeat from step 1 until the request is accepted, an error
+ response is received, or the user becomes impatient and
+ terminates the retry process.
+
+ If at any point an error status is received, the client
+
+ - SHOULD NOT continue and
+
+ - SHOULD close the connection if it has not completed sending the
+ request message.
+
+9 Method Definitions
+
+ The set of common methods for HTTP/1.1 is defined below. Although
+ this set can be expanded, additional methods cannot be assumed to
+ share the same semantics for separately extended clients and servers.
+
+ The Host request-header field (section 14.23) MUST accompany all
+ HTTP/1.1 requests.
+
+9.1 Safe and Idempotent Methods
+
+9.1.1 Safe Methods
+
+ Implementors should be aware that the software represents the user in
+ their interactions over the Internet, and should be careful to allow
+ the user to be aware of any actions they might take which may have an
+ unexpected significance to themselves or others.
+
+ In particular, the convention has been established that the GET and
+ HEAD methods SHOULD NOT have the significance of taking an action
+ other than retrieval. These methods ought to be considered "safe".
+ This allows user agents to represent other methods, such as POST, PUT
+ and DELETE, in a special way, so that the user is made aware of the
+ fact that a possibly unsafe action is being requested.
+
+ Naturally, it is not possible to ensure that the server does not
+ generate side-effects as a result of performing a GET request; in
+ fact, some dynamic resources consider that a feature. The important
+ distinction here is that the user did not request the side-effects,
+ so therefore cannot be held accountable for them.
+
+9.1.2 Idempotent Methods
+
+ Methods can also have the property of "idempotence" in that (aside
+ from error or expiration issues) the side-effects of N &gt; 0 identical
+ requests is the same as for a single request. The methods GET, HEAD,
+ PUT and DELETE share this property. Also, the methods OPTIONS and
+ TRACE SHOULD NOT have side effects, and so are inherently idempotent.
+
+ However, it is possible that a sequence of several requests is non-
+ idempotent, even if all of the methods executed in that sequence are
+ idempotent. (A sequence is idempotent if a single execution of the
+ entire sequence always yields a result that is not changed by a
+ reexecution of all, or part, of that sequence.) For example, a
+ sequence is non-idempotent if its result depends on a value that is
+ later modified in the same sequence.
+
+ A sequence that never has side effects is idempotent, by definition
+ (provided that no concurrent operations are being executed on the
+ same set of resources).
+
+9.2 OPTIONS
+
+ The OPTIONS method represents a request for information about the
+ communication options available on the request/response chain
+ identified by the Request-URI. This method allows the client to
+ determine the options and/or requirements associated with a resource,
+ or the capabilities of a server, without implying a resource action
+ or initiating a resource retrieval.
+
+ Responses to this method are not cacheable.
+
+ If the OPTIONS request includes an entity-body (as indicated by the
+ presence of Content-Length or Transfer-Encoding), then the media type
+ MUST be indicated by a Content-Type field. Although this
+ specification does not define any use for such a body, future
+ extensions to HTTP might use the OPTIONS body to make more detailed
+ queries on the server. A server that does not support such an
+ extension MAY discard the request body.
+
+ If the Request-URI is an asterisk ("*"), the OPTIONS request is
+ intended to apply to the server in general rather than to a specific
+ resource. Since a server's communication options typically depend on
+ the resource, the "*" request is only useful as a "ping" or "no-op"
+ type of method; it does nothing beyond allowing the client to test
+ the capabilities of the server. For example, this can be used to test
+ a proxy for HTTP/1.1 compliance (or lack thereof).
+
+ If the Request-URI is not an asterisk, the OPTIONS request applies
+ only to the options that are available when communicating with that
+ resource.
+
+ A 200 response SHOULD include any header fields that indicate
+ optional features implemented by the server and applicable to that
+ resource (e.g., Allow), possibly including extensions not defined by
+ this specification. The response body, if any, SHOULD also include
+ information about the communication options. The format for such a
+
+ body is not defined by this specification, but might be defined by
+ future extensions to HTTP. Content negotiation MAY be used to select
+ the appropriate response format. If no response body is included, the
+ response MUST include a Content-Length field with a field-value of
+ "0".
+
+ The Max-Forwards request-header field MAY be used to target a
+ specific proxy in the request chain. When a proxy receives an OPTIONS
+ request on an absoluteURI for which request forwarding is permitted,
+ the proxy MUST check for a Max-Forwards field. If the Max-Forwards
+ field-value is zero ("0"), the proxy MUST NOT forward the message;
+ instead, the proxy SHOULD respond with its own communication options.
+ If the Max-Forwards field-value is an integer greater than zero, the
+ proxy MUST decrement the field-value when it forwards the request. If
+ no Max-Forwards field is present in the request, then the forwarded
+ request MUST NOT include a Max-Forwards field.
+
+9.3 GET
+
+ The GET method means retrieve whatever information (in the form of an
+ entity) is identified by the Request-URI. If the Request-URI refers
+ to a data-producing process, it is the produced data which shall be
+ returned as the entity in the response and not the source text of the
+ process, unless that text happens to be the output of the process.
+
+ The semantics of the GET method change to a "conditional GET" if the
+ request message includes an If-Modified-Since, If-Unmodified-Since,
+ If-Match, If-None-Match, or If-Range header field. A conditional GET
+ method requests that the entity be transferred only under the
+ circumstances described by the conditional header field(s). The
+ conditional GET method is intended to reduce unnecessary network
+ usage by allowing cached entities to be refreshed without requiring
+ multiple requests or transferring data already held by the client.
+
+ The semantics of the GET method change to a "partial GET" if the
+ request message includes a Range header field. A partial GET requests
+ that only part of the entity be transferred, as described in section
+ 14.35. The partial GET method is intended to reduce unnecessary
+ network usage by allowing partially-retrieved entities to be
+ completed without transferring data already held by the client.
+
+ The response to a GET request is cacheable if and only if it meets
+ the requirements for HTTP caching described in section 13.
+
+ See section 15.1.3 for security considerations when used for forms.
+
+9.4 HEAD
+
+ The HEAD method is identical to GET except that the server MUST NOT
+ return a message-body in the response. The metainformation contained
+ in the HTTP headers in response to a HEAD request SHOULD be identical
+ to the information sent in response to a GET request. This method can
+ be used for obtaining metainformation about the entity implied by the
+ request without transferring the entity-body itself. This method is
+ often used for testing hypertext links for validity, accessibility,
+ and recent modification.
+
+ The response to a HEAD request MAY be cacheable in the sense that the
+ information contained in the response MAY be used to update a
+ previously cached entity from that resource. If the new field values
+ indicate that the cached entity differs from the current entity (as
+ would be indicated by a change in Content-Length, Content-MD5, ETag
+ or Last-Modified), then the cache MUST treat the cache entry as
+ stale.
+
+9.5 POST
+
+ The POST method is used to request that the origin server accept the
+ entity enclosed in the request as a new subordinate of the resource
+ identified by the Request-URI in the Request-Line. POST is designed
+ to allow a uniform method to cover the following functions:
+
+ - Annotation of existing resources;
+
+ - Posting a message to a bulletin board, newsgroup, mailing list,
+ or similar group of articles;
+
+ - Providing a block of data, such as the result of submitting a
+ form, to a data-handling process;
+
+ - Extending a database through an append operation.
+
+ The actual function performed by the POST method is determined by the
+ server and is usually dependent on the Request-URI. The posted entity
+ is subordinate to that URI in the same way that a file is subordinate
+ to a directory containing it, a news article is subordinate to a
+ newsgroup to which it is posted, or a record is subordinate to a
+ database.
+
+ The action performed by the POST method might not result in a
+ resource that can be identified by a URI. In this case, either 200
+ (OK) or 204 (No Content) is the appropriate response status,
+ depending on whether or not the response includes an entity that
+ describes the result.
+
+ If a resource has been created on the origin server, the response
+ SHOULD be 201 (Created) and contain an entity which describes the
+ status of the request and refers to the new resource, and a Location
+ header (see section 14.30).
+
+ Responses to this method are not cacheable, unless the response
+ includes appropriate Cache-Control or Expires header fields. However,
+ the 303 (See Other) response can be used to direct the user agent to
+ retrieve a cacheable resource.
+
+ POST requests MUST obey the message transmission requirements set out
+ in section 8.2.
+
+ See section 15.1.3 for security considerations.
+
+9.6 PUT
+
+ The PUT method requests that the enclosed entity be stored under the
+ supplied Request-URI. If the Request-URI refers to an already
+ existing resource, the enclosed entity SHOULD be considered as a
+ modified version of the one residing on the origin server. If the
+ Request-URI does not point to an existing resource, and that URI is
+ capable of being defined as a new resource by the requesting user
+ agent, the origin server can create the resource with that URI. If a
+ new resource is created, the origin server MUST inform the user agent
+ via the 201 (Created) response. If an existing resource is modified,
+ either the 200 (OK) or 204 (No Content) response codes SHOULD be sent
+ to indicate successful completion of the request. If the resource
+ could not be created or modified with the Request-URI, an appropriate
+ error response SHOULD be given that reflects the nature of the
+ problem. The recipient of the entity MUST NOT ignore any Content-*
+ (e.g. Content-Range) headers that it does not understand or implement
+ and MUST return a 501 (Not Implemented) response in such cases.
+
+ If the request passes through a cache and the Request-URI identifies
+ one or more currently cached entities, those entries SHOULD be
+ treated as stale. Responses to this method are not cacheable.
+
+ The fundamental difference between the POST and PUT requests is
+ reflected in the different meaning of the Request-URI. The URI in a
+ POST request identifies the resource that will handle the enclosed
+ entity. That resource might be a data-accepting process, a gateway to
+ some other protocol, or a separate entity that accepts annotations.
+ In contrast, the URI in a PUT request identifies the entity enclosed
+ with the request -- the user agent knows what URI is intended and the
+ server MUST NOT attempt to apply the request to some other resource.
+ If the server desires that the request be applied to a different URI,
+
+ it MUST send a 301 (Moved Permanently) response; the user agent MAY
+ then make its own decision regarding whether or not to redirect the
+ request.
+
+ A single resource MAY be identified by many different URIs. For
+ example, an article might have a URI for identifying "the current
+ version" which is separate from the URI identifying each particular
+ version. In this case, a PUT request on a general URI might result in
+ several other URIs being defined by the origin server.
+
+ HTTP/1.1 does not define how a PUT method affects the state of an
+ origin server.
+
+ PUT requests MUST obey the message transmission requirements set out
+ in section 8.2.
+
+ Unless otherwise specified for a particular entity-header, the
+ entity-headers in the PUT request SHOULD be applied to the resource
+ created or modified by the PUT.
+
+9.7 DELETE
+
+ The DELETE method requests that the origin server delete the resource
+ identified by the Request-URI. This method MAY be overridden by human
+ intervention (or other means) on the origin server. The client cannot
+ be guaranteed that the operation has been carried out, even if the
+ status code returned from the origin server indicates that the action
+ has been completed successfully. However, the server SHOULD NOT
+ indicate success unless, at the time the response is given, it
+ intends to delete the resource or move it to an inaccessible
+ location.
+
+ A successful response SHOULD be 200 (OK) if the response includes an
+ entity describing the status, 202 (Accepted) if the action has not
+ yet been enacted, or 204 (No Content) if the action has been enacted
+ but the response does not include an entity.
+
+ If the request passes through a cache and the Request-URI identifies
+ one or more currently cached entities, those entries SHOULD be
+ treated as stale. Responses to this method are not cacheable.
+
+9.8 TRACE
+
+ The TRACE method is used to invoke a remote, application-layer loop-
+ back of the request message. The final recipient of the request
+ SHOULD reflect the message received back to the client as the
+ entity-body of a 200 (OK) response. The final recipient is either the
+
+ origin server or the first proxy or gateway to receive a Max-Forwards
+ value of zero (0) in the request (see section 14.31). A TRACE request
+ MUST NOT include an entity.
+
+ TRACE allows the client to see what is being received at the other
+ end of the request chain and use that data for testing or diagnostic
+ information. The value of the Via header field (section 14.45) is of
+ particular interest, since it acts as a trace of the request chain.
+ Use of the Max-Forwards header field allows the client to limit the
+ length of the request chain, which is useful for testing a chain of
+ proxies forwarding messages in an infinite loop.
+
+ If the request is valid, the response SHOULD contain the entire
+ request message in the entity-body, with a Content-Type of
+ "message/http". Responses to this method MUST NOT be cached.
+
+9.9 CONNECT
+
+ This specification reserves the method name CONNECT for use with a
+ proxy that can dynamically switch to being a tunnel (e.g. SSL
+ tunneling [44]).
+
+10 Status Code Definitions
+
+ Each Status-Code is described below, including a description of which
+ method(s) it can follow and any metainformation required in the
+ response.
+
+10.1 Informational 1xx
+
+ This class of status code indicates a provisional response,
+ consisting only of the Status-Line and optional headers, and is
+ terminated by an empty line. There are no required headers for this
+ class of status code. Since HTTP/1.0 did not define any 1xx status
+ codes, servers MUST NOT send a 1xx response to an HTTP/1.0 client
+ except under experimental conditions.
+
+ A client MUST be prepared to accept one or more 1xx status responses
+ prior to a regular response, even if the client does not expect a 100
+ (Continue) status message. Unexpected 1xx status responses MAY be
+ ignored by a user agent.
+
+ Proxies MUST forward 1xx responses, unless the connection between the
+ proxy and its client has been closed, or unless the proxy itself
+ requested the generation of the 1xx response. (For example, if a
+
+ proxy adds a "Expect: 100-continue" field when it forwards a request,
+ then it need not forward the corresponding 100 (Continue)
+ response(s).)
+
+10.1.1 100 Continue
+
+ The client SHOULD continue with its request. This interim response is
+ used to inform the client that the initial part of the request has
+ been received and has not yet been rejected by the server. The client
+ SHOULD continue by sending the remainder of the request or, if the
+ request has already been completed, ignore this response. The server
+ MUST send a final response after the request has been completed. See
+ section 8.2.3 for detailed discussion of the use and handling of this
+ status code.
+
+10.1.2 101 Switching Protocols
+
+ The server understands and is willing to comply with the client's
+ request, via the Upgrade message header field (section 14.42), for a
+ change in the application protocol being used on this connection. The
+ server will switch protocols to those defined by the response's
+ Upgrade header field immediately after the empty line which
+ terminates the 101 response.
+
+ The protocol SHOULD be switched only when it is advantageous to do
+ so. For example, switching to a newer version of HTTP is advantageous
+ over older versions, and switching to a real-time, synchronous
+ protocol might be advantageous when delivering resources that use
+ such features.
+
+10.2 Successful 2xx
+
+ This class of status code indicates that the client's request was
+ successfully received, understood, and accepted.
+
+10.2.1 200 OK
+
+ The request has succeeded. The information returned with the response
+ is dependent on the method used in the request, for example:
+
+ GET an entity corresponding to the requested resource is sent in
+ the response;
+
+ HEAD the entity-header fields corresponding to the requested
+ resource are sent in the response without any message-body;
+
+ POST an entity describing or containing the result of the action;
+
+ TRACE an entity containing the request message as received by the
+ end server.
+
+10.2.2 201 Created
+
+ The request has been fulfilled and resulted in a new resource being
+ created. The newly created resource can be referenced by the URI(s)
+ returned in the entity of the response, with the most specific URI
+ for the resource given by a Location header field. The response
+ SHOULD include an entity containing a list of resource
+ characteristics and location(s) from which the user or user agent can
+ choose the one most appropriate. The entity format is specified by
+ the media type given in the Content-Type header field. The origin
+ server MUST create the resource before returning the 201 status code.
+ If the action cannot be carried out immediately, the server SHOULD
+ respond with 202 (Accepted) response instead.
+
+ A 201 response MAY contain an ETag response header field indicating
+ the current value of the entity tag for the requested variant just
+ created, see section 14.19.
+
+10.2.3 202 Accepted
+
+ The request has been accepted for processing, but the processing has
+ not been completed. The request might or might not eventually be
+ acted upon, as it might be disallowed when processing actually takes
+ place. There is no facility for re-sending a status code from an
+ asynchronous operation such as this.
+
+ The 202 response is intentionally non-committal. Its purpose is to
+ allow a server to accept a request for some other process (perhaps a
+ batch-oriented process that is only run once per day) without
+ requiring that the user agent's connection to the server persist
+ until the process is completed. The entity returned with this
+ response SHOULD include an indication of the request's current status
+ and either a pointer to a status monitor or some estimate of when the
+ user can expect the request to be fulfilled.
+
+10.2.4 203 Non-Authoritative Information
+
+ The returned metainformation in the entity-header is not the
+ definitive set as available from the origin server, but is gathered
+ from a local or a third-party copy. The set presented MAY be a subset
+ or superset of the original version. For example, including local
+ annotation information about the resource might result in a superset
+ of the metainformation known by the origin server. Use of this
+ response code is not required and is only appropriate when the
+ response would otherwise be 200 (OK).
+
+10.2.5 204 No Content
+
+ The server has fulfilled the request but does not need to return an
+ entity-body, and might want to return updated metainformation. The
+ response MAY include new or updated metainformation in the form of
+ entity-headers, which if present SHOULD be associated with the
+ requested variant.
+
+ If the client is a user agent, it SHOULD NOT change its document view
+ from that which caused the request to be sent. This response is
+ primarily intended to allow input for actions to take place without
+ causing a change to the user agent's active document view, although
+ any new or updated metainformation SHOULD be applied to the document
+ currently in the user agent's active view.
+
+ The 204 response MUST NOT include a message-body, and thus is always
+ terminated by the first empty line after the header fields.
+
+10.2.6 205 Reset Content
+
+ The server has fulfilled the request and the user agent SHOULD reset
+ the document view which caused the request to be sent. This response
+ is primarily intended to allow input for actions to take place via
+ user input, followed by a clearing of the form in which the input is
+ given so that the user can easily initiate another input action. The
+ response MUST NOT include an entity.
+
+10.2.7 206 Partial Content
+
+ The server has fulfilled the partial GET request for the resource.
+ The request MUST have included a Range header field (section 14.35)
+ indicating the desired range, and MAY have included an If-Range
+ header field (section 14.27) to make the request conditional.
+
+ The response MUST include the following header fields:
+
+ - Either a Content-Range header field (section 14.16) indicating
+ the range included with this response, or a multipart/byteranges
+ Content-Type including Content-Range fields for each part. If a
+ Content-Length header field is present in the response, its
+ value MUST match the actual number of OCTETs transmitted in the
+ message-body.
+
+ - Date
+
+ - ETag and/or Content-Location, if the header would have been sent
+ in a 200 response to the same request
+
+ - Expires, Cache-Control, and/or Vary, if the field-value might
+ differ from that sent in any previous response for the same
+ variant
+
+ If the 206 response is the result of an If-Range request that used a
+ strong cache validator (see section 13.3.3), the response SHOULD NOT
+ include other entity-headers. If the response is the result of an
+ If-Range request that used a weak validator, the response MUST NOT
+ include other entity-headers; this prevents inconsistencies between
+ cached entity-bodies and updated headers. Otherwise, the response
+ MUST include all of the entity-headers that would have been returned
+ with a 200 (OK) response to the same request.
+
+ A cache MUST NOT combine a 206 response with other previously cached
+ content if the ETag or Last-Modified headers do not match exactly,
+ see 13.5.4.
+
+ A cache that does not support the Range and Content-Range headers
+ MUST NOT cache 206 (Partial) responses.
+
+10.3 Redirection 3xx
+
+ This class of status code indicates that further action needs to be
+ taken by the user agent in order to fulfill the request. The action
+ required MAY be carried out by the user agent without interaction
+ with the user if and only if the method used in the second request is
+ GET or HEAD. A client SHOULD detect infinite redirection loops, since
+ such loops generate network traffic for each redirection.
+
+ Note: previous versions of this specification recommended a
+ maximum of five redirections. Content developers should be aware
+ that there might be clients that implement such a fixed
+ limitation.
+
+10.3.1 300 Multiple Choices
+
+ The requested resource corresponds to any one of a set of
+ representations, each with its own specific location, and agent-
+ driven negotiation information (section 12) is being provided so that
+ the user (or user agent) can select a preferred representation and
+ redirect its request to that location.
+
+ Unless it was a HEAD request, the response SHOULD include an entity
+ containing a list of resource characteristics and location(s) from
+ which the user or user agent can choose the one most appropriate. The
+ entity format is specified by the media type given in the Content-
+ Type header field. Depending upon the format and the capabilities of
+
+ the user agent, selection of the most appropriate choice MAY be
+ performed automatically. However, this specification does not define
+ any standard for such automatic selection.
+
+ If the server has a preferred choice of representation, it SHOULD
+ include the specific URI for that representation in the Location
+ field; user agents MAY use the Location field value for automatic
+ redirection. This response is cacheable unless indicated otherwise.
+
+10.3.2 301 Moved Permanently
+
+ The requested resource has been assigned a new permanent URI and any
+ future references to this resource SHOULD use one of the returned
+ URIs. Clients with link editing capabilities ought to automatically
+ re-link references to the Request-URI to one or more of the new
+ references returned by the server, where possible. This response is
+ cacheable unless indicated otherwise.
+
+ The new permanent URI SHOULD be given by the Location field in the
+ response. Unless the request method was HEAD, the entity of the
+ response SHOULD contain a short hypertext note with a hyperlink to
+ the new URI(s).
+
+ If the 301 status code is received in response to a request other
+ than GET or HEAD, the user agent MUST NOT automatically redirect the
+ request unless it can be confirmed by the user, since this might
+ change the conditions under which the request was issued.
+
+ Note: When automatically redirecting a POST request after
+ receiving a 301 status code, some existing HTTP/1.0 user agents
+ will erroneously change it into a GET request.
+
+10.3.3 302 Found
+
+ The requested resource resides temporarily under a different URI.
+ Since the redirection might be altered on occasion, the client SHOULD
+ continue to use the Request-URI for future requests. This response
+ is only cacheable if indicated by a Cache-Control or Expires header
+ field.
+
+ The temporary URI SHOULD be given by the Location field in the
+ response. Unless the request method was HEAD, the entity of the
+ response SHOULD contain a short hypertext note with a hyperlink to
+ the new URI(s).
+
+ If the 302 status code is received in response to a request other
+ than GET or HEAD, the user agent MUST NOT automatically redirect the
+ request unless it can be confirmed by the user, since this might
+ change the conditions under which the request was issued.
+
+ Note: <a href="http://firefly.troll.no/rfcs/rfc1945.html">RFC 1945</a> and <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> specify that the client is not allowed
+ to change the method on the redirected request. However, most
+ existing user agent implementations treat 302 as if it were a 303
+ response, performing a GET on the Location field-value regardless
+ of the original request method. The status codes 303 and 307 have
+ been added for servers that wish to make unambiguously clear which
+ kind of reaction is expected of the client.
+
+10.3.4 303 See Other
+
+ The response to the request can be found under a different URI and
+ SHOULD be retrieved using a GET method on that resource. This method
+ exists primarily to allow the output of a POST-activated script to
+ redirect the user agent to a selected resource. The new URI is not a
+ substitute reference for the originally requested resource. The 303
+ response MUST NOT be cached, but the response to the second
+ (redirected) request might be cacheable.
+
+ The different URI SHOULD be given by the Location field in the
+ response. Unless the request method was HEAD, the entity of the
+ response SHOULD contain a short hypertext note with a hyperlink to
+ the new URI(s).
+
+ Note: Many pre-HTTP/1.1 user agents do not understand the 303
+ status. When interoperability with such clients is a concern, the
+ 302 status code may be used instead, since most user agents react
+ to a 302 response as described here for 303.
+
+10.3.5 304 Not Modified
+
+ If the client has performed a conditional GET request and access is
+ allowed, but the document has not been modified, the server SHOULD
+ respond with this status code. The 304 response MUST NOT contain a
+ message-body, and thus is always terminated by the first empty line
+ after the header fields.
+
+ The response MUST include the following header fields:
+
+ - Date, unless its omission is required by section 14.18.1
+
+ If a clockless origin server obeys these rules, and proxies and
+ clients add their own Date to any response received without one (as
+ already specified by [<a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a>], section 14.19), caches will operate
+ correctly.
+
+ - ETag and/or Content-Location, if the header would have been sent
+ in a 200 response to the same request
+
+ - Expires, Cache-Control, and/or Vary, if the field-value might
+ differ from that sent in any previous response for the same
+ variant
+
+ If the conditional GET used a strong cache validator (see section
+ 13.3.3), the response SHOULD NOT include other entity-headers.
+ Otherwise (i.e., the conditional GET used a weak validator), the
+ response MUST NOT include other entity-headers; this prevents
+ inconsistencies between cached entity-bodies and updated headers.
+
+ If a 304 response indicates an entity not currently cached, then the
+ cache MUST disregard the response and repeat the request without the
+ conditional.
+
+ If a cache uses a received 304 response to update a cache entry, the
+ cache MUST update the entry to reflect any new field values given in
+ the response.
+
+10.3.6 305 Use Proxy
+
+ The requested resource MUST be accessed through the proxy given by
+ the Location field. The Location field gives the URI of the proxy.
+ The recipient is expected to repeat this single request via the
+ proxy. 305 responses MUST only be generated by origin servers.
+
+ Note: <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> was not clear that 305 was intended to redirect a
+ single request, and to be generated by origin servers only. Not
+ observing these limitations has significant security consequences.
+
+10.3.7 306 (Unused)
+
+ The 306 status code was used in a previous version of the
+ specification, is no longer used, and the code is reserved.
+
+10.3.8 307 Temporary Redirect
+
+ The requested resource resides temporarily under a different URI.
+ Since the redirection MAY be altered on occasion, the client SHOULD
+ continue to use the Request-URI for future requests. This response
+ is only cacheable if indicated by a Cache-Control or Expires header
+ field.
+
+ The temporary URI SHOULD be given by the Location field in the
+ response. Unless the request method was HEAD, the entity of the
+ response SHOULD contain a short hypertext note with a hyperlink to
+ the new URI(s) , since many pre-HTTP/1.1 user agents do not
+ understand the 307 status. Therefore, the note SHOULD contain the
+ information necessary for a user to repeat the original request on
+ the new URI.
+
+ If the 307 status code is received in response to a request other
+ than GET or HEAD, the user agent MUST NOT automatically redirect the
+ request unless it can be confirmed by the user, since this might
+ change the conditions under which the request was issued.
+
+10.4 Client Error 4xx
+
+ The 4xx class of status code is intended for cases in which the
+ client seems to have erred. Except when responding to a HEAD request,
+ the server SHOULD include an entity containing an explanation of the
+ error situation, and whether it is a temporary or permanent
+ condition. These status codes are applicable to any request method.
+ User agents SHOULD display any included entity to the user.
+
+ If the client is sending data, a server implementation using TCP
+ SHOULD be careful to ensure that the client acknowledges receipt of
+ the packet(s) containing the response, before the server closes the
+ input connection. If the client continues sending data to the server
+ after the close, the server's TCP stack will send a reset packet to
+ the client, which may erase the client's unacknowledged input buffers
+ before they can be read and interpreted by the HTTP application.
+
+10.4.1 400 Bad Request
+
+ The request could not be understood by the server due to malformed
+ syntax. The client SHOULD NOT repeat the request without
+ modifications.
+
+10.4.2 401 Unauthorized
+
+ The request requires user authentication. The response MUST include a
+ WWW-Authenticate header field (section 14.47) containing a challenge
+ applicable to the requested resource. The client MAY repeat the
+ request with a suitable Authorization header field (section 14.8). If
+ the request already included Authorization credentials, then the 401
+ response indicates that authorization has been refused for those
+ credentials. If the 401 response contains the same challenge as the
+ prior response, and the user agent has already attempted
+ authentication at least once, then the user SHOULD be presented the
+ entity that was given in the response, since that entity might
+ include relevant diagnostic information. HTTP access authentication
+ is explained in "HTTP Authentication: Basic and Digest Access
+ Authentication" [43].
+
+10.4.3 402 Payment Required
+
+ This code is reserved for future use.
+
+10.4.4 403 Forbidden
+
+ The server understood the request, but is refusing to fulfill it.
+ Authorization will not help and the request SHOULD NOT be repeated.
+ If the request method was not HEAD and the server wishes to make
+ public why the request has not been fulfilled, it SHOULD describe the
+ reason for the refusal in the entity. If the server does not wish to
+ make this information available to the client, the status code 404
+ (Not Found) can be used instead.
+
+10.4.5 404 Not Found
+
+ The server has not found anything matching the Request-URI. No
+ indication is given of whether the condition is temporary or
+ permanent. The 410 (Gone) status code SHOULD be used if the server
+ knows, through some internally configurable mechanism, that an old
+ resource is permanently unavailable and has no forwarding address.
+ This status code is commonly used when the server does not wish to
+ reveal exactly why the request has been refused, or when no other
+ response is applicable.
+
+10.4.6 405 Method Not Allowed
+
+ The method specified in the Request-Line is not allowed for the
+ resource identified by the Request-URI. The response MUST include an
+ Allow header containing a list of valid methods for the requested
+ resource.
+
+10.4.7 406 Not Acceptable
+
+ The resource identified by the request is only capable of generating
+ response entities which have content characteristics not acceptable
+ according to the accept headers sent in the request.
+
+ Unless it was a HEAD request, the response SHOULD include an entity
+ containing a list of available entity characteristics and location(s)
+ from which the user or user agent can choose the one most
+ appropriate. The entity format is specified by the media type given
+ in the Content-Type header field. Depending upon the format and the
+ capabilities of the user agent, selection of the most appropriate
+ choice MAY be performed automatically. However, this specification
+ does not define any standard for such automatic selection.
+
+ Note: HTTP/1.1 servers are allowed to return responses which are
+ not acceptable according to the accept headers sent in the
+ request. In some cases, this may even be preferable to sending a
+ 406 response. User agents are encouraged to inspect the headers of
+ an incoming response to determine if it is acceptable.
+
+ If the response could be unacceptable, a user agent SHOULD
+ temporarily stop receipt of more data and query the user for a
+ decision on further actions.
+
+10.4.8 407 Proxy Authentication Required
+
+ This code is similar to 401 (Unauthorized), but indicates that the
+ client must first authenticate itself with the proxy. The proxy MUST
+ return a Proxy-Authenticate header field (section 14.33) containing a
+ challenge applicable to the proxy for the requested resource. The
+ client MAY repeat the request with a suitable Proxy-Authorization
+ header field (section 14.34). HTTP access authentication is explained
+ in "HTTP Authentication: Basic and Digest Access Authentication"
+ [43].
+
+10.4.9 408 Request Timeout
+
+ The client did not produce a request within the time that the server
+ was prepared to wait. The client MAY repeat the request without
+ modifications at any later time.
+
+10.4.10 409 Conflict
+
+ The request could not be completed due to a conflict with the current
+ state of the resource. This code is only allowed in situations where
+ it is expected that the user might be able to resolve the conflict
+ and resubmit the request. The response body SHOULD include enough
+
+ information for the user to recognize the source of the conflict.
+ Ideally, the response entity would include enough information for the
+ user or user agent to fix the problem; however, that might not be
+ possible and is not required.
+
+ Conflicts are most likely to occur in response to a PUT request. For
+ example, if versioning were being used and the entity being PUT
+ included changes to a resource which conflict with those made by an
+ earlier (third-party) request, the server might use the 409 response
+ to indicate that it can't complete the request. In this case, the
+ response entity would likely contain a list of the differences
+ between the two versions in a format defined by the response
+ Content-Type.
+
+10.4.11 410 Gone
+
+ The requested resource is no longer available at the server and no
+ forwarding address is known. This condition is expected to be
+ considered permanent. Clients with link editing capabilities SHOULD
+ delete references to the Request-URI after user approval. If the
+ server does not know, or has no facility to determine, whether or not
+ the condition is permanent, the status code 404 (Not Found) SHOULD be
+ used instead. This response is cacheable unless indicated otherwise.
+
+ The 410 response is primarily intended to assist the task of web
+ maintenance by notifying the recipient that the resource is
+ intentionally unavailable and that the server owners desire that
+ remote links to that resource be removed. Such an event is common for
+ limited-time, promotional services and for resources belonging to
+ individuals no longer working at the server's site. It is not
+ necessary to mark all permanently unavailable resources as "gone" or
+ to keep the mark for any length of time -- that is left to the
+ discretion of the server owner.
+
+10.4.12 411 Length Required
+
+ The server refuses to accept the request without a defined Content-
+ Length. The client MAY repeat the request if it adds a valid
+ Content-Length header field containing the length of the message-body
+ in the request message.
+
+10.4.13 412 Precondition Failed
+
+ The precondition given in one or more of the request-header fields
+ evaluated to false when it was tested on the server. This response
+ code allows the client to place preconditions on the current resource
+ metainformation (header field data) and thus prevent the requested
+ method from being applied to a resource other than the one intended.
+
+10.4.14 413 Request Entity Too Large
+
+ The server is refusing to process a request because the request
+ entity is larger than the server is willing or able to process. The
+ server MAY close the connection to prevent the client from continuing
+ the request.
+
+ If the condition is temporary, the server SHOULD include a Retry-
+ After header field to indicate that it is temporary and after what
+ time the client MAY try again.
+
+10.4.15 414 Request-URI Too Long
+
+ The server is refusing to service the request because the Request-URI
+ is longer than the server is willing to interpret. This rare
+ condition is only likely to occur when a client has improperly
+ converted a POST request to a GET request with long query
+ information, when the client has descended into a URI "black hole" of
+ redirection (e.g., a redirected URI prefix that points to a suffix of
+ itself), or when the server is under attack by a client attempting to
+ exploit security holes present in some servers using fixed-length
+ buffers for reading or manipulating the Request-URI.
+
+10.4.16 415 Unsupported Media Type
+
+ The server is refusing to service the request because the entity of
+ the request is in a format not supported by the requested resource
+ for the requested method.
+
+10.4.17 416 Requested Range Not Satisfiable
+
+ A server SHOULD return a response with this status code if a request
+ included a Range request-header field (section 14.35), and none of
+ the range-specifier values in this field overlap the current extent
+ of the selected resource, and the request did not include an If-Range
+ request-header field. (For byte-ranges, this means that the first-
+ byte-pos of all of the byte-range-spec values were greater than the
+ current length of the selected resource.)
+
+ When this status code is returned for a byte-range request, the
+ response SHOULD include a Content-Range entity-header field
+ specifying the current length of the selected resource (see section
+ 14.16). This response MUST NOT use the multipart/byteranges content-
+ type.
+
+10.4.18 417 Expectation Failed
+
+ The expectation given in an Expect request-header field (see section
+ 14.20) could not be met by this server, or, if the server is a proxy,
+ the server has unambiguous evidence that the request could not be met
+ by the next-hop server.
+
+10.5 Server Error 5xx
+
+ Response status codes beginning with the digit "5" indicate cases in
+ which the server is aware that it has erred or is incapable of
+ performing the request. Except when responding to a HEAD request, the
+ server SHOULD include an entity containing an explanation of the
+ error situation, and whether it is a temporary or permanent
+ condition. User agents SHOULD display any included entity to the
+ user. These response codes are applicable to any request method.
+
+10.5.1 500 Internal Server Error
+
+ The server encountered an unexpected condition which prevented it
+ from fulfilling the request.
+
+10.5.2 501 Not Implemented
+
+ The server does not support the functionality required to fulfill the
+ request. This is the appropriate response when the server does not
+ recognize the request method and is not capable of supporting it for
+ any resource.
+
+10.5.3 502 Bad Gateway
+
+ The server, while acting as a gateway or proxy, received an invalid
+ response from the upstream server it accessed in attempting to
+ fulfill the request.
+
+10.5.4 503 Service Unavailable
+
+ The server is currently unable to handle the request due to a
+ temporary overloading or maintenance of the server. The implication
+ is that this is a temporary condition which will be alleviated after
+ some delay. If known, the length of the delay MAY be indicated in a
+ Retry-After header. If no Retry-After is given, the client SHOULD
+ handle the response as it would for a 500 response.
+
+ Note: The existence of the 503 status code does not imply that a
+ server must use it when becoming overloaded. Some servers may wish
+ to simply refuse the connection.
+
+10.5.5 504 Gateway Timeout
+
+ The server, while acting as a gateway or proxy, did not receive a
+ timely response from the upstream server specified by the URI (e.g.
+ HTTP, FTP, LDAP) or some other auxiliary server (e.g. DNS) it needed
+ to access in attempting to complete the request.
+
+ Note: Note to implementors: some deployed proxies are known to
+ return 400 or 500 when DNS lookups time out.
+
+10.5.6 505 HTTP Version Not Supported
+
+ The server does not support, or refuses to support, the HTTP protocol
+ version that was used in the request message. The server is
+ indicating that it is unable or unwilling to complete the request
+ using the same major version as the client, as described in section
+ 3.1, other than with this error message. The response SHOULD contain
+ an entity describing why that version is not supported and what other
+ protocols are supported by that server.
+
+11 Access Authentication
+
+ HTTP provides several OPTIONAL challenge-response authentication
+ mechanisms which can be used by a server to challenge a client
+ request and by a client to provide authentication information. The
+ general framework for access authentication, and the specification of
+ "basic" and "digest" authentication, are specified in "HTTP
+ Authentication: Basic and Digest Access Authentication" [43]. This
+ specification adopts the definitions of "challenge" and "credentials"
+ from that specification.
+
+12 Content Negotiation
+
+ Most HTTP responses include an entity which contains information for
+ interpretation by a human user. Naturally, it is desirable to supply
+ the user with the "best available" entity corresponding to the
+ request. Unfortunately for servers and caches, not all users have the
+ same preferences for what is "best," and not all user agents are
+ equally capable of rendering all entity types. For that reason, HTTP
+ has provisions for several mechanisms for "content negotiation" --
+ the process of selecting the best representation for a given response
+ when there are multiple representations available.
+
+ Note: This is not called "format negotiation" because the
+ alternate representations may be of the same media type, but use
+ different capabilities of that type, be in different languages,
+ etc.
+
+ Any response containing an entity-body MAY be subject to negotiation,
+ including error responses.
+
+ There are two kinds of content negotiation which are possible in
+ HTTP: server-driven and agent-driven negotiation. These two kinds of
+ negotiation are orthogonal and thus may be used separately or in
+ combination. One method of combination, referred to as transparent
+ negotiation, occurs when a cache uses the agent-driven negotiation
+ information provided by the origin server in order to provide
+ server-driven negotiation for subsequent requests.
+
+12.1 Server-driven Negotiation
+
+ If the selection of the best representation for a response is made by
+ an algorithm located at the server, it is called server-driven
+ negotiation. Selection is based on the available representations of
+ the response (the dimensions over which it can vary; e.g. language,
+ content-coding, etc.) and the contents of particular header fields in
+ the request message or on other information pertaining to the request
+ (such as the network address of the client).
+
+ Server-driven negotiation is advantageous when the algorithm for
+ selecting from among the available representations is difficult to
+ describe to the user agent, or when the server desires to send its
+ "best guess" to the client along with the first response (hoping to
+ avoid the round-trip delay of a subsequent request if the "best
+ guess" is good enough for the user). In order to improve the server's
+ guess, the user agent MAY include request header fields (Accept,
+ Accept-Language, Accept-Encoding, etc.) which describe its
+ preferences for such a response.
+
+ Server-driven negotiation has disadvantages:
+
+ 1. It is impossible for the server to accurately determine what
+ might be "best" for any given user, since that would require
+ complete knowledge of both the capabilities of the user agent
+ and the intended use for the response (e.g., does the user want
+ to view it on screen or print it on paper?).
+
+ 2. Having the user agent describe its capabilities in every
+ request can be both very inefficient (given that only a small
+ percentage of responses have multiple representations) and a
+ potential violation of the user's privacy.
+
+ 3. It complicates the implementation of an origin server and the
+ algorithms for generating responses to a request.
+
+ 4. It may limit a public cache's ability to use the same response
+ for multiple user's requests.
+
+ HTTP/1.1 includes the following request-header fields for enabling
+ server-driven negotiation through description of user agent
+ capabilities and user preferences: Accept (section 14.1), Accept-
+ Charset (section 14.2), Accept-Encoding (section 14.3), Accept-
+ Language (section 14.4), and User-Agent (section 14.43). However, an
+ origin server is not limited to these dimensions and MAY vary the
+ response based on any aspect of the request, including information
+ outside the request-header fields or within extension header fields
+ not defined by this specification.
+
+ The Vary header field can be used to express the parameters the
+ server uses to select a representation that is subject to server-
+ driven negotiation. See section 13.6 for use of the Vary header field
+ by caches and section 14.44 for use of the Vary header field by
+ servers.
+
+12.2 Agent-driven Negotiation
+
+ With agent-driven negotiation, selection of the best representation
+ for a response is performed by the user agent after receiving an
+ initial response from the origin server. Selection is based on a list
+ of the available representations of the response included within the
+ header fields or entity-body of the initial response, with each
+ representation identified by its own URI. Selection from among the
+ representations may be performed automatically (if the user agent is
+ capable of doing so) or manually by the user selecting from a
+ generated (possibly hypertext) menu.
+
+ Agent-driven negotiation is advantageous when the response would vary
+ over commonly-used dimensions (such as type, language, or encoding),
+ when the origin server is unable to determine a user agent's
+ capabilities from examining the request, and generally when public
+ caches are used to distribute server load and reduce network usage.
+
+ Agent-driven negotiation suffers from the disadvantage of needing a
+ second request to obtain the best alternate representation. This
+ second request is only efficient when caching is used. In addition,
+ this specification does not define any mechanism for supporting
+ automatic selection, though it also does not prevent any such
+ mechanism from being developed as an extension and used within
+ HTTP/1.1.
+
+ HTTP/1.1 defines the 300 (Multiple Choices) and 406 (Not Acceptable)
+ status codes for enabling agent-driven negotiation when the server is
+ unwilling or unable to provide a varying response using server-driven
+ negotiation.
+
+12.3 Transparent Negotiation
+
+ Transparent negotiation is a combination of both server-driven and
+ agent-driven negotiation. When a cache is supplied with a form of the
+ list of available representations of the response (as in agent-driven
+ negotiation) and the dimensions of variance are completely understood
+ by the cache, then the cache becomes capable of performing server-
+ driven negotiation on behalf of the origin server for subsequent
+ requests on that resource.
+
+ Transparent negotiation has the advantage of distributing the
+ negotiation work that would otherwise be required of the origin
+ server and also removing the second request delay of agent-driven
+ negotiation when the cache is able to correctly guess the right
+ response.
+
+ This specification does not define any mechanism for transparent
+ negotiation, though it also does not prevent any such mechanism from
+ being developed as an extension that could be used within HTTP/1.1.
+
+13 Caching in HTTP
+
+ HTTP is typically used for distributed information systems, where
+ performance can be improved by the use of response caches. The
+ HTTP/1.1 protocol includes a number of elements intended to make
+ caching work as well as possible. Because these elements are
+ inextricable from other aspects of the protocol, and because they
+ interact with each other, it is useful to describe the basic caching
+ design of HTTP separately from the detailed descriptions of methods,
+ headers, response codes, etc.
+
+ Caching would be useless if it did not significantly improve
+ performance. The goal of caching in HTTP/1.1 is to eliminate the need
+ to send requests in many cases, and to eliminate the need to send
+ full responses in many other cases. The former reduces the number of
+ network round-trips required for many operations; we use an
+ "expiration" mechanism for this purpose (see section 13.2). The
+ latter reduces network bandwidth requirements; we use a "validation"
+ mechanism for this purpose (see section 13.3).
+
+ Requirements for performance, availability, and disconnected
+ operation require us to be able to relax the goal of semantic
+ transparency. The HTTP/1.1 protocol allows origin servers, caches,
+
+ and clients to explicitly reduce transparency when necessary.
+ However, because non-transparent operation may confuse non-expert
+ users, and might be incompatible with certain server applications
+ (such as those for ordering merchandise), the protocol requires that
+ transparency be relaxed
+
+ - only by an explicit protocol-level request when relaxed by
+ client or origin server
+
+ - only with an explicit warning to the end user when relaxed by
+ cache or client
+
+ Therefore, the HTTP/1.1 protocol provides these important elements:
+
+ 1. Protocol features that provide full semantic transparency when
+ this is required by all parties.
+
+ 2. Protocol features that allow an origin server or user agent to
+ explicitly request and control non-transparent operation.
+
+ 3. Protocol features that allow a cache to attach warnings to
+ responses that do not preserve the requested approximation of
+ semantic transparency.
+
+ A basic principle is that it must be possible for the clients to
+ detect any potential relaxation of semantic transparency.
+
+ Note: The server, cache, or client implementor might be faced with
+ design decisions not explicitly discussed in this specification.
+ If a decision might affect semantic transparency, the implementor
+ ought to err on the side of maintaining transparency unless a
+ careful and complete analysis shows significant benefits in
+ breaking transparency.
+
+13.1.1 Cache Correctness
+
+ A correct cache MUST respond to a request with the most up-to-date
+ response held by the cache that is appropriate to the request (see
+ sections 13.2.5, 13.2.6, and 13.12) which meets one of the following
+ conditions:
+
+ 1. It has been checked for equivalence with what the origin server
+ would have returned by revalidating the response with the
+ origin server (section 13.3);
+
+ 2. It is "fresh enough" (see section 13.2). In the default case,
+ this means it meets the least restrictive freshness requirement
+ of the client, origin server, and cache (see section 14.9); if
+ the origin server so specifies, it is the freshness requirement
+ of the origin server alone.
+
+ If a stored response is not "fresh enough" by the most
+ restrictive freshness requirement of both the client and the
+ origin server, in carefully considered circumstances the cache
+ MAY still return the response with the appropriate Warning
+ header (see section 13.1.5 and 14.46), unless such a response
+ is prohibited (e.g., by a "no-store" cache-directive, or by a
+ "no-cache" cache-request-directive; see section 14.9).
+
+ 3. It is an appropriate 304 (Not Modified), 305 (Proxy Redirect),
+ or error (4xx or 5xx) response message.
+
+ If the cache can not communicate with the origin server, then a
+ correct cache SHOULD respond as above if the response can be
+ correctly served from the cache; if not it MUST return an error or
+ warning indicating that there was a communication failure.
+
+ If a cache receives a response (either an entire response, or a 304
+ (Not Modified) response) that it would normally forward to the
+ requesting client, and the received response is no longer fresh, the
+ cache SHOULD forward it to the requesting client without adding a new
+ Warning (but without removing any existing Warning headers). A cache
+ SHOULD NOT attempt to revalidate a response simply because that
+ response became stale in transit; this might lead to an infinite
+ loop. A user agent that receives a stale response without a Warning
+ MAY display a warning indication to the user.
+
+13.1.2 Warnings
+
+ Whenever a cache returns a response that is neither first-hand nor
+ "fresh enough" (in the sense of condition 2 in section 13.1.1), it
+ MUST attach a warning to that effect, using a Warning general-header.
+ The Warning header and the currently defined warnings are described
+ in section 14.46. The warning allows clients to take appropriate
+ action.
+
+ Warnings MAY be used for other purposes, both cache-related and
+ otherwise. The use of a warning, rather than an error status code,
+ distinguish these responses from true failures.
+
+ Warnings are assigned three digit warn-codes. The first digit
+ indicates whether the Warning MUST or MUST NOT be deleted from a
+ stored cache entry after a successful revalidation:
+
+ 1xx Warnings that describe the freshness or revalidation status of
+ the response, and so MUST be deleted after a successful
+ revalidation. 1XX warn-codes MAY be generated by a cache only when
+ validating a cached entry. It MUST NOT be generated by clients.
+
+ 2xx Warnings that describe some aspect of the entity body or entity
+ headers that is not rectified by a revalidation (for example, a
+ lossy compression of the entity bodies) and which MUST NOT be
+ deleted after a successful revalidation.
+
+ See section 14.46 for the definitions of the codes themselves.
+
+ HTTP/1.0 caches will cache all Warnings in responses, without
+ deleting the ones in the first category. Warnings in responses that
+ are passed to HTTP/1.0 caches carry an extra warning-date field,
+ which prevents a future HTTP/1.1 recipient from believing an
+ erroneously cached Warning.
+
+ Warnings also carry a warning text. The text MAY be in any
+ appropriate natural language (perhaps based on the client's Accept
+ headers), and include an OPTIONAL indication of what character set is
+ used.
+
+ Multiple warnings MAY be attached to a response (either by the origin
+ server or by a cache), including multiple warnings with the same code
+ number. For example, a server might provide the same warning with
+ texts in both English and Basque.
+
+ When multiple warnings are attached to a response, it might not be
+ practical or reasonable to display all of them to the user. This
+ version of HTTP does not specify strict priority rules for deciding
+ which warnings to display and in what order, but does suggest some
+ heuristics.
+
+13.1.3 Cache-control Mechanisms
+
+ The basic cache mechanisms in HTTP/1.1 (server-specified expiration
+ times and validators) are implicit directives to caches. In some
+ cases, a server or client might need to provide explicit directives
+ to the HTTP caches. We use the Cache-Control header for this purpose.
+
+ The Cache-Control header allows a client or server to transmit a
+ variety of directives in either requests or responses. These
+ directives typically override the default caching algorithms. As a
+ general rule, if there is any apparent conflict between header
+ values, the most restrictive interpretation is applied (that is, the
+ one that is most likely to preserve semantic transparency). However,
+
+ in some cases, cache-control directives are explicitly specified as
+ weakening the approximation of semantic transparency (for example,
+ "max-stale" or "public").
+
+ The cache-control directives are described in detail in section 14.9.
+
+13.1.4 Explicit User Agent Warnings
+
+ Many user agents make it possible for users to override the basic
+ caching mechanisms. For example, the user agent might allow the user
+ to specify that cached entities (even explicitly stale ones) are
+ never validated. Or the user agent might habitually add "Cache-
+ Control: max-stale=3600" to every request. The user agent SHOULD NOT
+ default to either non-transparent behavior, or behavior that results
+ in abnormally ineffective caching, but MAY be explicitly configured
+ to do so by an explicit action of the user.
+
+ If the user has overridden the basic caching mechanisms, the user
+ agent SHOULD explicitly indicate to the user whenever this results in
+ the display of information that might not meet the server's
+ transparency requirements (in particular, if the displayed entity is
+ known to be stale). Since the protocol normally allows the user agent
+ to determine if responses are stale or not, this indication need only
+ be displayed when this actually happens. The indication need not be a
+ dialog box; it could be an icon (for example, a picture of a rotting
+ fish) or some other indicator.
+
+ If the user has overridden the caching mechanisms in a way that would
+ abnormally reduce the effectiveness of caches, the user agent SHOULD
+ continually indicate this state to the user (for example, by a
+ display of a picture of currency in flames) so that the user does not
+ inadvertently consume excess resources or suffer from excessive
+ latency.
+
+13.1.5 Exceptions to the Rules and Warnings
+
+ In some cases, the operator of a cache MAY choose to configure it to
+ return stale responses even when not requested by clients. This
+ decision ought not be made lightly, but may be necessary for reasons
+ of availability or performance, especially when the cache is poorly
+ connected to the origin server. Whenever a cache returns a stale
+ response, it MUST mark it as such (using a Warning header) enabling
+ the client software to alert the user that there might be a potential
+ problem.
+
+ It also allows the user agent to take steps to obtain a first-hand or
+ fresh response. For this reason, a cache SHOULD NOT return a stale
+ response if the client explicitly requests a first-hand or fresh one,
+ unless it is impossible to comply for technical or policy reasons.
+
+13.1.6 Client-controlled Behavior
+
+ While the origin server (and to a lesser extent, intermediate caches,
+ by their contribution to the age of a response) are the primary
+ source of expiration information, in some cases the client might need
+ to control a cache's decision about whether to return a cached
+ response without validating it. Clients do this using several
+ directives of the Cache-Control header.
+
+ A client's request MAY specify the maximum age it is willing to
+ accept of an unvalidated response; specifying a value of zero forces
+ the cache(s) to revalidate all responses. A client MAY also specify
+ the minimum time remaining before a response expires. Both of these
+ options increase constraints on the behavior of caches, and so cannot
+ further relax the cache's approximation of semantic transparency.
+
+ A client MAY also specify that it will accept stale responses, up to
+ some maximum amount of staleness. This loosens the constraints on the
+ caches, and so might violate the origin server's specified
+ constraints on semantic transparency, but might be necessary to
+ support disconnected operation, or high availability in the face of
+ poor connectivity.
+
+13.2 Expiration Model
+
+13.2.1 Server-Specified Expiration
+
+ HTTP caching works best when caches can entirely avoid making
+ requests to the origin server. The primary mechanism for avoiding
+ requests is for an origin server to provide an explicit expiration
+ time in the future, indicating that a response MAY be used to satisfy
+ subsequent requests. In other words, a cache can return a fresh
+ response without first contacting the server.
+
+ Our expectation is that servers will assign future explicit
+ expiration times to responses in the belief that the entity is not
+ likely to change, in a semantically significant way, before the
+ expiration time is reached. This normally preserves semantic
+ transparency, as long as the server's expiration times are carefully
+ chosen.
+
+ The expiration mechanism applies only to responses taken from a cache
+ and not to first-hand responses forwarded immediately to the
+ requesting client.
+
+ If an origin server wishes to force a semantically transparent cache
+ to validate every request, it MAY assign an explicit expiration time
+ in the past. This means that the response is always stale, and so the
+ cache SHOULD validate it before using it for subsequent requests. See
+ section 14.9.4 for a more restrictive way to force revalidation.
+
+ If an origin server wishes to force any HTTP/1.1 cache, no matter how
+ it is configured, to validate every request, it SHOULD use the "must-
+ revalidate" cache-control directive (see section 14.9).
+
+ Servers specify explicit expiration times using either the Expires
+ header, or the max-age directive of the Cache-Control header.
+
+ An expiration time cannot be used to force a user agent to refresh
+ its display or reload a resource; its semantics apply only to caching
+ mechanisms, and such mechanisms need only check a resource's
+ expiration status when a new request for that resource is initiated.
+ See section 13.13 for an explanation of the difference between caches
+ and history mechanisms.
+
+13.2.2 Heuristic Expiration
+
+ Since origin servers do not always provide explicit expiration times,
+ HTTP caches typically assign heuristic expiration times, employing
+ algorithms that use other header values (such as the Last-Modified
+ time) to estimate a plausible expiration time. The HTTP/1.1
+ specification does not provide specific algorithms, but does impose
+ worst-case constraints on their results. Since heuristic expiration
+ times might compromise semantic transparency, they ought to used
+ cautiously, and we encourage origin servers to provide explicit
+ expiration times as much as possible.
+
+13.2.3 Age Calculations
+
+ In order to know if a cached entry is fresh, a cache needs to know if
+ its age exceeds its freshness lifetime. We discuss how to calculate
+ the latter in section 13.2.4; this section describes how to calculate
+ the age of a response or cache entry.
+
+ In this discussion, we use the term "now" to mean "the current value
+ of the clock at the host performing the calculation." Hosts that use
+ HTTP, but especially hosts running origin servers and caches, SHOULD
+ use NTP [28] or some similar protocol to synchronize their clocks to
+ a globally accurate time standard.
+
+ HTTP/1.1 requires origin servers to send a Date header, if possible,
+ with every response, giving the time at which the response was
+ generated (see section 14.18). We use the term "date_value" to denote
+ the value of the Date header, in a form appropriate for arithmetic
+ operations.
+
+ HTTP/1.1 uses the Age response-header to convey the estimated age of
+ the response message when obtained from a cache. The Age field value
+ is the cache's estimate of the amount of time since the response was
+ generated or revalidated by the origin server.
+
+ In essence, the Age value is the sum of the time that the response
+ has been resident in each of the caches along the path from the
+ origin server, plus the amount of time it has been in transit along
+ network paths.
+
+ We use the term "age_value" to denote the value of the Age header, in
+ a form appropriate for arithmetic operations.
+
+ A response's age can be calculated in two entirely independent ways:
+
+ 1. now minus date_value, if the local clock is reasonably well
+ synchronized to the origin server's clock. If the result is
+ negative, the result is replaced by zero.
+
+ 2. age_value, if all of the caches along the response path
+ implement HTTP/1.1.
+
+ Given that we have two independent ways to compute the age of a
+ response when it is received, we can combine these as
+
+ corrected_received_age = max(now - date_value, age_value)
+
+ and as long as we have either nearly synchronized clocks or all-
+ HTTP/1.1 paths, one gets a reliable (conservative) result.
+
+ Because of network-imposed delays, some significant interval might
+ pass between the time that a server generates a response and the time
+ it is received at the next outbound cache or client. If uncorrected,
+ this delay could result in improperly low ages.
+
+ Because the request that resulted in the returned Age value must have
+ been initiated prior to that Age value's generation, we can correct
+ for delays imposed by the network by recording the time at which the
+ request was initiated. Then, when an Age value is received, it MUST
+ be interpreted relative to the time the request was initiated, not
+
+ the time that the response was received. This algorithm results in
+ conservative behavior no matter how much delay is experienced. So, we
+ compute:
+
+ corrected_initial_age = corrected_received_age
+ + (now - request_time)
+
+ where "request_time" is the time (according to the local clock) when
+ the request that elicited this response was sent.
+
+ Summary of age calculation algorithm, when a cache receives a
+ response:
+
+ /*
+ * age_value
+ * is the value of Age: header received by the cache with
+ * this response.
+ * date_value
+ * is the value of the origin server's Date: header
+ * request_time
+ * is the (local) time when the cache made the request
+ * that resulted in this cached response
+ * response_time
+ * is the (local) time when the cache received the
+ * response
+ * now
+ * is the current (local) time
+ */
+
+ apparent_age = max(0, response_time - date_value);
+ corrected_received_age = max(apparent_age, age_value);
+ response_delay = response_time - request_time;
+ corrected_initial_age = corrected_received_age + response_delay;
+ resident_time = now - response_time;
+ current_age = corrected_initial_age + resident_time;
+
+ The current_age of a cache entry is calculated by adding the amount
+ of time (in seconds) since the cache entry was last validated by the
+ origin server to the corrected_initial_age. When a response is
+ generated from a cache entry, the cache MUST include a single Age
+ header field in the response with a value equal to the cache entry's
+ current_age.
+
+ The presence of an Age header field in a response implies that a
+ response is not first-hand. However, the converse is not true, since
+ the lack of an Age header field in a response does not imply that the
+
+ response is first-hand unless all caches along the request path are
+ compliant with HTTP/1.1 (i.e., older HTTP caches did not implement
+ the Age header field).
+
+13.2.4 Expiration Calculations
+
+ In order to decide whether a response is fresh or stale, we need to
+ compare its freshness lifetime to its age. The age is calculated as
+ described in section 13.2.3; this section describes how to calculate
+ the freshness lifetime, and to determine if a response has expired.
+ In the discussion below, the values can be represented in any form
+ appropriate for arithmetic operations.
+
+ We use the term "expires_value" to denote the value of the Expires
+ header. We use the term "max_age_value" to denote an appropriate
+ value of the number of seconds carried by the "max-age" directive of
+ the Cache-Control header in a response (see section 14.9.3).
+
+ The max-age directive takes priority over Expires, so if max-age is
+ present in a response, the calculation is simply:
+
+ freshness_lifetime = max_age_value
+
+ Otherwise, if Expires is present in the response, the calculation is:
+
+ freshness_lifetime = expires_value - date_value
+
+ Note that neither of these calculations is vulnerable to clock skew,
+ since all of the information comes from the origin server.
+
+ If none of Expires, Cache-Control: max-age, or Cache-Control: s-
+ maxage (see section 14.9.3) appears in the response, and the response
+ does not include other restrictions on caching, the cache MAY compute
+ a freshness lifetime using a heuristic. The cache MUST attach Warning
+ 113 to any response whose age is more than 24 hours if such warning
+ has not already been added.
+
+ Also, if the response does have a Last-Modified time, the heuristic
+ expiration value SHOULD be no more than some fraction of the interval
+ since that time. A typical setting of this fraction might be 10%.
+
+ The calculation to determine if a response has expired is quite
+ simple:
+
+ response_is_fresh = (freshness_lifetime &gt; current_age)
+
+13.2.5 Disambiguating Expiration Values
+
+ Because expiration values are assigned optimistically, it is possible
+ for two caches to contain fresh values for the same resource that are
+ different.
+
+ If a client performing a retrieval receives a non-first-hand response
+ for a request that was already fresh in its own cache, and the Date
+ header in its existing cache entry is newer than the Date on the new
+ response, then the client MAY ignore the response. If so, it MAY
+ retry the request with a "Cache-Control: max-age=0" directive (see
+ section 14.9), to force a check with the origin server.
+
+ If a cache has two fresh responses for the same representation with
+ different validators, it MUST use the one with the more recent Date
+ header. This situation might arise because the cache is pooling
+ responses from other caches, or because a client has asked for a
+ reload or a revalidation of an apparently fresh cache entry.
+
+13.2.6 Disambiguating Multiple Responses
+
+ Because a client might be receiving responses via multiple paths, so
+ that some responses flow through one set of caches and other
+ responses flow through a different set of caches, a client might
+ receive responses in an order different from that in which the origin
+ server sent them. We would like the client to use the most recently
+ generated response, even if older responses are still apparently
+ fresh.
+
+ Neither the entity tag nor the expiration value can impose an
+ ordering on responses, since it is possible that a later response
+ intentionally carries an earlier expiration time. The Date values are
+ ordered to a granularity of one second.
+
+ When a client tries to revalidate a cache entry, and the response it
+ receives contains a Date header that appears to be older than the one
+ for the existing entry, then the client SHOULD repeat the request
+ unconditionally, and include
+
+ Cache-Control: max-age=0
+
+ to force any intermediate caches to validate their copies directly
+ with the origin server, or
+
+ Cache-Control: no-cache
+
+ to force any intermediate caches to obtain a new copy from the origin
+ server.
+
+ If the Date values are equal, then the client MAY use either response
+ (or MAY, if it is being extremely prudent, request a new response).
+ Servers MUST NOT depend on clients being able to choose
+ deterministically between responses generated during the same second,
+ if their expiration times overlap.
+
+13.3 Validation Model
+
+ When a cache has a stale entry that it would like to use as a
+ response to a client's request, it first has to check with the origin
+ server (or possibly an intermediate cache with a fresh response) to
+ see if its cached entry is still usable. We call this "validating"
+ the cache entry. Since we do not want to have to pay the overhead of
+ retransmitting the full response if the cached entry is good, and we
+ do not want to pay the overhead of an extra round trip if the cached
+ entry is invalid, the HTTP/1.1 protocol supports the use of
+ conditional methods.
+
+ The key protocol features for supporting conditional methods are
+ those concerned with "cache validators." When an origin server
+ generates a full response, it attaches some sort of validator to it,
+ which is kept with the cache entry. When a client (user agent or
+ proxy cache) makes a conditional request for a resource for which it
+ has a cache entry, it includes the associated validator in the
+ request.
+
+ The server then checks that validator against the current validator
+ for the entity, and, if they match (see section 13.3.3), it responds
+ with a special status code (usually, 304 (Not Modified)) and no
+ entity-body. Otherwise, it returns a full response (including
+ entity-body). Thus, we avoid transmitting the full response if the
+ validator matches, and we avoid an extra round trip if it does not
+ match.
+
+ In HTTP/1.1, a conditional request looks exactly the same as a normal
+ request for the same resource, except that it carries a special
+ header (which includes the validator) that implicitly turns the
+ method (usually, GET) into a conditional.
+
+ The protocol includes both positive and negative senses of cache-
+ validating conditions. That is, it is possible to request either that
+ a method be performed if and only if a validator matches or if and
+ only if no validators match.
+
+ Note: a response that lacks a validator may still be cached, and
+ served from cache until it expires, unless this is explicitly
+ prohibited by a cache-control directive. However, a cache cannot
+ do a conditional retrieval if it does not have a validator for the
+ entity, which means it will not be refreshable after it expires.
+
+13.3.1 Last-Modified Dates
+
+ The Last-Modified entity-header field value is often used as a cache
+ validator. In simple terms, a cache entry is considered to be valid
+ if the entity has not been modified since the Last-Modified value.
+
+13.3.2 Entity Tag Cache Validators
+
+ The ETag response-header field value, an entity tag, provides for an
+ "opaque" cache validator. This might allow more reliable validation
+ in situations where it is inconvenient to store modification dates,
+ where the one-second resolution of HTTP date values is not
+ sufficient, or where the origin server wishes to avoid certain
+ paradoxes that might arise from the use of modification dates.
+
+ Entity Tags are described in section 3.11. The headers used with
+ entity tags are described in sections 14.19, 14.24, 14.26 and 14.44.
+
+13.3.3 Weak and Strong Validators
+
+ Since both origin servers and caches will compare two validators to
+ decide if they represent the same or different entities, one normally
+ would expect that if the entity (the entity-body or any entity-
+ headers) changes in any way, then the associated validator would
+ change as well. If this is true, then we call this validator a
+ "strong validator."
+
+ However, there might be cases when a server prefers to change the
+ validator only on semantically significant changes, and not when
+ insignificant aspects of the entity change. A validator that does not
+ always change when the resource changes is a "weak validator."
+
+ Entity tags are normally "strong validators," but the protocol
+ provides a mechanism to tag an entity tag as "weak." One can think of
+ a strong validator as one that changes whenever the bits of an entity
+ changes, while a weak value changes whenever the meaning of an entity
+ changes. Alternatively, one can think of a strong validator as part
+ of an identifier for a specific entity, while a weak validator is
+ part of an identifier for a set of semantically equivalent entities.
+
+ Note: One example of a strong validator is an integer that is
+ incremented in stable storage every time an entity is changed.
+
+ An entity's modification time, if represented with one-second
+ resolution, could be a weak validator, since it is possible that
+ the resource might be modified twice during a single second.
+
+ Support for weak validators is optional. However, weak validators
+ allow for more efficient caching of equivalent objects; for
+ example, a hit counter on a site is probably good enough if it is
+ updated every few days or weeks, and any value during that period
+ is likely "good enough" to be equivalent.
+
+ A "use" of a validator is either when a client generates a request
+ and includes the validator in a validating header field, or when a
+ server compares two validators.
+
+ Strong validators are usable in any context. Weak validators are only
+ usable in contexts that do not depend on exact equality of an entity.
+ For example, either kind is usable for a conditional GET of a full
+ entity. However, only a strong validator is usable for a sub-range
+ retrieval, since otherwise the client might end up with an internally
+ inconsistent entity.
+
+ Clients MAY issue simple (non-subrange) GET requests with either weak
+ validators or strong validators. Clients MUST NOT use weak validators
+ in other forms of request.
+
+ The only function that the HTTP/1.1 protocol defines on validators is
+ comparison. There are two validator comparison functions, depending
+ on whether the comparison context allows the use of weak validators
+ or not:
+
+ - The strong comparison function: in order to be considered equal,
+ both validators MUST be identical in every way, and both MUST
+ NOT be weak.
+
+ - The weak comparison function: in order to be considered equal,
+ both validators MUST be identical in every way, but either or
+ both of them MAY be tagged as "weak" without affecting the
+ result.
+
+ An entity tag is strong unless it is explicitly tagged as weak.
+ Section 3.11 gives the syntax for entity tags.
+
+ A Last-Modified time, when used as a validator in a request, is
+ implicitly weak unless it is possible to deduce that it is strong,
+ using the following rules:
+
+ - The validator is being compared by an origin server to the
+ actual current validator for the entity and,
+
+ - That origin server reliably knows that the associated entity did
+ not change twice during the second covered by the presented
+ validator.
+
+ or
+
+ - The validator is about to be used by a client in an If-
+ Modified-Since or If-Unmodified-Since header, because the client
+ has a cache entry for the associated entity, and
+
+ - That cache entry includes a Date value, which gives the time
+ when the origin server sent the original response, and
+
+ - The presented Last-Modified time is at least 60 seconds before
+ the Date value.
+
+ or
+
+ - The validator is being compared by an intermediate cache to the
+ validator stored in its cache entry for the entity, and
+
+ - That cache entry includes a Date value, which gives the time
+ when the origin server sent the original response, and
+
+ - The presented Last-Modified time is at least 60 seconds before
+ the Date value.
+
+ This method relies on the fact that if two different responses were
+ sent by the origin server during the same second, but both had the
+ same Last-Modified time, then at least one of those responses would
+ have a Date value equal to its Last-Modified time. The arbitrary 60-
+ second limit guards against the possibility that the Date and Last-
+ Modified values are generated from different clocks, or at somewhat
+ different times during the preparation of the response. An
+ implementation MAY use a value larger than 60 seconds, if it is
+ believed that 60 seconds is too short.
+
+ If a client wishes to perform a sub-range retrieval on a value for
+ which it has only a Last-Modified time and no opaque validator, it
+ MAY do this only if the Last-Modified time is strong in the sense
+ described here.
+
+ A cache or origin server receiving a conditional request, other than
+ a full-body GET request, MUST use the strong comparison function to
+ evaluate the condition.
+
+ These rules allow HTTP/1.1 caches and clients to safely perform sub-
+ range retrievals on values that have been obtained from HTTP/1.0
+
+ servers.
+
+13.3.4 Rules for When to Use Entity Tags and Last-Modified Dates
+
+ We adopt a set of rules and recommendations for origin servers,
+ clients, and caches regarding when various validator types ought to
+ be used, and for what purposes.
+
+ HTTP/1.1 origin servers:
+
+ - SHOULD send an entity tag validator unless it is not feasible to
+ generate one.
+
+ - MAY send a weak entity tag instead of a strong entity tag, if
+ performance considerations support the use of weak entity tags,
+ or if it is unfeasible to send a strong entity tag.
+
+ - SHOULD send a Last-Modified value if it is feasible to send one,
+ unless the risk of a breakdown in semantic transparency that
+ could result from using this date in an If-Modified-Since header
+ would lead to serious problems.
+
+ In other words, the preferred behavior for an HTTP/1.1 origin server
+ is to send both a strong entity tag and a Last-Modified value.
+
+ In order to be legal, a strong entity tag MUST change whenever the
+ associated entity value changes in any way. A weak entity tag SHOULD
+ change whenever the associated entity changes in a semantically
+ significant way.
+
+ Note: in order to provide semantically transparent caching, an
+ origin server must avoid reusing a specific strong entity tag
+ value for two different entities, or reusing a specific weak
+ entity tag value for two semantically different entities. Cache
+ entries might persist for arbitrarily long periods, regardless of
+ expiration times, so it might be inappropriate to expect that a
+ cache will never again attempt to validate an entry using a
+ validator that it obtained at some point in the past.
+
+ HTTP/1.1 clients:
+
+ - If an entity tag has been provided by the origin server, MUST
+ use that entity tag in any cache-conditional request (using If-
+ Match or If-None-Match).
+
+ - If only a Last-Modified value has been provided by the origin
+ server, SHOULD use that value in non-subrange cache-conditional
+ requests (using If-Modified-Since).
+
+ - If only a Last-Modified value has been provided by an HTTP/1.0
+ origin server, MAY use that value in subrange cache-conditional
+ requests (using If-Unmodified-Since:). The user agent SHOULD
+ provide a way to disable this, in case of difficulty.
+
+ - If both an entity tag and a Last-Modified value have been
+ provided by the origin server, SHOULD use both validators in
+ cache-conditional requests. This allows both HTTP/1.0 and
+ HTTP/1.1 caches to respond appropriately.
+
+ An HTTP/1.1 origin server, upon receiving a conditional request that
+ includes both a Last-Modified date (e.g., in an If-Modified-Since or
+ If-Unmodified-Since header field) and one or more entity tags (e.g.,
+ in an If-Match, If-None-Match, or If-Range header field) as cache
+ validators, MUST NOT return a response status of 304 (Not Modified)
+ unless doing so is consistent with all of the conditional header
+ fields in the request.
+
+ An HTTP/1.1 caching proxy, upon receiving a conditional request that
+ includes both a Last-Modified date and one or more entity tags as
+ cache validators, MUST NOT return a locally cached response to the
+ client unless that cached response is consistent with all of the
+ conditional header fields in the request.
+
+ Note: The general principle behind these rules is that HTTP/1.1
+ servers and clients should transmit as much non-redundant
+ information as is available in their responses and requests.
+ HTTP/1.1 systems receiving this information will make the most
+ conservative assumptions about the validators they receive.
+
+ HTTP/1.0 clients and caches will ignore entity tags. Generally,
+ last-modified values received or used by these systems will
+ support transparent and efficient caching, and so HTTP/1.1 origin
+ servers should provide Last-Modified values. In those rare cases
+ where the use of a Last-Modified value as a validator by an
+ HTTP/1.0 system could result in a serious problem, then HTTP/1.1
+ origin servers should not provide one.
+
+13.3.5 Non-validating Conditionals
+
+ The principle behind entity tags is that only the service author
+ knows the semantics of a resource well enough to select an
+ appropriate cache validation mechanism, and the specification of any
+ validator comparison function more complex than byte-equality would
+ open up a can of worms. Thus, comparisons of any other headers
+ (except Last-Modified, for compatibility with HTTP/1.0) are never
+ used for purposes of validating a cache entry.
+
+13.4 Response Cacheability
+
+ Unless specifically constrained by a cache-control (section 14.9)
+ directive, a caching system MAY always store a successful response
+ (see section 13.8) as a cache entry, MAY return it without validation
+ if it is fresh, and MAY return it after successful validation. If
+ there is neither a cache validator nor an explicit expiration time
+ associated with a response, we do not expect it to be cached, but
+ certain caches MAY violate this expectation (for example, when little
+ or no network connectivity is available). A client can usually detect
+ that such a response was taken from a cache by comparing the Date
+ header to the current time.
+
+ Note: some HTTP/1.0 caches are known to violate this expectation
+ without providing any Warning.
+
+ However, in some cases it might be inappropriate for a cache to
+ retain an entity, or to return it in response to a subsequent
+ request. This might be because absolute semantic transparency is
+ deemed necessary by the service author, or because of security or
+ privacy considerations. Certain cache-control directives are
+ therefore provided so that the server can indicate that certain
+ resource entities, or portions thereof, are not to be cached
+ regardless of other considerations.
+
+ Note that section 14.8 normally prevents a shared cache from saving
+ and returning a response to a previous request if that request
+ included an Authorization header.
+
+ A response received with a status code of 200, 203, 206, 300, 301 or
+ 410 MAY be stored by a cache and used in reply to a subsequent
+ request, subject to the expiration mechanism, unless a cache-control
+ directive prohibits caching. However, a cache that does not support
+ the Range and Content-Range headers MUST NOT cache 206 (Partial
+ Content) responses.
+
+ A response received with any other status code (e.g. status codes 302
+ and 307) MUST NOT be returned in a reply to a subsequent request
+ unless there are cache-control directives or another header(s) that
+ explicitly allow it. For example, these include the following: an
+ Expires header (section 14.21); a "max-age", "s-maxage", "must-
+ revalidate", "proxy-revalidate", "public" or "private" cache-control
+ directive (section 14.9).
+
+13.5 Constructing Responses From Caches
+
+ The purpose of an HTTP cache is to store information received in
+ response to requests for use in responding to future requests. In
+ many cases, a cache simply returns the appropriate parts of a
+ response to the requester. However, if the cache holds a cache entry
+ based on a previous response, it might have to combine parts of a new
+ response with what is held in the cache entry.
+
+13.5.1 End-to-end and Hop-by-hop Headers
+
+ For the purpose of defining the behavior of caches and non-caching
+ proxies, we divide HTTP headers into two categories:
+
+ - End-to-end headers, which are transmitted to the ultimate
+ recipient of a request or response. End-to-end headers in
+ responses MUST be stored as part of a cache entry and MUST be
+ transmitted in any response formed from a cache entry.
+
+ - Hop-by-hop headers, which are meaningful only for a single
+ transport-level connection, and are not stored by caches or
+ forwarded by proxies.
+
+ The following HTTP/1.1 headers are hop-by-hop headers:
+
+ - Connection
+ - Keep-Alive
+ - Proxy-Authenticate
+ - Proxy-Authorization
+ - TE
+ - Trailers
+ - Transfer-Encoding
+ - Upgrade
+
+ All other headers defined by HTTP/1.1 are end-to-end headers.
+
+ Other hop-by-hop headers MUST be listed in a Connection header,
+ (section 14.10) to be introduced into HTTP/1.1 (or later).
+
+13.5.2 Non-modifiable Headers
+
+ Some features of the HTTP/1.1 protocol, such as Digest
+ Authentication, depend on the value of certain end-to-end headers. A
+ transparent proxy SHOULD NOT modify an end-to-end header unless the
+ definition of that header requires or specifically allows that.
+
+ A transparent proxy MUST NOT modify any of the following fields in a
+ request or response, and it MUST NOT add any of these fields if not
+ already present:
+
+ - Content-Location
+
+ - Content-MD5
+
+ - ETag
+
+ - Last-Modified
+
+ A transparent proxy MUST NOT modify any of the following fields in a
+ response:
+
+ - Expires
+
+ but it MAY add any of these fields if not already present. If an
+ Expires header is added, it MUST be given a field-value identical to
+ that of the Date header in that response.
+
+ A proxy MUST NOT modify or add any of the following fields in a
+ message that contains the no-transform cache-control directive, or in
+ any request:
+
+ - Content-Encoding
+
+ - Content-Range
+
+ - Content-Type
+
+ A non-transparent proxy MAY modify or add these fields to a message
+ that does not include no-transform, but if it does so, it MUST add a
+ Warning 214 (Transformation applied) if one does not already appear
+ in the message (see section 14.46).
+
+ Warning: unnecessary modification of end-to-end headers might
+ cause authentication failures if stronger authentication
+ mechanisms are introduced in later versions of HTTP. Such
+ authentication mechanisms MAY rely on the values of header fields
+ not listed here.
+
+ The Content-Length field of a request or response is added or deleted
+ according to the rules in section 4.4. A transparent proxy MUST
+ preserve the entity-length (section 7.2.2) of the entity-body,
+ although it MAY change the transfer-length (section 4.4).
+
+13.5.3 Combining Headers
+
+ When a cache makes a validating request to a server, and the server
+ provides a 304 (Not Modified) response or a 206 (Partial Content)
+ response, the cache then constructs a response to send to the
+ requesting client.
+
+ If the status code is 304 (Not Modified), the cache uses the entity-
+ body stored in the cache entry as the entity-body of this outgoing
+ response. If the status code is 206 (Partial Content) and the ETag or
+ Last-Modified headers match exactly, the cache MAY combine the
+ contents stored in the cache entry with the new contents received in
+ the response and use the result as the entity-body of this outgoing
+ response, (see 13.5.4).
+
+ The end-to-end headers stored in the cache entry are used for the
+ constructed response, except that
+
+ - any stored Warning headers with warn-code 1xx (see section
+ 14.46) MUST be deleted from the cache entry and the forwarded
+ response.
+
+ - any stored Warning headers with warn-code 2xx MUST be retained
+ in the cache entry and the forwarded response.
+
+ - any end-to-end headers provided in the 304 or 206 response MUST
+ replace the corresponding headers from the cache entry.
+
+ Unless the cache decides to remove the cache entry, it MUST also
+ replace the end-to-end headers stored with the cache entry with
+ corresponding headers received in the incoming response, except for
+ Warning headers as described immediately above. If a header field-
+ name in the incoming response matches more than one header in the
+ cache entry, all such old headers MUST be replaced.
+
+ In other words, the set of end-to-end headers received in the
+ incoming response overrides all corresponding end-to-end headers
+ stored with the cache entry (except for stored Warning headers with
+ warn-code 1xx, which are deleted even if not overridden).
+
+ Note: this rule allows an origin server to use a 304 (Not
+ Modified) or a 206 (Partial Content) response to update any header
+ associated with a previous response for the same entity or sub-
+ ranges thereof, although it might not always be meaningful or
+ correct to do so. This rule does not allow an origin server to use
+ a 304 (Not Modified) or a 206 (Partial Content) response to
+ entirely delete a header that it had provided with a previous
+ response.
+
+13.5.4 Combining Byte Ranges
+
+ A response might transfer only a subrange of the bytes of an entity-
+ body, either because the request included one or more Range
+ specifications, or because a connection was broken prematurely. After
+ several such transfers, a cache might have received several ranges of
+ the same entity-body.
+
+ If a cache has a stored non-empty set of subranges for an entity, and
+ an incoming response transfers another subrange, the cache MAY
+ combine the new subrange with the existing set if both the following
+ conditions are met:
+
+ - Both the incoming response and the cache entry have a cache
+ validator.
+
+ - The two cache validators match using the strong comparison
+ function (see section 13.3.3).
+
+ If either requirement is not met, the cache MUST use only the most
+ recent partial response (based on the Date values transmitted with
+ every response, and using the incoming response if these values are
+ equal or missing), and MUST discard the other partial information.
+
+13.6 Caching Negotiated Responses
+
+ Use of server-driven content negotiation (section 12.1), as indicated
+ by the presence of a Vary header field in a response, alters the
+ conditions and procedure by which a cache can use the response for
+ subsequent requests. See section 14.44 for use of the Vary header
+ field by servers.
+
+ A server SHOULD use the Vary header field to inform a cache of what
+ request-header fields were used to select among multiple
+ representations of a cacheable response subject to server-driven
+ negotiation. The set of header fields named by the Vary field value
+ is known as the "selecting" request-headers.
+
+ When the cache receives a subsequent request whose Request-URI
+ specifies one or more cache entries including a Vary header field,
+ the cache MUST NOT use such a cache entry to construct a response to
+ the new request unless all of the selecting request-headers present
+ in the new request match the corresponding stored request-headers in
+ the original request.
+
+ The selecting request-headers from two requests are defined to match
+ if and only if the selecting request-headers in the first request can
+ be transformed to the selecting request-headers in the second request
+
+ by adding or removing linear white space (LWS) at places where this
+ is allowed by the corresponding BNF, and/or combining multiple
+ message-header fields with the same field name following the rules
+ about message headers in section 4.2.
+
+ A Vary header field-value of "*" always fails to match and subsequent
+ requests on that resource can only be properly interpreted by the
+ origin server.
+
+ If the selecting request header fields for the cached entry do not
+ match the selecting request header fields of the new request, then
+ the cache MUST NOT use a cached entry to satisfy the request unless
+ it first relays the new request to the origin server in a conditional
+ request and the server responds with 304 (Not Modified), including an
+ entity tag or Content-Location that indicates the entity to be used.
+
+ If an entity tag was assigned to a cached representation, the
+ forwarded request SHOULD be conditional and include the entity tags
+ in an If-None-Match header field from all its cache entries for the
+ resource. This conveys to the server the set of entities currently
+ held by the cache, so that if any one of these entities matches the
+ requested entity, the server can use the ETag header field in its 304
+ (Not Modified) response to tell the cache which entry is appropriate.
+ If the entity-tag of the new response matches that of an existing
+ entry, the new response SHOULD be used to update the header fields of
+ the existing entry, and the result MUST be returned to the client.
+
+ If any of the existing cache entries contains only partial content
+ for the associated entity, its entity-tag SHOULD NOT be included in
+ the If-None-Match header field unless the request is for a range that
+ would be fully satisfied by that entry.
+
+ If a cache receives a successful response whose Content-Location
+ field matches that of an existing cache entry for the same Request-
+ ]URI, whose entity-tag differs from that of the existing entry, and
+ whose Date is more recent than that of the existing entry, the
+ existing entry SHOULD NOT be returned in response to future requests
+ and SHOULD be deleted from the cache.
+
+13.7 Shared and Non-Shared Caches
+
+ For reasons of security and privacy, it is necessary to make a
+ distinction between "shared" and "non-shared" caches. A non-shared
+ cache is one that is accessible only to a single user. Accessibility
+ in this case SHOULD be enforced by appropriate security mechanisms.
+ All other caches are considered to be "shared." Other sections of
+
+ this specification place certain constraints on the operation of
+ shared caches in order to prevent loss of privacy or failure of
+ access controls.
+
+13.8 Errors or Incomplete Response Cache Behavior
+
+ A cache that receives an incomplete response (for example, with fewer
+ bytes of data than specified in a Content-Length header) MAY store
+ the response. However, the cache MUST treat this as a partial
+ response. Partial responses MAY be combined as described in section
+ 13.5.4; the result might be a full response or might still be
+ partial. A cache MUST NOT return a partial response to a client
+ without explicitly marking it as such, using the 206 (Partial
+ Content) status code. A cache MUST NOT return a partial response
+ using a status code of 200 (OK).
+
+ If a cache receives a 5xx response while attempting to revalidate an
+ entry, it MAY either forward this response to the requesting client,
+ or act as if the server failed to respond. In the latter case, it MAY
+ return a previously received response unless the cached entry
+ includes the "must-revalidate" cache-control directive (see section
+ 14.9).
+
+13.9 Side Effects of GET and HEAD
+
+ Unless the origin server explicitly prohibits the caching of their
+ responses, the application of GET and HEAD methods to any resources
+ SHOULD NOT have side effects that would lead to erroneous behavior if
+ these responses are taken from a cache. They MAY still have side
+ effects, but a cache is not required to consider such side effects in
+ its caching decisions. Caches are always expected to observe an
+ origin server's explicit restrictions on caching.
+
+ We note one exception to this rule: since some applications have
+ traditionally used GETs and HEADs with query URLs (those containing a
+ "?" in the rel_path part) to perform operations with significant side
+ effects, caches MUST NOT treat responses to such URIs as fresh unless
+ the server provides an explicit expiration time. This specifically
+ means that responses from HTTP/1.0 servers for such URIs SHOULD NOT
+ be taken from a cache. See section 9.1.1 for related information.
+
+13.10 Invalidation After Updates or Deletions
+
+ The effect of certain methods performed on a resource at the origin
+ server might cause one or more existing cache entries to become non-
+ transparently invalid. That is, although they might continue to be
+ "fresh," they do not accurately reflect what the origin server would
+ return for a new request on that resource.
+
+ There is no way for the HTTP protocol to guarantee that all such
+ cache entries are marked invalid. For example, the request that
+ caused the change at the origin server might not have gone through
+ the proxy where a cache entry is stored. However, several rules help
+ reduce the likelihood of erroneous behavior.
+
+ In this section, the phrase "invalidate an entity" means that the
+ cache will either remove all instances of that entity from its
+ storage, or will mark these as "invalid" and in need of a mandatory
+ revalidation before they can be returned in response to a subsequent
+ request.
+
+ Some HTTP methods MUST cause a cache to invalidate an entity. This is
+ either the entity referred to by the Request-URI, or by the Location
+ or Content-Location headers (if present). These methods are:
+
+ - PUT
+
+ - DELETE
+
+ - POST
+
+ In order to prevent denial of service attacks, an invalidation based
+ on the URI in a Location or Content-Location header MUST only be
+ performed if the host part is the same as in the Request-URI.
+
+ A cache that passes through requests for methods it does not
+ understand SHOULD invalidate any entities referred to by the
+ Request-URI.
+
+13.11 Write-Through Mandatory
+
+ All methods that might be expected to cause modifications to the
+ origin server's resources MUST be written through to the origin
+ server. This currently includes all methods except for GET and HEAD.
+ A cache MUST NOT reply to such a request from a client before having
+ transmitted the request to the inbound server, and having received a
+ corresponding response from the inbound server. This does not prevent
+ a proxy cache from sending a 100 (Continue) response before the
+ inbound server has sent its final reply.
+
+ The alternative (known as "write-back" or "copy-back" caching) is not
+ allowed in HTTP/1.1, due to the difficulty of providing consistent
+ updates and the problems arising from server, cache, or network
+ failure prior to write-back.
+
+13.12 Cache Replacement
+
+ If a new cacheable (see sections 14.9.2, 13.2.5, 13.2.6 and 13.8)
+ response is received from a resource while any existing responses for
+ the same resource are cached, the cache SHOULD use the new response
+ to reply to the current request. It MAY insert it into cache storage
+ and MAY, if it meets all other requirements, use it to respond to any
+ future requests that would previously have caused the old response to
+ be returned. If it inserts the new response into cache storage the
+ rules in section 13.5.3 apply.
+
+ Note: a new response that has an older Date header value than
+ existing cached responses is not cacheable.
+
+13.13 History Lists
+
+ User agents often have history mechanisms, such as "Back" buttons and
+ history lists, which can be used to redisplay an entity retrieved
+ earlier in a session.
+
+ History mechanisms and caches are different. In particular history
+ mechanisms SHOULD NOT try to show a semantically transparent view of
+ the current state of a resource. Rather, a history mechanism is meant
+ to show exactly what the user saw at the time when the resource was
+ retrieved.
+
+ By default, an expiration time does not apply to history mechanisms.
+ If the entity is still in storage, a history mechanism SHOULD display
+ it even if the entity has expired, unless the user has specifically
+ configured the agent to refresh expired history documents.
+
+ This is not to be construed to prohibit the history mechanism from
+ telling the user that a view might be stale.
+
+ Note: if history list mechanisms unnecessarily prevent users from
+ viewing stale resources, this will tend to force service authors
+ to avoid using HTTP expiration controls and cache controls when
+ they would otherwise like to. Service authors may consider it
+ important that users not be presented with error messages or
+ warning messages when they use navigation controls (such as BACK)
+ to view previously fetched resources. Even though sometimes such
+ resources ought not to cached, or ought to expire quickly, user
+ interface considerations may force service authors to resort to
+ other means of preventing caching (e.g. "once-only" URLs) in order
+ not to suffer the effects of improperly functioning history
+ mechanisms.
+
+14 Header Field Definitions
+
+ This section defines the syntax and semantics of all standard
+ HTTP/1.1 header fields. For entity-header fields, both sender and
+ recipient refer to either the client or the server, depending on who
+ sends and who receives the entity.
+
+14.1 Accept
+
+ The Accept request-header field can be used to specify certain media
+ types which are acceptable for the response. Accept headers can be
+ used to indicate that the request is specifically limited to a small
+ set of desired types, as in the case of a request for an in-line
+ image.
+
+ Accept = "Accept" ":"
+ #( media-range [ accept-params ] )
+
+ media-range = ( "*/*"
+ | ( type "/" "*" )
+ | ( type "/" subtype )
+ ) *( ";" parameter )
+ accept-params = ";" "q" "=" qvalue *( accept-extension )
+ accept-extension = ";" token [ "=" ( token | quoted-string ) ]
+
+ The asterisk "*" character is used to group media types into ranges,
+ with "*/*" indicating all media types and "type/*" indicating all
+ subtypes of that type. The media-range MAY include media type
+ parameters that are applicable to that range.
+
+ Each media-range MAY be followed by one or more accept-params,
+ beginning with the "q" parameter for indicating a relative quality
+ factor. The first "q" parameter (if any) separates the media-range
+ parameter(s) from the accept-params. Quality factors allow the user
+ or user agent to indicate the relative degree of preference for that
+ media-range, using the qvalue scale from 0 to 1 (section 3.9). The
+ default value is q=1.
+
+ Note: Use of the "q" parameter name to separate media type
+ parameters from Accept extension parameters is due to historical
+ practice. Although this prevents any media type parameter named
+ "q" from being used with a media range, such an event is believed
+ to be unlikely given the lack of any "q" parameters in the IANA
+ media type registry and the rare usage of any media type
+ parameters in Accept. Future media types are discouraged from
+ registering any parameter named "q".
+
+ The example
+
+ Accept: audio/*; q=0.2, audio/basic
+
+ SHOULD be interpreted as "I prefer audio/basic, but send me any audio
+ type if it is the best available after an 80% mark-down in quality."
+
+ If no Accept header field is present, then it is assumed that the
+ client accepts all media types. If an Accept header field is present,
+ and if the server cannot send a response which is acceptable
+ according to the combined Accept field value, then the server SHOULD
+ send a 406 (not acceptable) response.
+
+ A more elaborate example is
+
+ Accept: text/plain; q=0.5, text/html,
+ text/x-dvi; q=0.8, text/x-c
+
+ Verbally, this would be interpreted as "text/html and text/x-c are
+ the preferred media types, but if they do not exist, then send the
+ text/x-dvi entity, and if that does not exist, send the text/plain
+ entity."
+
+ Media ranges can be overridden by more specific media ranges or
+ specific media types. If more than one media range applies to a given
+ type, the most specific reference has precedence. For example,
+
+ Accept: text/*, text/html, text/html;level=1, */*
+
+ have the following precedence:
+
+ 1) text/html;level=1
+ 2) text/html
+ 3) text/*
+ 4) */*
+
+ The media type quality factor associated with a given type is
+ determined by finding the media range with the highest precedence
+ which matches that type. For example,
+
+ Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,
+ text/html;level=2;q=0.4, */*;q=0.5
+
+ would cause the following values to be associated:
+
+ text/html;level=1 = 1
+ text/html = 0.7
+ text/plain = 0.3
+
+ image/jpeg = 0.5
+ text/html;level=2 = 0.4
+ text/html;level=3 = 0.7
+
+ Note: A user agent might be provided with a default set of quality
+ values for certain media ranges. However, unless the user agent is
+ a closed system which cannot interact with other rendering agents,
+ this default set ought to be configurable by the user.
+
+14.2 Accept-Charset
+
+ The Accept-Charset request-header field can be used to indicate what
+ character sets are acceptable for the response. This field allows
+ clients capable of understanding more comprehensive or special-
+ purpose character sets to signal that capability to a server which is
+ capable of representing documents in those character sets.
+
+ Accept-Charset = "Accept-Charset" ":"
+ 1#( ( charset | "*" )[ ";" "q" "=" qvalue ] )
+
+ Character set values are described in section 3.4. Each charset MAY
+ be given an associated quality value which represents the user's
+ preference for that charset. The default value is q=1. An example is
+
+ Accept-Charset: iso-8859-5, unicode-1-1;q=0.8
+
+ The special value "*", if present in the Accept-Charset field,
+ matches every character set (including ISO-8859-1) which is not
+ mentioned elsewhere in the Accept-Charset field. If no "*" is present
+ in an Accept-Charset field, then all character sets not explicitly
+ mentioned get a quality value of 0, except for ISO-8859-1, which gets
+ a quality value of 1 if not explicitly mentioned.
+
+ If no Accept-Charset header is present, the default is that any
+ character set is acceptable. If an Accept-Charset header is present,
+ and if the server cannot send a response which is acceptable
+ according to the Accept-Charset header, then the server SHOULD send
+ an error response with the 406 (not acceptable) status code, though
+ the sending of an unacceptable response is also allowed.
+
+14.3 Accept-Encoding
+
+ The Accept-Encoding request-header field is similar to Accept, but
+ restricts the content-codings (section 3.5) that are acceptable in
+ the response.
+
+ Accept-Encoding = "Accept-Encoding" ":"
+
+ 1#( codings [ ";" "q" "=" qvalue ] )
+ codings = ( content-coding | "*" )
+
+ Examples of its use are:
+
+ Accept-Encoding: compress, gzip
+ Accept-Encoding:
+ Accept-Encoding: *
+ Accept-Encoding: compress;q=0.5, gzip;q=1.0
+ Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0
+
+ A server tests whether a content-coding is acceptable, according to
+ an Accept-Encoding field, using these rules:
+
+ 1. If the content-coding is one of the content-codings listed in
+ the Accept-Encoding field, then it is acceptable, unless it is
+ accompanied by a qvalue of 0. (As defined in section 3.9, a
+ qvalue of 0 means "not acceptable.")
+
+ 2. The special "*" symbol in an Accept-Encoding field matches any
+ available content-coding not explicitly listed in the header
+ field.
+
+ 3. If multiple content-codings are acceptable, then the acceptable
+ content-coding with the highest non-zero qvalue is preferred.
+
+ 4. The "identity" content-coding is always acceptable, unless
+ specifically refused because the Accept-Encoding field includes
+ "identity;q=0", or because the field includes "*;q=0" and does
+ not explicitly include the "identity" content-coding. If the
+ Accept-Encoding field-value is empty, then only the "identity"
+ encoding is acceptable.
+
+ If an Accept-Encoding field is present in a request, and if the
+ server cannot send a response which is acceptable according to the
+ Accept-Encoding header, then the server SHOULD send an error response
+ with the 406 (Not Acceptable) status code.
+
+ If no Accept-Encoding field is present in a request, the server MAY
+ assume that the client will accept any content coding. In this case,
+ if "identity" is one of the available content-codings, then the
+ server SHOULD use the "identity" content-coding, unless it has
+ additional information that a different content-coding is meaningful
+ to the client.
+
+ Note: If the request does not include an Accept-Encoding field,
+ and if the "identity" content-coding is unavailable, then
+ content-codings commonly understood by HTTP/1.0 clients (i.e.,
+
+ "gzip" and "compress") are preferred; some older clients
+ improperly display messages sent with other content-codings. The
+ server might also make this decision based on information about
+ the particular user-agent or client.
+
+ Note: Most HTTP/1.0 applications do not recognize or obey qvalues
+ associated with content-codings. This means that qvalues will not
+ work and are not permitted with x-gzip or x-compress.
+
+14.4 Accept-Language
+
+ The Accept-Language request-header field is similar to Accept, but
+ restricts the set of natural languages that are preferred as a
+ response to the request. Language tags are defined in section 3.10.
+
+ Accept-Language = "Accept-Language" ":"
+ 1#( language-range [ ";" "q" "=" qvalue ] )
+ language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
+
+ Each language-range MAY be given an associated quality value which
+ represents an estimate of the user's preference for the languages
+ specified by that range. The quality value defaults to "q=1". For
+ example,
+
+ Accept-Language: da, en-gb;q=0.8, en;q=0.7
+
+ would mean: "I prefer Danish, but will accept British English and
+ other types of English." A language-range matches a language-tag if
+ it exactly equals the tag, or if it exactly equals a prefix of the
+ tag such that the first tag character following the prefix is "-".
+ The special range "*", if present in the Accept-Language field,
+ matches every tag not matched by any other range present in the
+ Accept-Language field.
+
+ Note: This use of a prefix matching rule does not imply that
+ language tags are assigned to languages in such a way that it is
+ always true that if a user understands a language with a certain
+ tag, then this user will also understand all languages with tags
+ for which this tag is a prefix. The prefix rule simply allows the
+ use of prefix tags if this is the case.
+
+ The language quality factor assigned to a language-tag by the
+ Accept-Language field is the quality value of the longest language-
+ range in the field that matches the language-tag. If no language-
+ range in the field matches the tag, the language quality factor
+ assigned is 0. If no Accept-Language header is present in the
+ request, the server
+
+ SHOULD assume that all languages are equally acceptable. If an
+ Accept-Language header is present, then all languages which are
+ assigned a quality factor greater than 0 are acceptable.
+
+ It might be contrary to the privacy expectations of the user to send
+ an Accept-Language header with the complete linguistic preferences of
+ the user in every request. For a discussion of this issue, see
+ section 15.1.4.
+
+ As intelligibility is highly dependent on the individual user, it is
+ recommended that client applications make the choice of linguistic
+ preference available to the user. If the choice is not made
+ available, then the Accept-Language header field MUST NOT be given in
+ the request.
+
+ Note: When making the choice of linguistic preference available to
+ the user, we remind implementors of the fact that users are not
+ familiar with the details of language matching as described above,
+ and should provide appropriate guidance. As an example, users
+ might assume that on selecting "en-gb", they will be served any
+ kind of English document if British English is not available. A
+ user agent might suggest in such a case to add "en" to get the
+ best matching behavior.
+
+14.5 Accept-Ranges
+
+ The Accept-Ranges response-header field allows the server to
+ indicate its acceptance of range requests for a resource:
+
+ Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges
+ acceptable-ranges = 1#range-unit | "none"
+
+ Origin servers that accept byte-range requests MAY send
+
+ Accept-Ranges: bytes
+
+ but are not required to do so. Clients MAY generate byte-range
+ requests without having received this header for the resource
+ involved. Range units are defined in section 3.12.
+
+ Servers that do not accept any kind of range request for a
+ resource MAY send
+
+ Accept-Ranges: none
+
+ to advise the client not to attempt a range request.
+
+14.6 Age
+
+ The Age response-header field conveys the sender's estimate of the
+ amount of time since the response (or its revalidation) was
+ generated at the origin server. A cached response is "fresh" if
+ its age does not exceed its freshness lifetime. Age values are
+ calculated as specified in section 13.2.3.
+
+ Age = "Age" ":" age-value
+ age-value = delta-seconds
+
+ Age values are non-negative decimal integers, representing time in
+ seconds.
+
+ If a cache receives a value larger than the largest positive
+ integer it can represent, or if any of its age calculations
+ overflows, it MUST transmit an Age header with a value of
+ 2147483648 (2^31). An HTTP/1.1 server that includes a cache MUST
+ include an Age header field in every response generated from its
+ own cache. Caches SHOULD use an arithmetic type of at least 31
+ bits of range.
+
+14.7 Allow
+
+ The Allow entity-header field lists the set of methods supported
+ by the resource identified by the Request-URI. The purpose of this
+ field is strictly to inform the recipient of valid methods
+ associated with the resource. An Allow header field MUST be
+ present in a 405 (Method Not Allowed) response.
+
+ Allow = "Allow" ":" #Method
+
+ Example of use:
+
+ Allow: GET, HEAD, PUT
+
+ This field cannot prevent a client from trying other methods.
+ However, the indications given by the Allow header field value
+ SHOULD be followed. The actual set of allowed methods is defined
+ by the origin server at the time of each request.
+
+ The Allow header field MAY be provided with a PUT request to
+ recommend the methods to be supported by the new or modified
+ resource. The server is not required to support these methods and
+ SHOULD include an Allow header in the response giving the actual
+ supported methods.
+
+ A proxy MUST NOT modify the Allow header field even if it does not
+ understand all the methods specified, since the user agent might
+ have other means of communicating with the origin server.
+
+14.8 Authorization
+
+ A user agent that wishes to authenticate itself with a server--
+ usually, but not necessarily, after receiving a 401 response--does
+ so by including an Authorization request-header field with the
+ request. The Authorization field value consists of credentials
+ containing the authentication information of the user agent for
+ the realm of the resource being requested.
+
+ Authorization = "Authorization" ":" credentials
+
+ HTTP access authentication is described in "HTTP Authentication:
+ Basic and Digest Access Authentication" [43]. If a request is
+ authenticated and a realm specified, the same credentials SHOULD
+ be valid for all other requests within this realm (assuming that
+ the authentication scheme itself does not require otherwise, such
+ as credentials that vary according to a challenge value or using
+ synchronized clocks).
+
+ When a shared cache (see section 13.7) receives a request
+ containing an Authorization field, it MUST NOT return the
+ corresponding response as a reply to any other request, unless one
+ of the following specific exceptions holds:
+
+ 1. If the response includes the "s-maxage" cache-control
+ directive, the cache MAY use that response in replying to a
+ subsequent request. But (if the specified maximum age has
+ passed) a proxy cache MUST first revalidate it with the origin
+ server, using the request-headers from the new request to allow
+ the origin server to authenticate the new request. (This is the
+ defined behavior for s-maxage.) If the response includes "s-
+ maxage=0", the proxy MUST always revalidate it before re-using
+ it.
+
+ 2. If the response includes the "must-revalidate" cache-control
+ directive, the cache MAY use that response in replying to a
+ subsequent request. But if the response is stale, all caches
+ MUST first revalidate it with the origin server, using the
+ request-headers from the new request to allow the origin server
+ to authenticate the new request.
+
+ 3. If the response includes the "public" cache-control directive,
+ it MAY be returned in reply to any subsequent request.
+
+14.9 Cache-Control
+
+ The Cache-Control general-header field is used to specify directives
+ that MUST be obeyed by all caching mechanisms along the
+ request/response chain. The directives specify behavior intended to
+ prevent caches from adversely interfering with the request or
+ response. These directives typically override the default caching
+ algorithms. Cache directives are unidirectional in that the presence
+ of a directive in a request does not imply that the same directive is
+ to be given in the response.
+
+ Note that HTTP/1.0 caches might not implement Cache-Control and
+ might only implement Pragma: no-cache (see section 14.32).
+
+ Cache directives MUST be passed through by a proxy or gateway
+ application, regardless of their significance to that application,
+ since the directives might be applicable to all recipients along the
+ request/response chain. It is not possible to specify a cache-
+ directive for a specific cache.
+
+ Cache-Control = "Cache-Control" ":" 1#cache-directive
+
+ cache-directive = cache-request-directive
+ | cache-response-directive
+
+ cache-request-directive =
+ "no-cache" ; Section 14.9.1
+ | "no-store" ; Section 14.9.2
+ | "max-age" "=" delta-seconds ; Section 14.9.3, 14.9.4
+ | "max-stale" [ "=" delta-seconds ] ; Section 14.9.3
+ | "min-fresh" "=" delta-seconds ; Section 14.9.3
+ | "no-transform" ; Section 14.9.5
+ | "only-if-cached" ; Section 14.9.4
+ | cache-extension ; Section 14.9.6
+
+ cache-response-directive =
+ "public" ; Section 14.9.1
+ | "private" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ] ; Section 14.9.1
+ | "no-cache" [ "=" &lt;"&gt; 1#field-name &lt;"&gt; ]; Section 14.9.1
+ | "no-store" ; Section 14.9.2
+ | "no-transform" ; Section 14.9.5
+ | "must-revalidate" ; Section 14.9.4
+ | "proxy-revalidate" ; Section 14.9.4
+ | "max-age" "=" delta-seconds ; Section 14.9.3
+ | "s-maxage" "=" delta-seconds ; Section 14.9.3
+ | cache-extension ; Section 14.9.6
+
+ cache-extension = token [ "=" ( token | quoted-string ) ]
+
+ When a directive appears without any 1#field-name parameter, the
+ directive applies to the entire request or response. When such a
+ directive appears with a 1#field-name parameter, it applies only to
+ the named field or fields, and not to the rest of the request or
+ response. This mechanism supports extensibility; implementations of
+ future versions of the HTTP protocol might apply these directives to
+ header fields not defined in HTTP/1.1.
+
+ The cache-control directives can be broken down into these general
+ categories:
+
+ - Restrictions on what are cacheable; these may only be imposed by
+ the origin server.
+
+ - Restrictions on what may be stored by a cache; these may be
+ imposed by either the origin server or the user agent.
+
+ - Modifications of the basic expiration mechanism; these may be
+ imposed by either the origin server or the user agent.
+
+ - Controls over cache revalidation and reload; these may only be
+ imposed by a user agent.
+
+ - Control over transformation of entities.
+
+ - Extensions to the caching system.
+
+14.9.1 What is Cacheable
+
+ By default, a response is cacheable if the requirements of the
+ request method, request header fields, and the response status
+ indicate that it is cacheable. Section 13.4 summarizes these defaults
+ for cacheability. The following Cache-Control response directives
+ allow an origin server to override the default cacheability of a
+ response:
+
+ public
+ Indicates that the response MAY be cached by any cache, even if it
+ would normally be non-cacheable or cacheable only within a non-
+ shared cache. (See also Authorization, section 14.8, for
+ additional details.)
+
+ private
+ Indicates that all or part of the response message is intended for
+ a single user and MUST NOT be cached by a shared cache. This
+ allows an origin server to state that the specified parts of the
+
+ response are intended for only one user and are not a valid
+ response for requests by other users. A private (non-shared) cache
+ MAY cache the response.
+
+ Note: This usage of the word private only controls where the
+ response may be cached, and cannot ensure the privacy of the
+ message content.
+
+ no-cache
+ If the no-cache directive does not specify a field-name, then a
+ cache MUST NOT use the response to satisfy a subsequent request
+ without successful revalidation with the origin server. This
+ allows an origin server to prevent caching even by caches that
+ have been configured to return stale responses to client requests.
+
+ If the no-cache directive does specify one or more field-names,
+ then a cache MAY use the response to satisfy a subsequent request,
+ subject to any other restrictions on caching. However, the
+ specified field-name(s) MUST NOT be sent in the response to a
+ subsequent request without successful revalidation with the origin
+ server. This allows an origin server to prevent the re-use of
+ certain header fields in a response, while still allowing caching
+ of the rest of the response.
+
+ Note: Most HTTP/1.0 caches will not recognize or obey this
+ directive.
+
+14.9.2 What May be Stored by Caches
+
+ no-store
+ The purpose of the no-store directive is to prevent the
+ inadvertent release or retention of sensitive information (for
+ example, on backup tapes). The no-store directive applies to the
+ entire message, and MAY be sent either in a response or in a
+ request. If sent in a request, a cache MUST NOT store any part of
+ either this request or any response to it. If sent in a response,
+ a cache MUST NOT store any part of either this response or the
+ request that elicited it. This directive applies to both non-
+ shared and shared caches. "MUST NOT store" in this context means
+ that the cache MUST NOT intentionally store the information in
+ non-volatile storage, and MUST make a best-effort attempt to
+ remove the information from volatile storage as promptly as
+ possible after forwarding it.
+
+ Even when this directive is associated with a response, users
+ might explicitly store such a response outside of the caching
+ system (e.g., with a "Save As" dialog). History buffers MAY store
+ such responses as part of their normal operation.
+
+ The purpose of this directive is to meet the stated requirements
+ of certain users and service authors who are concerned about
+ accidental releases of information via unanticipated accesses to
+ cache data structures. While the use of this directive might
+ improve privacy in some cases, we caution that it is NOT in any
+ way a reliable or sufficient mechanism for ensuring privacy. In
+ particular, malicious or compromised caches might not recognize or
+ obey this directive, and communications networks might be
+ vulnerable to eavesdropping.
+
+14.9.3 Modifications of the Basic Expiration Mechanism
+
+ The expiration time of an entity MAY be specified by the origin
+ server using the Expires header (see section 14.21). Alternatively,
+ it MAY be specified using the max-age directive in a response. When
+ the max-age cache-control directive is present in a cached response,
+ the response is stale if its current age is greater than the age
+ value given (in seconds) at the time of a new request for that
+ resource. The max-age directive on a response implies that the
+ response is cacheable (i.e., "public") unless some other, more
+ restrictive cache directive is also present.
+
+ If a response includes both an Expires header and a max-age
+ directive, the max-age directive overrides the Expires header, even
+ if the Expires header is more restrictive. This rule allows an origin
+ server to provide, for a given response, a longer expiration time to
+ an HTTP/1.1 (or later) cache than to an HTTP/1.0 cache. This might be
+ useful if certain HTTP/1.0 caches improperly calculate ages or
+ expiration times, perhaps due to desynchronized clocks.
+
+ Many HTTP/1.0 cache implementations will treat an Expires value that
+ is less than or equal to the response Date value as being equivalent
+ to the Cache-Control response directive "no-cache". If an HTTP/1.1
+ cache receives such a response, and the response does not include a
+ Cache-Control header field, it SHOULD consider the response to be
+ non-cacheable in order to retain compatibility with HTTP/1.0 servers.
+
+ Note: An origin server might wish to use a relatively new HTTP
+ cache control feature, such as the "private" directive, on a
+ network including older caches that do not understand that
+ feature. The origin server will need to combine the new feature
+ with an Expires field whose value is less than or equal to the
+ Date value. This will prevent older caches from improperly
+ caching the response.
+
+ s-maxage
+ If a response includes an s-maxage directive, then for a shared
+ cache (but not for a private cache), the maximum age specified by
+ this directive overrides the maximum age specified by either the
+ max-age directive or the Expires header. The s-maxage directive
+ also implies the semantics of the proxy-revalidate directive (see
+ section 14.9.4), i.e., that the shared cache must not use the
+ entry after it becomes stale to respond to a subsequent request
+ without first revalidating it with the origin server. The s-
+ maxage directive is always ignored by a private cache.
+
+ Note that most older caches, not compliant with this specification,
+ do not implement any cache-control directives. An origin server
+ wishing to use a cache-control directive that restricts, but does not
+ prevent, caching by an HTTP/1.1-compliant cache MAY exploit the
+ requirement that the max-age directive overrides the Expires header,
+ and the fact that pre-HTTP/1.1-compliant caches do not observe the
+ max-age directive.
+
+ Other directives allow a user agent to modify the basic expiration
+ mechanism. These directives MAY be specified on a request:
+
+ max-age
+ Indicates that the client is willing to accept a response whose
+ age is no greater than the specified time in seconds. Unless max-
+ stale directive is also included, the client is not willing to
+ accept a stale response.
+
+ min-fresh
+ Indicates that the client is willing to accept a response whose
+ freshness lifetime is no less than its current age plus the
+ specified time in seconds. That is, the client wants a response
+ that will still be fresh for at least the specified number of
+ seconds.
+
+ max-stale
+ Indicates that the client is willing to accept a response that has
+ exceeded its expiration time. If max-stale is assigned a value,
+ then the client is willing to accept a response that has exceeded
+ its expiration time by no more than the specified number of
+ seconds. If no value is assigned to max-stale, then the client is
+ willing to accept a stale response of any age.
+
+ If a cache returns a stale response, either because of a max-stale
+ directive on a request, or because the cache is configured to
+ override the expiration time of a response, the cache MUST attach a
+ Warning header to the stale response, using Warning 110 (Response is
+ stale).
+
+ A cache MAY be configured to return stale responses without
+ validation, but only if this does not conflict with any "MUST"-level
+ requirements concerning cache validation (e.g., a "must-revalidate"
+ cache-control directive).
+
+ If both the new request and the cached entry include "max-age"
+ directives, then the lesser of the two values is used for determining
+ the freshness of the cached entry for that request.
+
+14.9.4 Cache Revalidation and Reload Controls
+
+ Sometimes a user agent might want or need to insist that a cache
+ revalidate its cache entry with the origin server (and not just with
+ the next cache along the path to the origin server), or to reload its
+ cache entry from the origin server. End-to-end revalidation might be
+ necessary if either the cache or the origin server has overestimated
+ the expiration time of the cached response. End-to-end reload may be
+ necessary if the cache entry has become corrupted for some reason.
+
+ End-to-end revalidation may be requested either when the client does
+ not have its own local cached copy, in which case we call it
+ "unspecified end-to-end revalidation", or when the client does have a
+ local cached copy, in which case we call it "specific end-to-end
+ revalidation."
+
+ The client can specify these three kinds of action using Cache-
+ Control request directives:
+
+ End-to-end reload
+ The request includes a "no-cache" cache-control directive or, for
+ compatibility with HTTP/1.0 clients, "Pragma: no-cache". Field
+ names MUST NOT be included with the no-cache directive in a
+ request. The server MUST NOT use a cached copy when responding to
+ such a request.
+
+ Specific end-to-end revalidation
+ The request includes a "max-age=0" cache-control directive, which
+ forces each cache along the path to the origin server to
+ revalidate its own entry, if any, with the next cache or server.
+ The initial request includes a cache-validating conditional with
+ the client's current validator.
+
+ Unspecified end-to-end revalidation
+ The request includes "max-age=0" cache-control directive, which
+ forces each cache along the path to the origin server to
+ revalidate its own entry, if any, with the next cache or server.
+ The initial request does not include a cache-validating
+
+ conditional; the first cache along the path (if any) that holds a
+ cache entry for this resource includes a cache-validating
+ conditional with its current validator.
+
+ max-age
+ When an intermediate cache is forced, by means of a max-age=0
+ directive, to revalidate its own cache entry, and the client has
+ supplied its own validator in the request, the supplied validator
+ might differ from the validator currently stored with the cache
+ entry. In this case, the cache MAY use either validator in making
+ its own request without affecting semantic transparency.
+
+ However, the choice of validator might affect performance. The
+ best approach is for the intermediate cache to use its own
+ validator when making its request. If the server replies with 304
+ (Not Modified), then the cache can return its now validated copy
+ to the client with a 200 (OK) response. If the server replies with
+ a new entity and cache validator, however, the intermediate cache
+ can compare the returned validator with the one provided in the
+ client's request, using the strong comparison function. If the
+ client's validator is equal to the origin server's, then the
+ intermediate cache simply returns 304 (Not Modified). Otherwise,
+ it returns the new entity with a 200 (OK) response.
+
+ If a request includes the no-cache directive, it SHOULD NOT
+ include min-fresh, max-stale, or max-age.
+
+ only-if-cached
+ In some cases, such as times of extremely poor network
+ connectivity, a client may want a cache to return only those
+ responses that it currently has stored, and not to reload or
+ revalidate with the origin server. To do this, the client may
+ include the only-if-cached directive in a request. If it receives
+ this directive, a cache SHOULD either respond using a cached entry
+ that is consistent with the other constraints of the request, or
+ respond with a 504 (Gateway Timeout) status. However, if a group
+ of caches is being operated as a unified system with good internal
+ connectivity, such a request MAY be forwarded within that group of
+ caches.
+
+ must-revalidate
+ Because a cache MAY be configured to ignore a server's specified
+ expiration time, and because a client request MAY include a max-
+ stale directive (which has a similar effect), the protocol also
+ includes a mechanism for the origin server to require revalidation
+ of a cache entry on any subsequent use. When the must-revalidate
+ directive is present in a response received by a cache, that cache
+ MUST NOT use the entry after it becomes stale to respond to a
+
+ subsequent request without first revalidating it with the origin
+ server. (I.e., the cache MUST do an end-to-end revalidation every
+ time, if, based solely on the origin server's Expires or max-age
+ value, the cached response is stale.)
+
+ The must-revalidate directive is necessary to support reliable
+ operation for certain protocol features. In all circumstances an
+ HTTP/1.1 cache MUST obey the must-revalidate directive; in
+ particular, if the cache cannot reach the origin server for any
+ reason, it MUST generate a 504 (Gateway Timeout) response.
+
+ Servers SHOULD send the must-revalidate directive if and only if
+ failure to revalidate a request on the entity could result in
+ incorrect operation, such as a silently unexecuted financial
+ transaction. Recipients MUST NOT take any automated action that
+ violates this directive, and MUST NOT automatically provide an
+ unvalidated copy of the entity if revalidation fails.
+
+ Although this is not recommended, user agents operating under
+ severe connectivity constraints MAY violate this directive but, if
+ so, MUST explicitly warn the user that an unvalidated response has
+ been provided. The warning MUST be provided on each unvalidated
+ access, and SHOULD require explicit user confirmation.
+
+ proxy-revalidate
+ The proxy-revalidate directive has the same meaning as the must-
+ revalidate directive, except that it does not apply to non-shared
+ user agent caches. It can be used on a response to an
+ authenticated request to permit the user's cache to store and
+ later return the response without needing to revalidate it (since
+ it has already been authenticated once by that user), while still
+ requiring proxies that service many users to revalidate each time
+ (in order to make sure that each user has been authenticated).
+ Note that such authenticated responses also need the public cache
+ control directive in order to allow them to be cached at all.
+
+14.9.5 No-Transform Directive
+
+ no-transform
+ Implementors of intermediate caches (proxies) have found it useful
+ to convert the media type of certain entity bodies. A non-
+ transparent proxy might, for example, convert between image
+ formats in order to save cache space or to reduce the amount of
+ traffic on a slow link.
+
+ Serious operational problems occur, however, when these
+ transformations are applied to entity bodies intended for certain
+ kinds of applications. For example, applications for medical
+
+ imaging, scientific data analysis and those using end-to-end
+ authentication, all depend on receiving an entity body that is bit
+ for bit identical to the original entity-body.
+
+ Therefore, if a message includes the no-transform directive, an
+ intermediate cache or proxy MUST NOT change those headers that are
+ listed in section 13.5.2 as being subject to the no-transform
+ directive. This implies that the cache or proxy MUST NOT change
+ any aspect of the entity-body that is specified by these headers,
+ including the value of the entity-body itself.
+
+14.9.6 Cache Control Extensions
+
+ The Cache-Control header field can be extended through the use of one
+ or more cache-extension tokens, each with an optional assigned value.
+ Informational extensions (those which do not require a change in
+ cache behavior) MAY be added without changing the semantics of other
+ directives. Behavioral extensions are designed to work by acting as
+ modifiers to the existing base of cache directives. Both the new
+ directive and the standard directive are supplied, such that
+ applications which do not understand the new directive will default
+ to the behavior specified by the standard directive, and those that
+ understand the new directive will recognize it as modifying the
+ requirements associated with the standard directive. In this way,
+ extensions to the cache-control directives can be made without
+ requiring changes to the base protocol.
+
+ This extension mechanism depends on an HTTP cache obeying all of the
+ cache-control directives defined for its native HTTP-version, obeying
+ certain extensions, and ignoring all directives that it does not
+ understand.
+
+ For example, consider a hypothetical new response directive called
+ community which acts as a modifier to the private directive. We
+ define this new directive to mean that, in addition to any non-shared
+ cache, any cache which is shared only by members of the community
+ named within its value may cache the response. An origin server
+ wishing to allow the UCI community to use an otherwise private
+ response in their shared cache(s) could do so by including
+
+ Cache-Control: private, community="UCI"
+
+ A cache seeing this header field will act correctly even if the cache
+ does not understand the community cache-extension, since it will also
+ see and understand the private directive and thus default to the safe
+ behavior.
+
+ Unrecognized cache-directives MUST be ignored; it is assumed that any
+ cache-directive likely to be unrecognized by an HTTP/1.1 cache will
+ be combined with standard directives (or the response's default
+ cacheability) such that the cache behavior will remain minimally
+ correct even if the cache does not understand the extension(s).
+
+14.10 Connection
+
+ The Connection general-header field allows the sender to specify
+ options that are desired for that particular connection and MUST NOT
+ be communicated by proxies over further connections.
+
+ The Connection header has the following grammar:
+
+ Connection = "Connection" ":" 1#(connection-token)
+ connection-token = token
+
+ HTTP/1.1 proxies MUST parse the Connection header field before a
+ message is forwarded and, for each connection-token in this field,
+ remove any header field(s) from the message with the same name as the
+ connection-token. Connection options are signaled by the presence of
+ a connection-token in the Connection header field, not by any
+ corresponding additional header field(s), since the additional header
+ field may not be sent if there are no parameters associated with that
+ connection option.
+
+ Message headers listed in the Connection header MUST NOT include
+ end-to-end headers, such as Cache-Control.
+
+ HTTP/1.1 defines the "close" connection option for the sender to
+ signal that the connection will be closed after completion of the
+ response. For example,
+
+ Connection: close
+
+ in either the request or the response header fields indicates that
+ the connection SHOULD NOT be considered `persistent' (section 8.1)
+ after the current request/response is complete.
+
+ HTTP/1.1 applications that do not support persistent connections MUST
+ include the "close" connection option in every message.
+
+ A system receiving an HTTP/1.0 (or lower-version) message that
+ includes a Connection header MUST, for each connection-token in this
+ field, remove and ignore any header field(s) from the message with
+ the same name as the connection-token. This protects against mistaken
+ forwarding of such header fields by pre-HTTP/1.1 proxies. See section
+ 19.6.2.
+
+14.11 Content-Encoding
+
+ The Content-Encoding entity-header field is used as a modifier to the
+ media-type. When present, its value indicates what additional content
+ codings have been applied to the entity-body, and thus what decoding
+ mechanisms must be applied in order to obtain the media-type
+ referenced by the Content-Type header field. Content-Encoding is
+ primarily used to allow a document to be compressed without losing
+ the identity of its underlying media type.
+
+ Content-Encoding = "Content-Encoding" ":" 1#content-coding
+
+ Content codings are defined in section 3.5. An example of its use is
+
+ Content-Encoding: gzip
+
+ The content-coding is a characteristic of the entity identified by
+ the Request-URI. Typically, the entity-body is stored with this
+ encoding and is only decoded before rendering or analogous usage.
+ However, a non-transparent proxy MAY modify the content-coding if the
+ new coding is known to be acceptable to the recipient, unless the
+ "no-transform" cache-control directive is present in the message.
+
+ If the content-coding of an entity is not "identity", then the
+ response MUST include a Content-Encoding entity-header (section
+ 14.11) that lists the non-identity content-coding(s) used.
+
+ If the content-coding of an entity in a request message is not
+ acceptable to the origin server, the server SHOULD respond with a
+ status code of 415 (Unsupported Media Type).
+
+ If multiple encodings have been applied to an entity, the content
+ codings MUST be listed in the order in which they were applied.
+ Additional information about the encoding parameters MAY be provided
+ by other entity-header fields not defined by this specification.
+
+14.12 Content-Language
+
+ The Content-Language entity-header field describes the natural
+ language(s) of the intended audience for the enclosed entity. Note
+ that this might not be equivalent to all the languages used within
+ the entity-body.
+
+ Content-Language = "Content-Language" ":" 1#language-tag
+
+ Language tags are defined in section 3.10. The primary purpose of
+ Content-Language is to allow a user to identify and differentiate
+ entities according to the user's own preferred language. Thus, if the
+ body content is intended only for a Danish-literate audience, the
+ appropriate field is
+
+ Content-Language: da
+
+ If no Content-Language is specified, the default is that the content
+ is intended for all language audiences. This might mean that the
+ sender does not consider it to be specific to any natural language,
+ or that the sender does not know for which language it is intended.
+
+ Multiple languages MAY be listed for content that is intended for
+ multiple audiences. For example, a rendition of the "Treaty of
+ Waitangi," presented simultaneously in the original Maori and English
+ versions, would call for
+
+ Content-Language: mi, en
+
+ However, just because multiple languages are present within an entity
+ does not mean that it is intended for multiple linguistic audiences.
+ An example would be a beginner's language primer, such as "A First
+ Lesson in Latin," which is clearly intended to be used by an
+ English-literate audience. In this case, the Content-Language would
+ properly only include "en".
+
+ Content-Language MAY be applied to any media type -- it is not
+ limited to textual documents.
+
+14.13 Content-Length
+
+ The Content-Length entity-header field indicates the size of the
+ entity-body, in decimal number of OCTETs, sent to the recipient or,
+ in the case of the HEAD method, the size of the entity-body that
+ would have been sent had the request been a GET.
+
+ Content-Length = "Content-Length" ":" 1*DIGIT
+
+ An example is
+
+ Content-Length: 3495
+
+ Applications SHOULD use this field to indicate the transfer-length of
+ the message-body, unless this is prohibited by the rules in section
+ 4.4.
+
+ Any Content-Length greater than or equal to zero is a valid value.
+ Section 4.4 describes how to determine the length of a message-body
+ if a Content-Length is not given.
+
+ Note that the meaning of this field is significantly different from
+ the corresponding definition in MIME, where it is an optional field
+ used within the "message/external-body" content-type. In HTTP, it
+ SHOULD be sent whenever the message's length can be determined prior
+ to being transferred, unless this is prohibited by the rules in
+ section 4.4.
+
+14.14 Content-Location
+
+ The Content-Location entity-header field MAY be used to supply the
+ resource location for the entity enclosed in the message when that
+ entity is accessible from a location separate from the requested
+ resource's URI. A server SHOULD provide a Content-Location for the
+ variant corresponding to the response entity; especially in the case
+ where a resource has multiple entities associated with it, and those
+ entities actually have separate locations by which they might be
+ individually accessed, the server SHOULD provide a Content-Location
+ for the particular variant which is returned.
+
+ Content-Location = "Content-Location" ":"
+ ( absoluteURI | relativeURI )
+
+ The value of Content-Location also defines the base URI for the
+ entity.
+
+ The Content-Location value is not a replacement for the original
+ requested URI; it is only a statement of the location of the resource
+ corresponding to this particular entity at the time of the request.
+ Future requests MAY specify the Content-Location URI as the request-
+ URI if the desire is to identify the source of that particular
+ entity.
+
+ A cache cannot assume that an entity with a Content-Location
+ different from the URI used to retrieve it can be used to respond to
+ later requests on that Content-Location URI. However, the Content-
+ Location can be used to differentiate between multiple entities
+ retrieved from a single requested resource, as described in section
+ 13.6.
+
+ If the Content-Location is a relative URI, the relative URI is
+ interpreted relative to the Request-URI.
+
+ The meaning of the Content-Location header in PUT or POST requests is
+ undefined; servers are free to ignore it in those cases.
+
+14.15 Content-MD5
+
+ The Content-MD5 entity-header field, as defined in <a href="http://firefly.troll.no/rfcs/rfc1864.html">RFC 1864</a> [23], is
+ an MD5 digest of the entity-body for the purpose of providing an
+ end-to-end message integrity check (MIC) of the entity-body. (Note: a
+ MIC is good for detecting accidental modification of the entity-body
+ in transit, but is not proof against malicious attacks.)
+
+ Content-MD5 = "Content-MD5" ":" md5-digest
+ md5-digest = &lt;base64 of 128 bit MD5 digest as per <a href="http://firefly.troll.no/rfcs/rfc1864.html">RFC 1864</a>&gt;
+
+ The Content-MD5 header field MAY be generated by an origin server or
+ client to function as an integrity check of the entity-body. Only
+ origin servers or clients MAY generate the Content-MD5 header field;
+ proxies and gateways MUST NOT generate it, as this would defeat its
+ value as an end-to-end integrity check. Any recipient of the entity-
+ body, including gateways and proxies, MAY check that the digest value
+ in this header field matches that of the entity-body as received.
+
+ The MD5 digest is computed based on the content of the entity-body,
+ including any content-coding that has been applied, but not including
+ any transfer-encoding applied to the message-body. If the message is
+ received with a transfer-encoding, that encoding MUST be removed
+ prior to checking the Content-MD5 value against the received entity.
+
+ This has the result that the digest is computed on the octets of the
+ entity-body exactly as, and in the order that, they would be sent if
+ no transfer-encoding were being applied.
+
+ HTTP extends <a href="http://firefly.troll.no/rfcs/rfc1864.html">RFC 1864</a> to permit the digest to be computed for MIME
+ composite media-types (e.g., multipart/* and message/rfc822), but
+ this does not change how the digest is computed as defined in the
+ preceding paragraph.
+
+ There are several consequences of this. The entity-body for composite
+ types MAY contain many body-parts, each with its own MIME and HTTP
+ headers (including Content-MD5, Content-Transfer-Encoding, and
+ Content-Encoding headers). If a body-part has a Content-Transfer-
+ Encoding or Content-Encoding header, it is assumed that the content
+ of the body-part has had the encoding applied, and the body-part is
+ included in the Content-MD5 digest as is -- i.e., after the
+ application. The Transfer-Encoding header field is not allowed within
+ body-parts.
+
+ Conversion of all line breaks to CRLF MUST NOT be done before
+ computing or checking the digest: the line break convention used in
+ the text actually transmitted MUST be left unaltered when computing
+ the digest.
+
+ Note: while the definition of Content-MD5 is exactly the same for
+ HTTP as in <a href="http://firefly.troll.no/rfcs/rfc1864.html">RFC 1864</a> for MIME entity-bodies, there are several ways
+ in which the application of Content-MD5 to HTTP entity-bodies
+ differs from its application to MIME entity-bodies. One is that
+ HTTP, unlike MIME, does not use Content-Transfer-Encoding, and
+ does use Transfer-Encoding and Content-Encoding. Another is that
+ HTTP more frequently uses binary content types than MIME, so it is
+ worth noting that, in such cases, the byte order used to compute
+ the digest is the transmission byte order defined for the type.
+ Lastly, HTTP allows transmission of text types with any of several
+ line break conventions and not just the canonical form using CRLF.
+
+14.16 Content-Range
+
+ The Content-Range entity-header is sent with a partial entity-body to
+ specify where in the full entity-body the partial body should be
+ applied. Range units are defined in section 3.12.
+
+ Content-Range = "Content-Range" ":" content-range-spec
+
+ content-range-spec = byte-content-range-spec
+ byte-content-range-spec = bytes-unit SP
+ byte-range-resp-spec "/"
+ ( instance-length | "*" )
+
+ byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
+ | "*"
+ instance-length = 1*DIGIT
+
+ The header SHOULD indicate the total length of the full entity-body,
+ unless this length is unknown or difficult to determine. The asterisk
+ "*" character means that the instance-length is unknown at the time
+ when the response was generated.
+
+ Unlike byte-ranges-specifier values (see section 14.35.1), a byte-
+ range-resp-spec MUST only specify one range, and MUST contain
+ absolute byte positions for both the first and last byte of the
+ range.
+
+ A byte-content-range-spec with a byte-range-resp-spec whose last-
+ byte-pos value is less than its first-byte-pos value, or whose
+ instance-length value is less than or equal to its last-byte-pos
+ value, is invalid. The recipient of an invalid byte-content-range-
+ spec MUST ignore it and any content transferred along with it.
+
+ A server sending a response with status code 416 (Requested range not
+ satisfiable) SHOULD include a Content-Range field with a byte-range-
+ resp-spec of "*". The instance-length specifies the current length of
+
+ the selected resource. A response with status code 206 (Partial
+ Content) MUST NOT include a Content-Range field with a byte-range-
+ resp-spec of "*".
+
+ Examples of byte-content-range-spec values, assuming that the entity
+ contains a total of 1234 bytes:
+
+ . The first 500 bytes:
+ bytes 0-499/1234
+
+ . The second 500 bytes:
+ bytes 500-999/1234
+
+ . All except for the first 500 bytes:
+ bytes 500-1233/1234
+
+ . The last 500 bytes:
+ bytes 734-1233/1234
+
+ When an HTTP message includes the content of a single range (for
+ example, a response to a request for a single range, or to a request
+ for a set of ranges that overlap without any holes), this content is
+ transmitted with a Content-Range header, and a Content-Length header
+ showing the number of bytes actually transferred. For example,
+
+ HTTP/1.1 206 Partial content
+ Date: Wed, 15 Nov 1995 06:25:24 GMT
+ Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
+ Content-Range: bytes 21010-47021/47022
+ Content-Length: 26012
+ Content-Type: image/gif
+
+ When an HTTP message includes the content of multiple ranges (for
+ example, a response to a request for multiple non-overlapping
+ ranges), these are transmitted as a multipart message. The multipart
+ media type used for this purpose is "multipart/byteranges" as defined
+ in appendix 19.2. See appendix 19.6.3 for a compatibility issue.
+
+ A response to a request for a single range MUST NOT be sent using the
+ multipart/byteranges media type. A response to a request for
+ multiple ranges, whose result is a single range, MAY be sent as a
+ multipart/byteranges media type with one part. A client that cannot
+ decode a multipart/byteranges message MUST NOT ask for multiple
+ byte-ranges in a single request.
+
+ When a client requests multiple byte-ranges in one request, the
+ server SHOULD return them in the order that they appeared in the
+ request.
+
+ If the server ignores a byte-range-spec because it is syntactically
+ invalid, the server SHOULD treat the request as if the invalid Range
+ header field did not exist. (Normally, this means return a 200
+ response containing the full entity).
+
+ If the server receives a request (other than one including an If-
+ Range request-header field) with an unsatisfiable Range request-
+ header field (that is, all of whose byte-range-spec values have a
+ first-byte-pos value greater than the current length of the selected
+ resource), it SHOULD return a response code of 416 (Requested range
+ not satisfiable) (section 10.4.17).
+
+ Note: clients cannot depend on servers to send a 416 (Requested
+ range not satisfiable) response instead of a 200 (OK) response for
+ an unsatisfiable Range request-header, since not all servers
+ implement this request-header.
+
+14.17 Content-Type
+
+ The Content-Type entity-header field indicates the media type of the
+ entity-body sent to the recipient or, in the case of the HEAD method,
+ the media type that would have been sent had the request been a GET.
+
+ Content-Type = "Content-Type" ":" media-type
+
+ Media types are defined in section 3.7. An example of the field is
+
+ Content-Type: text/html; charset=ISO-8859-4
+
+ Further discussion of methods for identifying the media type of an
+ entity is provided in section 7.2.1.
+
+14.18 Date
+
+ The Date general-header field represents the date and time at which
+ the message was originated, having the same semantics as orig-date in
+ <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a>. The field value is an HTTP-date, as described in section
+ 3.3.1; it MUST be sent in <a href="http://firefly.troll.no/rfcs/rfc1123.html">RFC 1123</a> [8]-date format.
+
+ Date = "Date" ":" HTTP-date
+
+ An example is
+
+ Date: Tue, 15 Nov 1994 08:12:31 GMT
+
+ Origin servers MUST include a Date header field in all responses,
+ except in these cases:
+
+ 1. If the response status code is 100 (Continue) or 101 (Switching
+ Protocols), the response MAY include a Date header field, at
+ the server's option.
+
+ 2. If the response status code conveys a server error, e.g. 500
+ (Internal Server Error) or 503 (Service Unavailable), and it is
+ inconvenient or impossible to generate a valid Date.
+
+ 3. If the server does not have a clock that can provide a
+ reasonable approximation of the current time, its responses
+ MUST NOT include a Date header field. In this case, the rules
+ in section 14.18.1 MUST be followed.
+
+ A received message that does not have a Date header field MUST be
+ assigned one by the recipient if the message will be cached by that
+ recipient or gatewayed via a protocol which requires a Date. An HTTP
+ implementation without a clock MUST NOT cache responses without
+ revalidating them on every use. An HTTP cache, especially a shared
+ cache, SHOULD use a mechanism, such as NTP [28], to synchronize its
+ clock with a reliable external standard.
+
+ Clients SHOULD only send a Date header field in messages that include
+ an entity-body, as in the case of the PUT and POST requests, and even
+ then it is optional. A client without a clock MUST NOT send a Date
+ header field in a request.
+
+ The HTTP-date sent in a Date header SHOULD NOT represent a date and
+ time subsequent to the generation of the message. It SHOULD represent
+ the best available approximation of the date and time of message
+ generation, unless the implementation has no means of generating a
+ reasonably accurate date and time. In theory, the date ought to
+ represent the moment just before the entity is generated. In
+ practice, the date can be generated at any time during the message
+ origination without affecting its semantic value.
+
+14.18.1 Clockless Origin Server Operation
+
+ Some origin server implementations might not have a clock available.
+ An origin server without a clock MUST NOT assign Expires or Last-
+ Modified values to a response, unless these values were associated
+ with the resource by a system or user with a reliable clock. It MAY
+ assign an Expires value that is known, at or before server
+ configuration time, to be in the past (this allows "pre-expiration"
+ of responses without storing separate Expires values for each
+ resource).
+
+14.19 ETag
+
+ The ETag response-header field provides the current value of the
+ entity tag for the requested variant. The headers used with entity
+ tags are described in sections 14.24, 14.26 and 14.44. The entity tag
+ MAY be used for comparison with other entities from the same resource
+ (see section 13.3.3).
+
+ ETag = "ETag" ":" entity-tag
+
+ Examples:
+
+ ETag: "xyzzy"
+ ETag: W/"xyzzy"
+ ETag: ""
+
+14.20 Expect
+
+ The Expect request-header field is used to indicate that particular
+ server behaviors are required by the client.
+
+ Expect = "Expect" ":" 1#expectation
+
+ expectation = "100-continue" | expectation-extension
+ expectation-extension = token [ "=" ( token | quoted-string )
+ *expect-params ]
+ expect-params = ";" token [ "=" ( token | quoted-string ) ]
+
+ A server that does not understand or is unable to comply with any of
+ the expectation values in the Expect field of a request MUST respond
+ with appropriate error status. The server MUST respond with a 417
+ (Expectation Failed) status if any of the expectations cannot be met
+ or, if there are other problems with the request, some other 4xx
+ status.
+
+ This header field is defined with extensible syntax to allow for
+ future extensions. If a server receives a request containing an
+ Expect field that includes an expectation-extension that it does not
+ support, it MUST respond with a 417 (Expectation Failed) status.
+
+ Comparison of expectation values is case-insensitive for unquoted
+ tokens (including the 100-continue token), and is case-sensitive for
+ quoted-string expectation-extensions.
+
+ The Expect mechanism is hop-by-hop: that is, an HTTP/1.1 proxy MUST
+ return a 417 (Expectation Failed) status if it receives a request
+ with an expectation that it cannot meet. However, the Expect
+ request-header itself is end-to-end; it MUST be forwarded if the
+ request is forwarded.
+
+ Many older HTTP/1.0 and HTTP/1.1 applications do not understand the
+ Expect header.
+
+ See section 8.2.3 for the use of the 100 (continue) status.
+
+14.21 Expires
+
+ The Expires entity-header field gives the date/time after which the
+ response is considered stale. A stale cache entry may not normally be
+ returned by a cache (either a proxy cache or a user agent cache)
+ unless it is first validated with the origin server (or with an
+ intermediate cache that has a fresh copy of the entity). See section
+ 13.2 for further discussion of the expiration model.
+
+ The presence of an Expires field does not imply that the original
+ resource will change or cease to exist at, before, or after that
+ time.
+
+ The format is an absolute date and time as defined by HTTP-date in
+ section 3.3.1; it MUST be in <a href="http://firefly.troll.no/rfcs/rfc1123.html">RFC 1123</a> date format:
+
+ Expires = "Expires" ":" HTTP-date
+
+ An example of its use is
+
+ Expires: Thu, 01 Dec 1994 16:00:00 GMT
+
+ Note: if a response includes a Cache-Control field with the max-
+ age directive (see section 14.9.3), that directive overrides the
+ Expires field.
+
+ HTTP/1.1 clients and caches MUST treat other invalid date formats,
+ especially including the value "0", as in the past (i.e., "already
+ expired").
+
+ To mark a response as "already expired," an origin server sends an
+ Expires date that is equal to the Date header value. (See the rules
+ for expiration calculations in section 13.2.4.)
+
+ To mark a response as "never expires," an origin server sends an
+ Expires date approximately one year from the time the response is
+ sent. HTTP/1.1 servers SHOULD NOT send Expires dates more than one
+ year in the future.
+
+ The presence of an Expires header field with a date value of some
+ time in the future on a response that otherwise would by default be
+ non-cacheable indicates that the response is cacheable, unless
+ indicated otherwise by a Cache-Control header field (section 14.9).
+
+14.22 From
+
+ The From request-header field, if given, SHOULD contain an Internet
+ e-mail address for the human user who controls the requesting user
+ agent. The address SHOULD be machine-usable, as defined by "mailbox"
+ in <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a> [9] as updated by <a href="http://firefly.troll.no/rfcs/rfc1123.html">RFC 1123</a> [8]:
+
+ From = "From" ":" mailbox
+
+ An example is:
+
+ From: <a href="mailto:webmaster@w3.org">webmaster@w3.org</a>
+
+ This header field MAY be used for logging purposes and as a means for
+ identifying the source of invalid or unwanted requests. It SHOULD NOT
+ be used as an insecure form of access protection. The interpretation
+ of this field is that the request is being performed on behalf of the
+ person given, who accepts responsibility for the method performed. In
+ particular, robot agents SHOULD include this header so that the
+ person responsible for running the robot can be contacted if problems
+ occur on the receiving end.
+
+ The Internet e-mail address in this field MAY be separate from the
+ Internet host which issued the request. For example, when a request
+ is passed through a proxy the original issuer's address SHOULD be
+ used.
+
+ The client SHOULD NOT send the From header field without the user's
+ approval, as it might conflict with the user's privacy interests or
+ their site's security policy. It is strongly recommended that the
+ user be able to disable, enable, and modify the value of this field
+ at any time prior to a request.
+
+14.23 Host
+
+ The Host request-header field specifies the Internet host and port
+ number of the resource being requested, as obtained from the original
+ URI given by the user or referring resource (generally an HTTP URL,
+
+ as described in section 3.2.2). The Host field value MUST represent
+ the naming authority of the origin server or gateway given by the
+ original URL. This allows the origin server or gateway to
+ differentiate between internally-ambiguous URLs, such as the root "/"
+ URL of a server for multiple host names on a single IP address.
+
+ Host = "Host" ":" host [ ":" port ] ; Section 3.2.2
+
+ A "host" without any trailing port information implies the default
+ port for the service requested (e.g., "80" for an HTTP URL). For
+ example, a request on the origin server for
+ &lt;<a href="http://www.w3.org/pub/WWW/">http://www.w3.org/pub/WWW/</a>&gt; would properly include:
+
+ GET /pub/WWW/ HTTP/1.1
+ Host: www.w3.org
+
+ A client MUST include a Host header field in all HTTP/1.1 request
+ messages . If the requested URI does not include an Internet host
+ name for the service being requested, then the Host header field MUST
+ be given with an empty value. An HTTP/1.1 proxy MUST ensure that any
+ request message it forwards does contain an appropriate Host header
+ field that identifies the service being requested by the proxy. All
+ Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request)
+ status code to any HTTP/1.1 request message which lacks a Host header
+ field.
+
+ See sections 5.2 and 19.6.1.1 for other requirements relating to
+ Host.
+
+14.24 If-Match
+
+ The If-Match request-header field is used with a method to make it
+ conditional. A client that has one or more entities previously
+ obtained from the resource can verify that one of those entities is
+ current by including a list of their associated entity tags in the
+ If-Match header field. Entity tags are defined in section 3.11. The
+ purpose of this feature is to allow efficient updates of cached
+ information with a minimum amount of transaction overhead. It is also
+ used, on updating requests, to prevent inadvertent modification of
+ the wrong version of a resource. As a special case, the value "*"
+ matches any current entity of the resource.
+
+ If-Match = "If-Match" ":" ( "*" | 1#entity-tag )
+
+ If any of the entity tags match the entity tag of the entity that
+ would have been returned in the response to a similar GET request
+ (without the If-Match header) on that resource, or if "*" is given
+
+ and any current entity exists for that resource, then the server MAY
+ perform the requested method as if the If-Match header field did not
+ exist.
+
+ A server MUST use the strong comparison function (see section 13.3.3)
+ to compare the entity tags in If-Match.
+
+ If none of the entity tags match, or if "*" is given and no current
+ entity exists, the server MUST NOT perform the requested method, and
+ MUST return a 412 (Precondition Failed) response. This behavior is
+ most useful when the client wants to prevent an updating method, such
+ as PUT, from modifying a resource that has changed since the client
+ last retrieved it.
+
+ If the request would, without the If-Match header field, result in
+ anything other than a 2xx or 412 status, then the If-Match header
+ MUST be ignored.
+
+ The meaning of "If-Match: *" is that the method SHOULD be performed
+ if the representation selected by the origin server (or by a cache,
+ possibly using the Vary mechanism, see section 14.44) exists, and
+ MUST NOT be performed if the representation does not exist.
+
+ A request intended to update a resource (e.g., a PUT) MAY include an
+ If-Match header field to signal that the request method MUST NOT be
+ applied if the entity corresponding to the If-Match value (a single
+ entity tag) is no longer a representation of that resource. This
+ allows the user to indicate that they do not wish the request to be
+ successful if the resource has been changed without their knowledge.
+ Examples:
+
+ If-Match: "xyzzy"
+ If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
+ If-Match: *
+
+ The result of a request having both an If-Match header field and
+ either an If-None-Match or an If-Modified-Since header fields is
+ undefined by this specification.
+
+14.25 If-Modified-Since
+
+ The If-Modified-Since request-header field is used with a method to
+ make it conditional: if the requested variant has not been modified
+ since the time specified in this field, an entity will not be
+ returned from the server; instead, a 304 (not modified) response will
+ be returned without any message-body.
+
+ If-Modified-Since = "If-Modified-Since" ":" HTTP-date
+
+ An example of the field is:
+
+ If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
+
+ A GET method with an If-Modified-Since header and no Range header
+ requests that the identified entity be transferred only if it has
+ been modified since the date given by the If-Modified-Since header.
+ The algorithm for determining this includes the following cases:
+
+ a) If the request would normally result in anything other than a
+ 200 (OK) status, or if the passed If-Modified-Since date is
+ invalid, the response is exactly the same as for a normal GET.
+ A date which is later than the server's current time is
+ invalid.
+
+ b) If the variant has been modified since the If-Modified-Since
+ date, the response is exactly the same as for a normal GET.
+
+ c) If the variant has not been modified since a valid If-
+ Modified-Since date, the server SHOULD return a 304 (Not
+ Modified) response.
+
+ The purpose of this feature is to allow efficient updates of cached
+ information with a minimum amount of transaction overhead.
+
+ Note: The Range request-header field modifies the meaning of If-
+ Modified-Since; see section 14.35 for full details.
+
+ Note: If-Modified-Since times are interpreted by the server, whose
+ clock might not be synchronized with the client.
+
+ Note: When handling an If-Modified-Since header field, some
+ servers will use an exact date comparison function, rather than a
+ less-than function, for deciding whether to send a 304 (Not
+ Modified) response. To get best results when sending an If-
+ Modified-Since header field for cache validation, clients are
+ advised to use the exact date string received in a previous Last-
+ Modified header field whenever possible.
+
+ Note: If a client uses an arbitrary date in the If-Modified-Since
+ header instead of a date taken from the Last-Modified header for
+ the same request, the client should be aware of the fact that this
+ date is interpreted in the server's understanding of time. The
+ client should consider unsynchronized clocks and rounding problems
+ due to the different encodings of time between the client and
+ server. This includes the possibility of race conditions if the
+ document has changed between the time it was first requested and
+ the If-Modified-Since date of a subsequent request, and the
+
+ possibility of clock-skew-related problems if the If-Modified-
+ Since date is derived from the client's clock without correction
+ to the server's clock. Corrections for different time bases
+ between client and server are at best approximate due to network
+ latency.
+
+ The result of a request having both an If-Modified-Since header field
+ and either an If-Match or an If-Unmodified-Since header fields is
+ undefined by this specification.
+
+14.26 If-None-Match
+
+ The If-None-Match request-header field is used with a method to make
+ it conditional. A client that has one or more entities previously
+ obtained from the resource can verify that none of those entities is
+ current by including a list of their associated entity tags in the
+ If-None-Match header field. The purpose of this feature is to allow
+ efficient updates of cached information with a minimum amount of
+ transaction overhead. It is also used to prevent a method (e.g. PUT)
+ from inadvertently modifying an existing resource when the client
+ believes that the resource does not exist.
+
+ As a special case, the value "*" matches any current entity of the
+ resource.
+
+ If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag )
+
+ If any of the entity tags match the entity tag of the entity that
+ would have been returned in the response to a similar GET request
+ (without the If-None-Match header) on that resource, or if "*" is
+ given and any current entity exists for that resource, then the
+ server MUST NOT perform the requested method, unless required to do
+ so because the resource's modification date fails to match that
+ supplied in an If-Modified-Since header field in the request.
+ Instead, if the request method was GET or HEAD, the server SHOULD
+ respond with a 304 (Not Modified) response, including the cache-
+ related header fields (particularly ETag) of one of the entities that
+ matched. For all other request methods, the server MUST respond with
+ a status of 412 (Precondition Failed).
+
+ See section 13.3.3 for rules on how to determine if two entities tags
+ match. The weak comparison function can only be used with GET or HEAD
+ requests.
+
+ If none of the entity tags match, then the server MAY perform the
+ requested method as if the If-None-Match header field did not exist,
+ but MUST also ignore any If-Modified-Since header field(s) in the
+ request. That is, if no entity tags match, then the server MUST NOT
+ return a 304 (Not Modified) response.
+
+ If the request would, without the If-None-Match header field, result
+ in anything other than a 2xx or 304 status, then the If-None-Match
+ header MUST be ignored. (See section 13.3.4 for a discussion of
+ server behavior when both If-Modified-Since and If-None-Match appear
+ in the same request.)
+
+ The meaning of "If-None-Match: *" is that the method MUST NOT be
+ performed if the representation selected by the origin server (or by
+ a cache, possibly using the Vary mechanism, see section 14.44)
+ exists, and SHOULD be performed if the representation does not exist.
+ This feature is intended to be useful in preventing races between PUT
+ operations.
+
+ Examples:
+
+ If-None-Match: "xyzzy"
+ If-None-Match: W/"xyzzy"
+ If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
+ If-None-Match: W/"xyzzy", W/"r2d2xxxx", W/"c3piozzzz"
+ If-None-Match: *
+
+ The result of a request having both an If-None-Match header field and
+ either an If-Match or an If-Unmodified-Since header fields is
+ undefined by this specification.
+
+14.27 If-Range
+
+ If a client has a partial copy of an entity in its cache, and wishes
+ to have an up-to-date copy of the entire entity in its cache, it
+ could use the Range request-header with a conditional GET (using
+ either or both of If-Unmodified-Since and If-Match.) However, if the
+ condition fails because the entity has been modified, the client
+ would then have to make a second request to obtain the entire current
+ entity-body.
+
+ The If-Range header allows a client to "short-circuit" the second
+ request. Informally, its meaning is `if the entity is unchanged, send
+ me the part(s) that I am missing; otherwise, send me the entire new
+ entity'.
+
+ If-Range = "If-Range" ":" ( entity-tag | HTTP-date )
+
+ If the client has no entity tag for an entity, but does have a Last-
+ Modified date, it MAY use that date in an If-Range header. (The
+ server can distinguish between a valid HTTP-date and any form of
+ entity-tag by examining no more than two characters.) The If-Range
+ header SHOULD only be used together with a Range header, and MUST be
+ ignored if the request does not include a Range header, or if the
+ server does not support the sub-range operation.
+
+ If the entity tag given in the If-Range header matches the current
+ entity tag for the entity, then the server SHOULD provide the
+ specified sub-range of the entity using a 206 (Partial content)
+ response. If the entity tag does not match, then the server SHOULD
+ return the entire entity using a 200 (OK) response.
+
+14.28 If-Unmodified-Since
+
+ The If-Unmodified-Since request-header field is used with a method to
+ make it conditional. If the requested resource has not been modified
+ since the time specified in this field, the server SHOULD perform the
+ requested operation as if the If-Unmodified-Since header were not
+ present.
+
+ If the requested variant has been modified since the specified time,
+ the server MUST NOT perform the requested operation, and MUST return
+ a 412 (Precondition Failed).
+
+ If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
+
+ An example of the field is:
+
+ If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
+
+ If the request normally (i.e., without the If-Unmodified-Since
+ header) would result in anything other than a 2xx or 412 status, the
+ If-Unmodified-Since header SHOULD be ignored.
+
+ If the specified date is invalid, the header is ignored.
+
+ The result of a request having both an If-Unmodified-Since header
+ field and either an If-None-Match or an If-Modified-Since header
+ fields is undefined by this specification.
+
+14.29 Last-Modified
+
+ The Last-Modified entity-header field indicates the date and time at
+ which the origin server believes the variant was last modified.
+
+ Last-Modified = "Last-Modified" ":" HTTP-date
+
+ An example of its use is
+
+ Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
+
+ The exact meaning of this header field depends on the implementation
+ of the origin server and the nature of the original resource. For
+ files, it may be just the file system last-modified time. For
+ entities with dynamically included parts, it may be the most recent
+ of the set of last-modify times for its component parts. For database
+ gateways, it may be the last-update time stamp of the record. For
+ virtual objects, it may be the last time the internal state changed.
+
+ An origin server MUST NOT send a Last-Modified date which is later
+ than the server's time of message origination. In such cases, where
+ the resource's last modification would indicate some time in the
+ future, the server MUST replace that date with the message
+ origination date.
+
+ An origin server SHOULD obtain the Last-Modified value of the entity
+ as close as possible to the time that it generates the Date value of
+ its response. This allows a recipient to make an accurate assessment
+ of the entity's modification time, especially if the entity changes
+ near the time that the response is generated.
+
+ HTTP/1.1 servers SHOULD send Last-Modified whenever feasible.
+
+14.30 Location
+
+ The Location response-header field is used to redirect the recipient
+ to a location other than the Request-URI for completion of the
+ request or identification of a new resource. For 201 (Created)
+ responses, the Location is that of the new resource which was created
+ by the request. For 3xx responses, the location SHOULD indicate the
+ server's preferred URI for automatic redirection to the resource. The
+ field value consists of a single absolute URI.
+
+ Location = "Location" ":" absoluteURI
+
+ An example is:
+
+ Location: <a href="http://www.w3.org/pub/WWW/People.html">http://www.w3.org/pub/WWW/People.html</a>
+
+ Note: The Content-Location header field (section 14.14) differs
+ from Location in that the Content-Location identifies the original
+ location of the entity enclosed in the request. It is therefore
+ possible for a response to contain header fields for both Location
+ and Content-Location. Also see section 13.10 for cache
+ requirements of some methods.
+
+14.31 Max-Forwards
+
+ The Max-Forwards request-header field provides a mechanism with the
+ TRACE (section 9.8) and OPTIONS (section 9.2) methods to limit the
+ number of proxies or gateways that can forward the request to the
+ next inbound server. This can be useful when the client is attempting
+ to trace a request chain which appears to be failing or looping in
+ mid-chain.
+
+ Max-Forwards = "Max-Forwards" ":" 1*DIGIT
+
+ The Max-Forwards value is a decimal integer indicating the remaining
+ number of times this request message may be forwarded.
+
+ Each proxy or gateway recipient of a TRACE or OPTIONS request
+ containing a Max-Forwards header field MUST check and update its
+ value prior to forwarding the request. If the received value is zero
+ (0), the recipient MUST NOT forward the request; instead, it MUST
+ respond as the final recipient. If the received Max-Forwards value is
+ greater than zero, then the forwarded message MUST contain an updated
+ Max-Forwards field with a value decremented by one (1).
+
+ The Max-Forwards header field MAY be ignored for all other methods
+ defined by this specification and for any extension methods for which
+ it is not explicitly referred to as part of that method definition.
+
+14.32 Pragma
+
+ The Pragma general-header field is used to include implementation-
+ specific directives that might apply to any recipient along the
+ request/response chain. All pragma directives specify optional
+ behavior from the viewpoint of the protocol; however, some systems
+ MAY require that behavior be consistent with the directives.
+
+ Pragma = "Pragma" ":" 1#pragma-directive
+ pragma-directive = "no-cache" | extension-pragma
+ extension-pragma = token [ "=" ( token | quoted-string ) ]
+
+ When the no-cache directive is present in a request message, an
+ application SHOULD forward the request toward the origin server even
+ if it has a cached copy of what is being requested. This pragma
+ directive has the same semantics as the no-cache cache-directive (see
+ section 14.9) and is defined here for backward compatibility with
+ HTTP/1.0. Clients SHOULD include both header fields when a no-cache
+ request is sent to a server not known to be HTTP/1.1 compliant.
+
+ Pragma directives MUST be passed through by a proxy or gateway
+ application, regardless of their significance to that application,
+ since the directives might be applicable to all recipients along the
+ request/response chain. It is not possible to specify a pragma for a
+ specific recipient; however, any pragma directive not relevant to a
+ recipient SHOULD be ignored by that recipient.
+
+ HTTP/1.1 caches SHOULD treat "Pragma: no-cache" as if the client had
+ sent "Cache-Control: no-cache". No new Pragma directives will be
+ defined in HTTP.
+
+ Note: because the meaning of "Pragma: no-cache as a response
+ header field is not actually specified, it does not provide a
+ reliable replacement for "Cache-Control: no-cache" in a response
+
+14.33 Proxy-Authenticate
+
+ The Proxy-Authenticate response-header field MUST be included as part
+ of a 407 (Proxy Authentication Required) response. The field value
+ consists of a challenge that indicates the authentication scheme and
+ parameters applicable to the proxy for this Request-URI.
+
+ Proxy-Authenticate = "Proxy-Authenticate" ":" 1#challenge
+
+ The HTTP access authentication process is described in "HTTP
+ Authentication: Basic and Digest Access Authentication" [43]. Unlike
+ WWW-Authenticate, the Proxy-Authenticate header field applies only to
+ the current connection and SHOULD NOT be passed on to downstream
+ clients. However, an intermediate proxy might need to obtain its own
+ credentials by requesting them from the downstream client, which in
+ some circumstances will appear as if the proxy is forwarding the
+ Proxy-Authenticate header field.
+
+14.34 Proxy-Authorization
+
+ The Proxy-Authorization request-header field allows the client to
+ identify itself (or its user) to a proxy which requires
+ authentication. The Proxy-Authorization field value consists of
+ credentials containing the authentication information of the user
+ agent for the proxy and/or realm of the resource being requested.
+
+ Proxy-Authorization = "Proxy-Authorization" ":" credentials
+
+ The HTTP access authentication process is described in "HTTP
+ Authentication: Basic and Digest Access Authentication" [43] . Unlike
+ Authorization, the Proxy-Authorization header field applies only to
+ the next outbound proxy that demanded authentication using the Proxy-
+ Authenticate field. When multiple proxies are used in a chain, the
+
+ Proxy-Authorization header field is consumed by the first outbound
+ proxy that was expecting to receive credentials. A proxy MAY relay
+ the credentials from the client request to the next proxy if that is
+ the mechanism by which the proxies cooperatively authenticate a given
+ request.
+
+14.35 Range
+
+14.35.1 Byte Ranges
+
+ Since all HTTP entities are represented in HTTP messages as sequences
+ of bytes, the concept of a byte range is meaningful for any HTTP
+ entity. (However, not all clients and servers need to support byte-
+ range operations.)
+
+ Byte range specifications in HTTP apply to the sequence of bytes in
+ the entity-body (not necessarily the same as the message-body).
+
+ A byte range operation MAY specify a single range of bytes, or a set
+ of ranges within a single entity.
+
+ ranges-specifier = byte-ranges-specifier
+ byte-ranges-specifier = bytes-unit "=" byte-range-set
+ byte-range-set = 1#( byte-range-spec | suffix-byte-range-spec )
+ byte-range-spec = first-byte-pos "-" [last-byte-pos]
+ first-byte-pos = 1*DIGIT
+ last-byte-pos = 1*DIGIT
+
+ The first-byte-pos value in a byte-range-spec gives the byte-offset
+ of the first byte in a range. The last-byte-pos value gives the
+ byte-offset of the last byte in the range; that is, the byte
+ positions specified are inclusive. Byte offsets start at zero.
+
+ If the last-byte-pos value is present, it MUST be greater than or
+ equal to the first-byte-pos in that byte-range-spec, or the byte-
+ range-spec is syntactically invalid. The recipient of a byte-range-
+ set that includes one or more syntactically invalid byte-range-spec
+ values MUST ignore the header field that includes that byte-range-
+ set.
+
+ If the last-byte-pos value is absent, or if the value is greater than
+ or equal to the current length of the entity-body, last-byte-pos is
+ taken to be equal to one less than the current length of the entity-
+ body in bytes.
+
+ By its choice of last-byte-pos, a client can limit the number of
+ bytes retrieved without knowing the size of the entity.
+
+ suffix-byte-range-spec = "-" suffix-length
+ suffix-length = 1*DIGIT
+
+ A suffix-byte-range-spec is used to specify the suffix of the
+ entity-body, of a length given by the suffix-length value. (That is,
+ this form specifies the last N bytes of an entity-body.) If the
+ entity is shorter than the specified suffix-length, the entire
+ entity-body is used.
+
+ If a syntactically valid byte-range-set includes at least one byte-
+ range-spec whose first-byte-pos is less than the current length of
+ the entity-body, or at least one suffix-byte-range-spec with a non-
+ zero suffix-length, then the byte-range-set is satisfiable.
+ Otherwise, the byte-range-set is unsatisfiable. If the byte-range-set
+ is unsatisfiable, the server SHOULD return a response with a status
+ of 416 (Requested range not satisfiable). Otherwise, the server
+ SHOULD return a response with a status of 206 (Partial Content)
+ containing the satisfiable ranges of the entity-body.
+
+ Examples of byte-ranges-specifier values (assuming an entity-body of
+ length 10000):
+
+ - The first 500 bytes (byte offsets 0-499, inclusive): bytes=0-
+ 499
+
+ - The second 500 bytes (byte offsets 500-999, inclusive):
+ bytes=500-999
+
+ - The final 500 bytes (byte offsets 9500-9999, inclusive):
+ bytes=-500
+
+ - Or bytes=9500-
+
+ - The first and last bytes only (bytes 0 and 9999): bytes=0-0,-1
+
+ - Several legal but not canonical specifications of the second 500
+ bytes (byte offsets 500-999, inclusive):
+ bytes=500-600,601-999
+ bytes=500-700,601-999
+
+14.35.2 Range Retrieval Requests
+
+ HTTP retrieval requests using conditional or unconditional GET
+ methods MAY request one or more sub-ranges of the entity, instead of
+ the entire entity, using the Range request header, which applies to
+ the entity returned as the result of the request:
+
+ Range = "Range" ":" ranges-specifier
+
+ A server MAY ignore the Range header. However, HTTP/1.1 origin
+ servers and intermediate caches ought to support byte ranges when
+ possible, since Range supports efficient recovery from partially
+ failed transfers, and supports efficient partial retrieval of large
+ entities.
+
+ If the server supports the Range header and the specified range or
+ ranges are appropriate for the entity:
+
+ - The presence of a Range header in an unconditional GET modifies
+ what is returned if the GET is otherwise successful. In other
+ words, the response carries a status code of 206 (Partial
+ Content) instead of 200 (OK).
+
+ - The presence of a Range header in a conditional GET (a request
+ using one or both of If-Modified-Since and If-None-Match, or
+ one or both of If-Unmodified-Since and If-Match) modifies what
+ is returned if the GET is otherwise successful and the
+ condition is true. It does not affect the 304 (Not Modified)
+ response returned if the conditional is false.
+
+ In some cases, it might be more appropriate to use the If-Range
+ header (see section 14.27) in addition to the Range header.
+
+ If a proxy that supports ranges receives a Range request, forwards
+ the request to an inbound server, and receives an entire entity in
+ reply, it SHOULD only return the requested range to its client. It
+ SHOULD store the entire received response in its cache if that is
+ consistent with its cache allocation policies.
+
+14.36 Referer
+
+ The Referer[sic] request-header field allows the client to specify,
+ for the server's benefit, the address (URI) of the resource from
+ which the Request-URI was obtained (the "referrer", although the
+ header field is misspelled.) The Referer request-header allows a
+ server to generate lists of back-links to resources for interest,
+ logging, optimized caching, etc. It also allows obsolete or mistyped
+ links to be traced for maintenance. The Referer field MUST NOT be
+ sent if the Request-URI was obtained from a source that does not have
+ its own URI, such as input from the user keyboard.
+
+ Referer = "Referer" ":" ( absoluteURI | relativeURI )
+
+ Example:
+
+ Referer: <a href="http://www.w3.org/hypertext/DataSources/Overview.html">http://www.w3.org/hypertext/DataSources/Overview.html</a>
+
+ If the field value is a relative URI, it SHOULD be interpreted
+ relative to the Request-URI. The URI MUST NOT include a fragment. See
+ section 15.1.3 for security considerations.
+
+14.37 Retry-After
+
+ The Retry-After response-header field can be used with a 503 (Service
+ Unavailable) response to indicate how long the service is expected to
+ be unavailable to the requesting client. This field MAY also be used
+ with any 3xx (Redirection) response to indicate the minimum time the
+ user-agent is asked wait before issuing the redirected request. The
+ value of this field can be either an HTTP-date or an integer number
+ of seconds (in decimal) after the time of the response.
+
+ Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds )
+
+ Two examples of its use are
+
+ Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
+ Retry-After: 120
+
+ In the latter example, the delay is 2 minutes.
+
+14.38 Server
+
+ The Server response-header field contains information about the
+ software used by the origin server to handle the request. The field
+ can contain multiple product tokens (section 3.8) and comments
+ identifying the server and any significant subproducts. The product
+ tokens are listed in order of their significance for identifying the
+ application.
+
+ Server = "Server" ":" 1*( product | comment )
+
+ Example:
+
+ Server: CERN/3.0 libwww/2.17
+
+ If the response is being forwarded through a proxy, the proxy
+ application MUST NOT modify the Server response-header. Instead, it
+ SHOULD include a Via field (as described in section 14.45).
+
+ Note: Revealing the specific software version of the server might
+ allow the server machine to become more vulnerable to attacks
+ against software that is known to contain security holes. Server
+ implementors are encouraged to make this field a configurable
+ option.
+
+14.39 TE
+
+ The TE request-header field indicates what extension transfer-codings
+ it is willing to accept in the response and whether or not it is
+ willing to accept trailer fields in a chunked transfer-coding. Its
+ value may consist of the keyword "trailers" and/or a comma-separated
+ list of extension transfer-coding names with optional accept
+ parameters (as described in section 3.6).
+
+ TE = "TE" ":" #( t-codings )
+ t-codings = "trailers" | ( transfer-extension [ accept-params ] )
+
+ The presence of the keyword "trailers" indicates that the client is
+ willing to accept trailer fields in a chunked transfer-coding, as
+ defined in section 3.6.1. This keyword is reserved for use with
+ transfer-coding values even though it does not itself represent a
+ transfer-coding.
+
+ Examples of its use are:
+
+ TE: deflate
+ TE:
+ TE: trailers, deflate;q=0.5
+
+ The TE header field only applies to the immediate connection.
+ Therefore, the keyword MUST be supplied within a Connection header
+ field (section 14.10) whenever TE is present in an HTTP/1.1 message.
+
+ A server tests whether a transfer-coding is acceptable, according to
+ a TE field, using these rules:
+
+ 1. The "chunked" transfer-coding is always acceptable. If the
+ keyword "trailers" is listed, the client indicates that it is
+ willing to accept trailer fields in the chunked response on
+ behalf of itself and any downstream clients. The implication is
+ that, if given, the client is stating that either all
+ downstream clients are willing to accept trailer fields in the
+ forwarded response, or that it will attempt to buffer the
+ response on behalf of downstream recipients.
+
+ Note: HTTP/1.1 does not define any means to limit the size of a
+ chunked response such that a client can be assured of buffering
+ the entire response.
+
+ 2. If the transfer-coding being tested is one of the transfer-
+ codings listed in the TE field, then it is acceptable unless it
+ is accompanied by a qvalue of 0. (As defined in section 3.9, a
+ qvalue of 0 means "not acceptable.")
+
+ 3. If multiple transfer-codings are acceptable, then the
+ acceptable transfer-coding with the highest non-zero qvalue is
+ preferred. The "chunked" transfer-coding always has a qvalue
+ of 1.
+
+ If the TE field-value is empty or if no TE field is present, the only
+ transfer-coding is "chunked". A message with no transfer-coding is
+ always acceptable.
+
+14.40 Trailer
+
+ The Trailer general field value indicates that the given set of
+ header fields is present in the trailer of a message encoded with
+ chunked transfer-coding.
+
+ Trailer = "Trailer" ":" 1#field-name
+
+ An HTTP/1.1 message SHOULD include a Trailer header field in a
+ message using chunked transfer-coding with a non-empty trailer. Doing
+ so allows the recipient to know which header fields to expect in the
+ trailer.
+
+ If no Trailer header field is present, the trailer SHOULD NOT include
+ any header fields. See section 3.6.1 for restrictions on the use of
+ trailer fields in a "chunked" transfer-coding.
+
+ Message header fields listed in the Trailer header field MUST NOT
+ include the following header fields:
+
+ . Transfer-Encoding
+
+ . Content-Length
+
+ . Trailer
+
+14.41 Transfer-Encoding
+
+ The Transfer-Encoding general-header field indicates what (if any)
+ type of transformation has been applied to the message body in order
+ to safely transfer it between the sender and the recipient. This
+ differs from the content-coding in that the transfer-coding is a
+ property of the message, not of the entity.
+
+ Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding
+
+ Transfer-codings are defined in section 3.6. An example is:
+
+ Transfer-Encoding: chunked
+
+ If multiple encodings have been applied to an entity, the transfer-
+ codings MUST be listed in the order in which they were applied.
+ Additional information about the encoding parameters MAY be provided
+ by other entity-header fields not defined by this specification.
+
+ Many older HTTP/1.0 applications do not understand the Transfer-
+ Encoding header.
+
+14.42 Upgrade
+
+ The Upgrade general-header allows the client to specify what
+ additional communication protocols it supports and would like to use
+ if the server finds it appropriate to switch protocols. The server
+ MUST use the Upgrade header field within a 101 (Switching Protocols)
+ response to indicate which protocol(s) are being switched.
+
+ Upgrade = "Upgrade" ":" 1#product
+
+ For example,
+
+ Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
+
+ The Upgrade header field is intended to provide a simple mechanism
+ for transition from HTTP/1.1 to some other, incompatible protocol. It
+ does so by allowing the client to advertise its desire to use another
+ protocol, such as a later version of HTTP with a higher major version
+ number, even though the current request has been made using HTTP/1.1.
+ This eases the difficult transition between incompatible protocols by
+ allowing the client to initiate a request in the more commonly
+ supported protocol while indicating to the server that it would like
+ to use a "better" protocol if available (where "better" is determined
+ by the server, possibly according to the nature of the method and/or
+ resource being requested).
+
+ The Upgrade header field only applies to switching application-layer
+ protocols upon the existing transport-layer connection. Upgrade
+ cannot be used to insist on a protocol change; its acceptance and use
+ by the server is optional. The capabilities and nature of the
+ application-layer communication after the protocol change is entirely
+ dependent upon the new protocol chosen, although the first action
+ after changing the protocol MUST be a response to the initial HTTP
+ request containing the Upgrade header field.
+
+ The Upgrade header field only applies to the immediate connection.
+ Therefore, the upgrade keyword MUST be supplied within a Connection
+ header field (section 14.10) whenever Upgrade is present in an
+ HTTP/1.1 message.
+
+ The Upgrade header field cannot be used to indicate a switch to a
+ protocol on a different connection. For that purpose, it is more
+ appropriate to use a 301, 302, 303, or 305 redirection response.
+
+ This specification only defines the protocol name "HTTP" for use by
+ the family of Hypertext Transfer Protocols, as defined by the HTTP
+ version rules of section 3.1 and future updates to this
+ specification. Any token can be used as a protocol name; however, it
+ will only be useful if both the client and server associate the name
+ with the same protocol.
+
+14.43 User-Agent
+
+ The User-Agent request-header field contains information about the
+ user agent originating the request. This is for statistical purposes,
+ the tracing of protocol violations, and automated recognition of user
+ agents for the sake of tailoring responses to avoid particular user
+ agent limitations. User agents SHOULD include this field with
+ requests. The field can contain multiple product tokens (section 3.8)
+ and comments identifying the agent and any subproducts which form a
+ significant part of the user agent. By convention, the product tokens
+ are listed in order of their significance for identifying the
+ application.
+
+ User-Agent = "User-Agent" ":" 1*( product | comment )
+
+ Example:
+
+ User-Agent: CERN-LineMode/2.15 libwww/2.17b3
+
+14.44 Vary
+
+ The Vary field value indicates the set of request-header fields that
+ fully determines, while the response is fresh, whether a cache is
+ permitted to use the response to reply to a subsequent request
+ without revalidation. For uncacheable or stale responses, the Vary
+ field value advises the user agent about the criteria that were used
+ to select the representation. A Vary field value of "*" implies that
+ a cache cannot determine from the request headers of a subsequent
+ request whether this response is the appropriate representation. See
+ section 13.6 for use of the Vary header field by caches.
+
+ Vary = "Vary" ":" ( "*" | 1#field-name )
+
+ An HTTP/1.1 server SHOULD include a Vary header field with any
+ cacheable response that is subject to server-driven negotiation.
+ Doing so allows a cache to properly interpret future requests on that
+ resource and informs the user agent about the presence of negotiation
+
+ on that resource. A server MAY include a Vary header field with a
+ non-cacheable response that is subject to server-driven negotiation,
+ since this might provide the user agent with useful information about
+ the dimensions over which the response varies at the time of the
+ response.
+
+ A Vary field value consisting of a list of field-names signals that
+ the representation selected for the response is based on a selection
+ algorithm which considers ONLY the listed request-header field values
+ in selecting the most appropriate representation. A cache MAY assume
+ that the same selection will be made for future requests with the
+ same values for the listed field names, for the duration of time for
+ which the response is fresh.
+
+ The field-names given are not limited to the set of standard
+ request-header fields defined by this specification. Field names are
+ case-insensitive.
+
+ A Vary field value of "*" signals that unspecified parameters not
+ limited to the request-headers (e.g., the network address of the
+ client), play a role in the selection of the response representation.
+ The "*" value MUST NOT be generated by a proxy server; it may only be
+ generated by an origin server.
+
+14.45 Via
+
+ The Via general-header field MUST be used by gateways and proxies to
+ indicate the intermediate protocols and recipients between the user
+ agent and the server on requests, and between the origin server and
+ the client on responses. It is analogous to the "Received" field of
+ <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a> [9] and is intended to be used for tracking message forwards,
+ avoiding request loops, and identifying the protocol capabilities of
+ all senders along the request/response chain.
+
+ Via = "Via" ":" 1#( received-protocol received-by [ comment ] )
+ received-protocol = [ protocol-name "/" ] protocol-version
+ protocol-name = token
+ protocol-version = token
+ received-by = ( host [ ":" port ] ) | pseudonym
+ pseudonym = token
+
+ The received-protocol indicates the protocol version of the message
+ received by the server or client along each segment of the
+ request/response chain. The received-protocol version is appended to
+ the Via field value when the message is forwarded so that information
+ about the protocol capabilities of upstream applications remains
+ visible to all recipients.
+
+ The protocol-name is optional if and only if it would be "HTTP". The
+ received-by field is normally the host and optional port number of a
+ recipient server or client that subsequently forwarded the message.
+ However, if the real host is considered to be sensitive information,
+ it MAY be replaced by a pseudonym. If the port is not given, it MAY
+ be assumed to be the default port of the received-protocol.
+
+ Multiple Via field values represents each proxy or gateway that has
+ forwarded the message. Each recipient MUST append its information
+ such that the end result is ordered according to the sequence of
+ forwarding applications.
+
+ Comments MAY be used in the Via header field to identify the software
+ of the recipient proxy or gateway, analogous to the User-Agent and
+ Server header fields. However, all comments in the Via field are
+ optional and MAY be removed by any recipient prior to forwarding the
+ message.
+
+ For example, a request message could be sent from an HTTP/1.0 user
+ agent to an internal proxy code-named "fred", which uses HTTP/1.1 to
+ forward the request to a public proxy at nowhere.com, which completes
+ the request by forwarding it to the origin server at www.ics.uci.edu.
+ The request received by www.ics.uci.edu would then have the following
+ Via header field:
+
+ Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
+
+ Proxies and gateways used as a portal through a network firewall
+ SHOULD NOT, by default, forward the names and ports of hosts within
+ the firewall region. This information SHOULD only be propagated if
+ explicitly enabled. If not enabled, the received-by host of any host
+ behind the firewall SHOULD be replaced by an appropriate pseudonym
+ for that host.
+
+ For organizations that have strong privacy requirements for hiding
+ internal structures, a proxy MAY combine an ordered subsequence of
+ Via header field entries with identical received-protocol values into
+ a single such entry. For example,
+
+ Via: 1.0 ricky, 1.1 ethel, 1.1 fred, 1.0 lucy
+
+ could be collapsed to
+
+ Via: 1.0 ricky, 1.1 mertz, 1.0 lucy
+
+ Applications SHOULD NOT combine multiple entries unless they are all
+ under the same organizational control and the hosts have already been
+ replaced by pseudonyms. Applications MUST NOT combine entries which
+ have different received-protocol values.
+
+14.46 Warning
+
+ The Warning general-header field is used to carry additional
+ information about the status or transformation of a message which
+ might not be reflected in the message. This information is typically
+ used to warn about a possible lack of semantic transparency from
+ caching operations or transformations applied to the entity body of
+ the message.
+
+ Warning headers are sent with responses using:
+
+ Warning = "Warning" ":" 1#warning-value
+
+ warning-value = warn-code SP warn-agent SP warn-text
+ [SP warn-date]
+
+ warn-code = 3DIGIT
+ warn-agent = ( host [ ":" port ] ) | pseudonym
+ ; the name or pseudonym of the server adding
+ ; the Warning header, for use in debugging
+ warn-text = quoted-string
+ warn-date = &lt;"&gt; HTTP-date &lt;"&gt;
+
+ A response MAY carry more than one Warning header.
+
+ The warn-text SHOULD be in a natural language and character set that
+ is most likely to be intelligible to the human user receiving the
+ response. This decision MAY be based on any available knowledge, such
+ as the location of the cache or user, the Accept-Language field in a
+ request, the Content-Language field in a response, etc. The default
+ language is English and the default character set is ISO-8859-1.
+
+ If a character set other than ISO-8859-1 is used, it MUST be encoded
+ in the warn-text using the method described in <a href="http://firefly.troll.no/rfcs/rfc2047.html">RFC 2047</a> [14].
+
+ Warning headers can in general be applied to any message, however
+ some specific warn-codes are specific to caches and can only be
+ applied to response messages. New Warning headers SHOULD be added
+ after any existing Warning headers. A cache MUST NOT delete any
+ Warning header that it received with a message. However, if a cache
+ successfully validates a cache entry, it SHOULD remove any Warning
+ headers previously attached to that entry except as specified for
+
+ specific Warning codes. It MUST then add any Warning headers received
+ in the validating response. In other words, Warning headers are those
+ that would be attached to the most recent relevant response.
+
+ When multiple Warning headers are attached to a response, the user
+ agent ought to inform the user of as many of them as possible, in the
+ order that they appear in the response. If it is not possible to
+ inform the user of all of the warnings, the user agent SHOULD follow
+ these heuristics:
+
+ - Warnings that appear early in the response take priority over
+ those appearing later in the response.
+
+ - Warnings in the user's preferred character set take priority
+ over warnings in other character sets but with identical warn-
+ codes and warn-agents.
+
+ Systems that generate multiple Warning headers SHOULD order them with
+ this user agent behavior in mind.
+
+ Requirements for the behavior of caches with respect to Warnings are
+ stated in section 13.1.2.
+
+ This is a list of the currently-defined warn-codes, each with a
+ recommended warn-text in English, and a description of its meaning.
+
+ 110 Response is stale
+ MUST be included whenever the returned response is stale.
+
+ 111 Revalidation failed
+ MUST be included if a cache returns a stale response because an
+ attempt to revalidate the response failed, due to an inability to
+ reach the server.
+
+ 112 Disconnected operation
+ SHOULD be included if the cache is intentionally disconnected from
+ the rest of the network for a period of time.
+
+ 113 Heuristic expiration
+ MUST be included if the cache heuristically chose a freshness
+ lifetime greater than 24 hours and the response's age is greater
+ than 24 hours.
+
+ 199 Miscellaneous warning
+ The warning text MAY include arbitrary information to be presented
+ to a human user, or logged. A system receiving this warning MUST
+ NOT take any automated action, besides presenting the warning to
+ the user.
+
+ 214 Transformation applied
+ MUST be added by an intermediate cache or proxy if it applies any
+ transformation changing the content-coding (as specified in the
+ Content-Encoding header) or media-type (as specified in the
+ Content-Type header) of the response, or the entity-body of the
+ response, unless this Warning code already appears in the response.
+
+ 299 Miscellaneous persistent warning
+ The warning text MAY include arbitrary information to be presented
+ to a human user, or logged. A system receiving this warning MUST
+ NOT take any automated action.
+
+ If an implementation sends a message with one or more Warning headers
+ whose version is HTTP/1.0 or lower, then the sender MUST include in
+ each warning-value a warn-date that matches the date in the response.
+
+ If an implementation receives a message with a warning-value that
+ includes a warn-date, and that warn-date is different from the Date
+ value in the response, then that warning-value MUST be deleted from
+ the message before storing, forwarding, or using it. (This prevents
+ bad consequences of naive caching of Warning header fields.) If all
+ of the warning-values are deleted for this reason, the Warning header
+ MUST be deleted as well.
+
+14.47 WWW-Authenticate
+
+ The WWW-Authenticate response-header field MUST be included in 401
+ (Unauthorized) response messages. The field value consists of at
+ least one challenge that indicates the authentication scheme(s) and
+ parameters applicable to the Request-URI.
+
+ WWW-Authenticate = "WWW-Authenticate" ":" 1#challenge
+
+ The HTTP access authentication process is described in "HTTP
+ Authentication: Basic and Digest Access Authentication" [43]. User
+ agents are advised to take special care in parsing the WWW-
+ Authenticate field value as it might contain more than one challenge,
+ or if more than one WWW-Authenticate header field is provided, the
+ contents of a challenge itself can contain a comma-separated list of
+ authentication parameters.
+
+15 Security Considerations
+
+ This section is meant to inform application developers, information
+ providers, and users of the security limitations in HTTP/1.1 as
+ described by this document. The discussion does not include
+ definitive solutions to the problems revealed, though it does make
+ some suggestions for reducing security risks.
+
+15.1 Personal Information
+
+ HTTP clients are often privy to large amounts of personal information
+ (e.g. the user's name, location, mail address, passwords, encryption
+ keys, etc.), and SHOULD be very careful to prevent unintentional
+ leakage of this information via the HTTP protocol to other sources.
+ We very strongly recommend that a convenient interface be provided
+ for the user to control dissemination of such information, and that
+ designers and implementors be particularly careful in this area.
+ History shows that errors in this area often create serious security
+ and/or privacy problems and generate highly adverse publicity for the
+ implementor's company.
+
+15.1.1 Abuse of Server Log Information
+
+ A server is in the position to save personal data about a user's
+ requests which might identify their reading patterns or subjects of
+ interest. This information is clearly confidential in nature and its
+ handling can be constrained by law in certain countries. People using
+ the HTTP protocol to provide data are responsible for ensuring that
+ such material is not distributed without the permission of any
+ individuals that are identifiable by the published results.
+
+15.1.2 Transfer of Sensitive Information
+
+ Like any generic data transfer protocol, HTTP cannot regulate the
+ content of the data that is transferred, nor is there any a priori
+ method of determining the sensitivity of any particular piece of
+ information within the context of any given request. Therefore,
+ applications SHOULD supply as much control over this information as
+ possible to the provider of that information. Four header fields are
+ worth special mention in this context: Server, Via, Referer and From.
+
+ Revealing the specific software version of the server might allow the
+ server machine to become more vulnerable to attacks against software
+ that is known to contain security holes. Implementors SHOULD make the
+ Server header field a configurable option.
+
+ Proxies which serve as a portal through a network firewall SHOULD
+ take special precautions regarding the transfer of header information
+ that identifies the hosts behind the firewall. In particular, they
+ SHOULD remove, or replace with sanitized versions, any Via fields
+ generated behind the firewall.
+
+ The Referer header allows reading patterns to be studied and reverse
+ links drawn. Although it can be very useful, its power can be abused
+ if user details are not separated from the information contained in
+
+ the Referer. Even when the personal information has been removed, the
+ Referer header might indicate a private document's URI whose
+ publication would be inappropriate.
+
+ The information sent in the From field might conflict with the user's
+ privacy interests or their site's security policy, and hence it
+ SHOULD NOT be transmitted without the user being able to disable,
+ enable, and modify the contents of the field. The user MUST be able
+ to set the contents of this field within a user preference or
+ application defaults configuration.
+
+ We suggest, though do not require, that a convenient toggle interface
+ be provided for the user to enable or disable the sending of From and
+ Referer information.
+
+ The User-Agent (section 14.43) or Server (section 14.38) header
+ fields can sometimes be used to determine that a specific client or
+ server have a particular security hole which might be exploited.
+ Unfortunately, this same information is often used for other valuable
+ purposes for which HTTP currently has no better mechanism.
+
+15.1.3 Encoding Sensitive Information in URI's
+
+ Because the source of a link might be private information or might
+ reveal an otherwise private information source, it is strongly
+ recommended that the user be able to select whether or not the
+ Referer field is sent. For example, a browser client could have a
+ toggle switch for browsing openly/anonymously, which would
+ respectively enable/disable the sending of Referer and From
+ information.
+
+ Clients SHOULD NOT include a Referer header field in a (non-secure)
+ HTTP request if the referring page was transferred with a secure
+ protocol.
+
+ Authors of services which use the HTTP protocol SHOULD NOT use GET
+ based forms for the submission of sensitive data, because this will
+ cause this data to be encoded in the Request-URI. Many existing
+ servers, proxies, and user agents will log the request URI in some
+ place where it might be visible to third parties. Servers can use
+ POST-based form submission instead
+
+15.1.4 Privacy Issues Connected to Accept Headers
+
+ Accept request-headers can reveal information about the user to all
+ servers which are accessed. The Accept-Language header in particular
+ can reveal information the user would consider to be of a private
+ nature, because the understanding of particular languages is often
+
+ strongly correlated to the membership of a particular ethnic group.
+ User agents which offer the option to configure the contents of an
+ Accept-Language header to be sent in every request are strongly
+ encouraged to let the configuration process include a message which
+ makes the user aware of the loss of privacy involved.
+
+ An approach that limits the loss of privacy would be for a user agent
+ to omit the sending of Accept-Language headers by default, and to ask
+ the user whether or not to start sending Accept-Language headers to a
+ server if it detects, by looking for any Vary response-header fields
+ generated by the server, that such sending could improve the quality
+ of service.
+
+ Elaborate user-customized accept header fields sent in every request,
+ in particular if these include quality values, can be used by servers
+ as relatively reliable and long-lived user identifiers. Such user
+ identifiers would allow content providers to do click-trail tracking,
+ and would allow collaborating content providers to match cross-server
+ click-trails or form submissions of individual users. Note that for
+ many users not behind a proxy, the network address of the host
+ running the user agent will also serve as a long-lived user
+ identifier. In environments where proxies are used to enhance
+ privacy, user agents ought to be conservative in offering accept
+ header configuration options to end users. As an extreme privacy
+ measure, proxies could filter the accept headers in relayed requests.
+ General purpose user agents which provide a high degree of header
+ configurability SHOULD warn users about the loss of privacy which can
+ be involved.
+
+15.2 Attacks Based On File and Path Names
+
+ Implementations of HTTP origin servers SHOULD be careful to restrict
+ the documents returned by HTTP requests to be only those that were
+ intended by the server administrators. If an HTTP server translates
+ HTTP URIs directly into file system calls, the server MUST take
+ special care not to serve files that were not intended to be
+ delivered to HTTP clients. For example, UNIX, Microsoft Windows, and
+ other operating systems use ".." as a path component to indicate a
+ directory level above the current one. On such a system, an HTTP
+ server MUST disallow any such construct in the Request-URI if it
+ would otherwise allow access to a resource outside those intended to
+ be accessible via the HTTP server. Similarly, files intended for
+ reference only internally to the server (such as access control
+ files, configuration files, and script code) MUST be protected from
+ inappropriate retrieval, since they might contain sensitive
+ information. Experience has shown that minor bugs in such HTTP server
+ implementations have turned into security risks.
+
+15.3 DNS Spoofing
+
+ Clients using HTTP rely heavily on the Domain Name Service, and are
+ thus generally prone to security attacks based on the deliberate
+ mis-association of IP addresses and DNS names. Clients need to be
+ cautious in assuming the continuing validity of an IP number/DNS name
+ association.
+
+ In particular, HTTP clients SHOULD rely on their name resolver for
+ confirmation of an IP number/DNS name association, rather than
+ caching the result of previous host name lookups. Many platforms
+ already can cache host name lookups locally when appropriate, and
+ they SHOULD be configured to do so. It is proper for these lookups to
+ be cached, however, only when the TTL (Time To Live) information
+ reported by the name server makes it likely that the cached
+ information will remain useful.
+
+ If HTTP clients cache the results of host name lookups in order to
+ achieve a performance improvement, they MUST observe the TTL
+ information reported by DNS.
+
+ If HTTP clients do not observe this rule, they could be spoofed when
+ a previously-accessed server's IP address changes. As network
+ renumbering is expected to become increasingly common [24], the
+ possibility of this form of attack will grow. Observing this
+ requirement thus reduces this potential security vulnerability.
+
+ This requirement also improves the load-balancing behavior of clients
+ for replicated servers using the same DNS name and reduces the
+ likelihood of a user's experiencing failure in accessing sites which
+ use that strategy.
+
+15.4 Location Headers and Spoofing
+
+ If a single server supports multiple organizations that do not trust
+ one another, then it MUST check the values of Location and Content-
+ Location headers in responses that are generated under control of
+ said organizations to make sure that they do not attempt to
+ invalidate resources over which they have no authority.
+
+15.5 Content-Disposition Issues
+
+ <a href="http://firefly.troll.no/rfcs/rfc1806.html">RFC 1806</a> [35], from which the often implemented Content-Disposition
+ (see section 19.5.1) header in HTTP is derived, has a number of very
+ serious security considerations. Content-Disposition is not part of
+ the HTTP standard, but since it is widely implemented, we are
+ documenting its use and risks for implementors. See <a href="http://firefly.troll.no/rfcs/rfc2183.html">RFC 2183</a> [49]
+ (which updates <a href="http://firefly.troll.no/rfcs/rfc1806.html">RFC 1806</a>) for details.
+
+15.6 Authentication Credentials and Idle Clients
+
+ Existing HTTP clients and user agents typically retain authentication
+ information indefinitely. HTTP/1.1. does not provide a method for a
+ server to direct clients to discard these cached credentials. This is
+ a significant defect that requires further extensions to HTTP.
+ Circumstances under which credential caching can interfere with the
+ application's security model include but are not limited to:
+
+ - Clients which have been idle for an extended period following
+ which the server might wish to cause the client to reprompt the
+ user for credentials.
+
+ - Applications which include a session termination indication
+ (such as a `logout' or `commit' button on a page) after which
+ the server side of the application `knows' that there is no
+ further reason for the client to retain the credentials.
+
+ This is currently under separate study. There are a number of work-
+ arounds to parts of this problem, and we encourage the use of
+ password protection in screen savers, idle time-outs, and other
+ methods which mitigate the security problems inherent in this
+ problem. In particular, user agents which cache credentials are
+ encouraged to provide a readily accessible mechanism for discarding
+ cached credentials under user control.
+
+15.7 Proxies and Caching
+
+ By their very nature, HTTP proxies are men-in-the-middle, and
+ represent an opportunity for man-in-the-middle attacks. Compromise of
+ the systems on which the proxies run can result in serious security
+ and privacy problems. Proxies have access to security-related
+ information, personal information about individual users and
+ organizations, and proprietary information belonging to users and
+ content providers. A compromised proxy, or a proxy implemented or
+ configured without regard to security and privacy considerations,
+ might be used in the commission of a wide range of potential attacks.
+
+ Proxy operators should protect the systems on which proxies run as
+ they would protect any system that contains or transports sensitive
+ information. In particular, log information gathered at proxies often
+ contains highly sensitive personal information, and/or information
+ about organizations. Log information should be carefully guarded, and
+ appropriate guidelines for use developed and followed. (Section
+ 15.1.1).
+
+ Caching proxies provide additional potential vulnerabilities, since
+ the contents of the cache represent an attractive target for
+ malicious exploitation. Because cache contents persist after an HTTP
+ request is complete, an attack on the cache can reveal information
+ long after a user believes that the information has been removed from
+ the network. Therefore, cache contents should be protected as
+ sensitive information.
+
+ Proxy implementors should consider the privacy and security
+ implications of their design and coding decisions, and of the
+ configuration options they provide to proxy operators (especially the
+ default configuration).
+
+ Users of a proxy need to be aware that they are no trustworthier than
+ the people who run the proxy; HTTP itself cannot solve this problem.
+
+ The judicious use of cryptography, when appropriate, may suffice to
+ protect against a broad range of security and privacy attacks. Such
+ cryptography is beyond the scope of the HTTP/1.1 specification.
+
+15.7.1 Denial of Service Attacks on Proxies
+
+ They exist. They are hard to defend against. Research continues.
+ Beware.
+
+16 Acknowledgments
+
+ This specification makes heavy use of the augmented BNF and generic
+ constructs defined by David H. Crocker for <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a> [9]. Similarly, it
+ reuses many of the definitions provided by Nathaniel Borenstein and
+ Ned Freed for MIME [7]. We hope that their inclusion in this
+ specification will help reduce past confusion over the relationship
+ between HTTP and Internet mail message formats.
+
+ The HTTP protocol has evolved considerably over the years. It has
+ benefited from a large and active developer community--the many
+ people who have participated on the www-talk mailing list--and it is
+ that community which has been most responsible for the success of
+ HTTP and of the World-Wide Web in general. Marc Andreessen, Robert
+ Cailliau, Daniel W. Connolly, Bob Denny, John Franks, Jean-Francois
+ Groff, Phillip M. Hallam-Baker, Hakon W. Lie, Ari Luotonen, Rob
+ McCool, Lou Montulli, Dave Raggett, Tony Sanders, and Marc
+ VanHeyningen deserve special recognition for their efforts in
+ defining early aspects of the protocol.
+
+ This document has benefited greatly from the comments of all those
+ participating in the HTTP-WG. In addition to those already mentioned,
+ the following individuals have contributed to this specification:
+
+ Gary Adams Ross Patterson
+ Harald Tveit Alvestrand Albert Lunde
+ Keith Ball John C. Mallery
+ Brian Behlendorf Jean-Philippe Martin-Flatin
+ Paul Burchard Mitra
+ Maurizio Codogno David Morris
+ Mike Cowlishaw Gavin Nicol
+ Roman Czyborra Bill Perry
+ Michael A. Dolan Jeffrey Perry
+ David J. Fiander Scott Powers
+ Alan Freier Owen Rees
+ Marc Hedlund Luigi Rizzo
+ Greg Herlihy David Robinson
+ Koen Holtman Marc Salomon
+ Alex Hopmann Rich Salz
+ Bob Jernigan Allan M. Schiffman
+ Shel Kaphan Jim Seidman
+ Rohit Khare Chuck Shotton
+ John Klensin Eric W. Sink
+ Martijn Koster Simon E. Spero
+ Alexei Kosut Richard N. Taylor
+ David M. Kristol Robert S. Thau
+ Daniel LaLiberte Bill (BearHeart) Weinman
+ Ben Laurie Francois Yergeau
+ Paul J. Leach Mary Ellen Zurko
+ Daniel DuBois Josh Cohen
+
+ Much of the content and presentation of the caching design is due to
+ suggestions and comments from individuals including: Shel Kaphan,
+ Paul Leach, Koen Holtman, David Morris, and Larry Masinter.
+
+ Most of the specification of ranges is based on work originally done
+ by Ari Luotonen and John Franks, with additional input from Steve
+ Zilles.
+
+ Thanks to the "cave men" of Palo Alto. You know who you are.
+
+ Jim Gettys (the current editor of this document) wishes particularly
+ to thank Roy Fielding, the previous editor of this document, along
+ with John Klensin, Jeff Mogul, Paul Leach, Dave Kristol, Koen
+ Holtman, John Franks, Josh Cohen, Alex Hopmann, Scott Lawrence, and
+ Larry Masinter for their help. And thanks go particularly to Jeff
+ Mogul and Scott Lawrence for performing the "MUST/MAY/SHOULD" audit.
+
+ The Apache Group, Anselm Baird-Smith, author of Jigsaw, and Henrik
+ Frystyk implemented <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> early, and we wish to thank them for the
+ discovery of many of the problems that this document attempts to
+ rectify.
+
+17 References
+
+ [1] Alvestrand, H., "Tags for the Identification of Languages", RFC
+ 1766, March 1995.
+
+ [2] Anklesaria, F., McCahill, M., Lindner, P., Johnson, D., Torrey,
+ D. and B. Alberti, "The Internet Gopher Protocol (a distributed
+ document search and retrieval protocol)", <a href="http://firefly.troll.no/rfcs/rfc1436.html">RFC 1436</a>, March 1993.
+
+ [3] Berners-Lee, T., "Universal Resource Identifiers in WWW", RFC
+ 1630, June 1994.
+
+ [4] Berners-Lee, T., Masinter, L. and M. McCahill, "Uniform Resource
+ Locators (URL)", <a href="http://firefly.troll.no/rfcs/rfc1738.html">RFC 1738</a>, December 1994.
+
+ [5] Berners-Lee, T. and D. Connolly, "Hypertext Markup Language -
+ 2.0", <a href="http://firefly.troll.no/rfcs/rfc1866.html">RFC 1866</a>, November 1995.
+
+ [6] Berners-Lee, T., Fielding, R. and H. Frystyk, "Hypertext Transfer
+ Protocol -- HTTP/1.0", <a href="http://firefly.troll.no/rfcs/rfc1945.html">RFC 1945</a>, May 1996.
+
+ [7] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message Bodies",
+ <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a>, November 1996.
+
+ [8] Braden, R., "Requirements for Internet Hosts -- Communication
+ Layers", STD 3, <a href="http://firefly.troll.no/rfcs/rfc1123.html">RFC 1123</a>, October 1989.
+
+ [9] Crocker, D., "Standard for The Format of ARPA Internet Text
+ Messages", STD 11, <a href="http://firefly.troll.no/rfcs/rfc822.html">RFC 822</a>, August 1982.
+
+ [10] Davis, F., Kahle, B., Morris, H., Salem, J., Shen, T., Wang, R.,
+ Sui, J., and M. Grinbaum, "WAIS Interface Protocol Prototype
+ Functional Specification," (v1.5), Thinking Machines
+ Corporation, April 1990.
+
+ [11] Fielding, R., "Relative Uniform Resource Locators", <a href="http://firefly.troll.no/rfcs/rfc1808.html">RFC 1808</a>,
+ June 1995.
+
+ [12] Horton, M. and R. Adams, "Standard for Interchange of USENET
+ Messages", <a href="http://firefly.troll.no/rfcs/rfc1036.html">RFC 1036</a>, December 1987.
+
+ [13] Kantor, B. and P. Lapsley, "Network News Transfer Protocol", RFC
+ 977, February 1986.
+
+ [14] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part
+ Three: Message Header Extensions for Non-ASCII Text", <a href="http://firefly.troll.no/rfcs/rfc2047.html">RFC 2047</a>,
+ November 1996.
+
+ [15] Nebel, E. and L. Masinter, "Form-based File Upload in HTML", RFC
+ 1867, November 1995.
+
+ [16] Postel, J., "Simple Mail Transfer Protocol", STD 10, <a href="http://firefly.troll.no/rfcs/rfc821.html">RFC 821</a>,
+ August 1982.
+
+ [17] Postel, J., "Media Type Registration Procedure", <a href="http://firefly.troll.no/rfcs/rfc1590.html">RFC 1590</a>,
+ November 1996.
+
+ [18] Postel, J. and J. Reynolds, "File Transfer Protocol", STD 9, RFC
+ 959, October 1985.
+
+ [19] Reynolds, J. and J. Postel, "Assigned Numbers", STD 2, <a href="http://firefly.troll.no/rfcs/rfc1700.html">RFC 1700</a>,
+ October 1994.
+
+ [20] Sollins, K. and L. Masinter, "Functional Requirements for
+ Uniform Resource Names", <a href="http://firefly.troll.no/rfcs/rfc1737.html">RFC 1737</a>, December 1994.
+
+ [21] US-ASCII. Coded Character Set - 7-Bit American Standard Code for
+ Information Interchange. Standard ANSI X3.4-1986, ANSI, 1986.
+
+ [22] ISO-8859. International Standard -- Information Processing --
+ 8-bit Single-Byte Coded Graphic Character Sets --
+ Part 1: Latin alphabet No. 1, ISO-8859-1:1987.
+ Part 2: Latin alphabet No. 2, ISO-8859-2, 1987.
+ Part 3: Latin alphabet No. 3, ISO-8859-3, 1988.
+ Part 4: Latin alphabet No. 4, ISO-8859-4, 1988.
+ Part 5: Latin/Cyrillic alphabet, ISO-8859-5, 1988.
+ Part 6: Latin/Arabic alphabet, ISO-8859-6, 1987.
+ Part 7: Latin/Greek alphabet, ISO-8859-7, 1987.
+ Part 8: Latin/Hebrew alphabet, ISO-8859-8, 1988.
+ Part 9: Latin alphabet No. 5, ISO-8859-9, 1990.
+
+ [23] Meyers, J. and M. Rose, "The Content-MD5 Header Field", RFC
+ 1864, October 1995.
+
+ [24] Carpenter, B. and Y. Rekhter, "Renumbering Needs Work", RFC
+ 1900, February 1996.
+
+ [25] Deutsch, P., "GZIP file format specification version 4.3", RFC
+ 1952, May 1996.
+
+ [26] Venkata N. Padmanabhan, and Jeffrey C. Mogul. "Improving HTTP
+ Latency", Computer Networks and ISDN Systems, v. 28, pp. 25-35,
+ Dec. 1995. Slightly revised version of paper in Proc. 2nd
+ International WWW Conference '94: Mosaic and the Web, Oct. 1994,
+ which is available at
+ <a href="http://www.ncsa.uiuc.edu/SDG/IT94/Proceedings/DDay/mogul/HTTPLat">http://www.ncsa.uiuc.edu/SDG/IT94/Proceedings/DDay/mogul/HTTPLat</a>
+ ency.html.
+
+ [27] Joe Touch, John Heidemann, and Katia Obraczka. "Analysis of HTTP
+ Performance", &lt;URL: <a href="http://www.isi.edu/touch/pubs/http-perf96/">http://www.isi.edu/touch/pubs/http-perf96/</a>&gt;,
+ ISI Research Report ISI/RR-98-463, (original report dated Aug.
+ 1996), USC/Information Sciences Institute, August 1998.
+
+ [28] Mills, D., "Network Time Protocol (Version 3) Specification,
+ Implementation and Analysis", <a href="http://firefly.troll.no/rfcs/rfc1305.html">RFC 1305</a>, March 1992.
+
+ [29] Deutsch, P., "DEFLATE Compressed Data Format Specification
+ version 1.3", <a href="http://firefly.troll.no/rfcs/rfc1951.html">RFC 1951</a>, May 1996.
+
+ [30] S. Spero, "Analysis of HTTP Performance Problems,"
+ <a href="http://sunsite.unc.edu/mdma-release/http-prob.html">http://sunsite.unc.edu/mdma-release/http-prob.html</a>.
+
+ [31] Deutsch, P. and J. Gailly, "ZLIB Compressed Data Format
+ Specification version 3.3", <a href="http://firefly.troll.no/rfcs/rfc1950.html">RFC 1950</a>, May 1996.
+
+ [32] Franks, J., Hallam-Baker, P., Hostetler, J., Leach, P.,
+ Luotonen, A., Sink, E. and L. Stewart, "An Extension to HTTP:
+ Digest Access Authentication", <a href="http://firefly.troll.no/rfcs/rfc2069.html">RFC 2069</a>, January 1997.
+
+ [33] Fielding, R., Gettys, J., Mogul, J., Frystyk, H. and T.
+ Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC
+ 2068, January 1997.
+
+ [34] Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, <a href="http://firefly.troll.no/rfcs/rfc2119.html">RFC 2119</a>, March 1997.
+
+ [35] Troost, R. and Dorner, S., "Communicating Presentation
+ Information in Internet Messages: The Content-Disposition
+ Header", <a href="http://firefly.troll.no/rfcs/rfc1806.html">RFC 1806</a>, June 1995.
+
+ [36] Mogul, J., Fielding, R., Gettys, J. and H. Frystyk, "Use and
+ Interpretation of HTTP Version Numbers", <a href="http://firefly.troll.no/rfcs/rfc2145.html">RFC 2145</a>, May 1997.
+ [jg639]
+
+ [37] Palme, J., "Common Internet Message Headers", <a href="http://firefly.troll.no/rfcs/rfc2076.html">RFC 2076</a>, February
+ 1997. [jg640]
+
+ [38] Yergeau, F., "UTF-8, a transformation format of Unicode and
+ ISO-10646", <a href="http://firefly.troll.no/rfcs/rfc2279.html">RFC 2279</a>, January 1998. [jg641]
+
+ [39] Nielsen, H.F., Gettys, J., Baird-Smith, A., Prud'hommeaux, E.,
+ Lie, H., and C. Lilley. "Network Performance Effects of
+ HTTP/1.1, CSS1, and PNG," Proceedings of ACM SIGCOMM '97, Cannes
+ France, September 1997.[jg642]
+
+ [40] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", <a href="http://firefly.troll.no/rfcs/rfc2046.html">RFC 2046</a>, November
+ 1996. [jg643]
+
+ [41] Alvestrand, H., "IETF Policy on Character Sets and Languages",
+ BCP 18, <a href="http://firefly.troll.no/rfcs/rfc2277.html">RFC 2277</a>, January 1998. [jg644]
+
+ [42] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource
+ Identifiers (URI): Generic Syntax and Semantics", <a href="http://firefly.troll.no/rfcs/rfc2396.html">RFC 2396</a>,
+ August 1998. [jg645]
+
+ [43] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S.,
+ Leach, P., Luotonen, A., Sink, E. and L. Stewart, "HTTP
+ Authentication: Basic and Digest Access Authentication", RFC
+ 2617, June 1999. [jg646]
+
+ [44] Luotonen, A., "Tunneling TCP based protocols through Web proxy
+ servers," Work in Progress. [jg647]
+
+ [45] Palme, J. and A. Hopmann, "MIME E-mail Encapsulation of
+ Aggregate Documents, such as HTML (MHTML)", <a href="http://firefly.troll.no/rfcs/rfc2110.html">RFC 2110</a>, March
+ 1997.
+
+ [46] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
+ 9, <a href="http://firefly.troll.no/rfcs/rfc2026.html">RFC 2026</a>, October 1996.
+
+ [47] Masinter, L., "Hyper Text Coffee Pot Control Protocol
+ (HTCPCP/1.0)", <a href="http://firefly.troll.no/rfcs/rfc2324.html">RFC 2324</a>, 1 April 1998.
+
+ [48] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Five: Conformance Criteria and Examples",
+ <a href="http://firefly.troll.no/rfcs/rfc2049.html">RFC 2049</a>, November 1996.
+
+ [49] Troost, R., Dorner, S. and K. Moore, "Communicating Presentation
+ Information in Internet Messages: The Content-Disposition Header
+ Field", <a href="http://firefly.troll.no/rfcs/rfc2183.html">RFC 2183</a>, August 1997.
+
+18 Authors' Addresses
+
+ Roy T. Fielding
+ Information and Computer Science
+ University of California, Irvine
+ Irvine, CA 92697-3425, USA
+
+ Fax: +1 (949) 824-1715
+ EMail: <a href="mailto:fielding@ics.uci.edu">fielding@ics.uci.edu</a>
+
+ James Gettys
+ World Wide Web Consortium
+ MIT Laboratory for Computer Science
+ 545 Technology Square
+ Cambridge, MA 02139, USA
+
+ Fax: +1 (617) 258 8682
+ EMail: <a href="mailto:jg@w3.org">jg@w3.org</a>
+
+ Jeffrey C. Mogul
+ Western Research Laboratory
+ Compaq Computer Corporation
+ 250 University Avenue
+ Palo Alto, California, 94305, USA
+
+ EMail: <a href="mailto:mogul@wrl.dec.com">mogul@wrl.dec.com</a>
+
+ Henrik Frystyk Nielsen
+ World Wide Web Consortium
+ MIT Laboratory for Computer Science
+ 545 Technology Square
+ Cambridge, MA 02139, USA
+
+ Fax: +1 (617) 258 8682
+ EMail: <a href="mailto:frystyk@w3.org">frystyk@w3.org</a>
+
+ Larry Masinter
+ Xerox Corporation
+ 3333 Coyote Hill Road
+ Palo Alto, CA 94034, USA
+
+ EMail: <a href="mailto:masinter@parc.xerox.com">masinter@parc.xerox.com</a>
+
+ Paul J. Leach
+ Microsoft Corporation
+ 1 Microsoft Way
+ Redmond, WA 98052, USA
+
+ EMail: <a href="mailto:paulle@microsoft.com">paulle@microsoft.com</a>
+
+ Tim Berners-Lee
+ Director, World Wide Web Consortium
+ MIT Laboratory for Computer Science
+ 545 Technology Square
+ Cambridge, MA 02139, USA
+
+ Fax: +1 (617) 258 8682
+ EMail: <a href="mailto:timbl@w3.org">timbl@w3.org</a>
+
+19 Appendices
+
+19.1 Internet Media Type message/http and application/http
+
+ In addition to defining the HTTP/1.1 protocol, this document serves
+ as the specification for the Internet media type "message/http" and
+ "application/http". The message/http type can be used to enclose a
+ single HTTP request or response message, provided that it obeys the
+ MIME restrictions for all "message" types regarding line length and
+ encodings. The application/http type can be used to enclose a
+ pipeline of one or more HTTP request or response messages (not
+ intermixed). The following is to be registered with IANA [17].
+
+ Media Type name: message
+ Media subtype name: http
+ Required parameters: none
+ Optional parameters: version, msgtype
+ version: The HTTP-Version number of the enclosed message
+ (e.g., "1.1"). If not present, the version can be
+ determined from the first line of the body.
+ msgtype: The message type -- "request" or "response". If not
+ present, the type can be determined from the first
+ line of the body.
+ Encoding considerations: only "7bit", "8bit", or "binary" are
+ permitted
+ Security considerations: none
+
+ Media Type name: application
+ Media subtype name: http
+ Required parameters: none
+ Optional parameters: version, msgtype
+ version: The HTTP-Version number of the enclosed messages
+ (e.g., "1.1"). If not present, the version can be
+ determined from the first line of the body.
+ msgtype: The message type -- "request" or "response". If not
+ present, the type can be determined from the first
+ line of the body.
+ Encoding considerations: HTTP messages enclosed by this type
+ are in "binary" format; use of an appropriate
+ Content-Transfer-Encoding is required when
+ transmitted via E-mail.
+ Security considerations: none
+
+19.2 Internet Media Type multipart/byteranges
+
+ When an HTTP 206 (Partial Content) response message includes the
+ content of multiple ranges (a response to a request for multiple
+ non-overlapping ranges), these are transmitted as a multipart
+ message-body. The media type for this purpose is called
+ "multipart/byteranges".
+
+ The multipart/byteranges media type includes two or more parts, each
+ with its own Content-Type and Content-Range fields. The required
+ boundary parameter specifies the boundary string used to separate
+ each body-part.
+
+ Media Type name: multipart
+ Media subtype name: byteranges
+ Required parameters: boundary
+ Optional parameters: none
+ Encoding considerations: only "7bit", "8bit", or "binary" are
+ permitted
+ Security considerations: none
+
+ For example:
+
+ HTTP/1.1 206 Partial Content
+ Date: Wed, 15 Nov 1995 06:25:24 GMT
+ Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
+ Content-type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
+
+ --THIS_STRING_SEPARATES
+ Content-type: application/pdf
+ Content-range: bytes 500-999/8000
+
+ ...the first range...
+ --THIS_STRING_SEPARATES
+ Content-type: application/pdf
+ Content-range: bytes 7000-7999/8000
+
+ ...the second range
+ --THIS_STRING_SEPARATES--
+
+ Notes:
+
+ 1) Additional CRLFs may precede the first boundary string in the
+ entity.
+
+ 2) Although <a href="http://firefly.troll.no/rfcs/rfc2046.html">RFC 2046</a> [40] permits the boundary string to be
+ quoted, some existing implementations handle a quoted boundary
+ string incorrectly.
+
+ 3) A number of browsers and servers were coded to an early draft
+ of the byteranges specification to use a media type of
+ multipart/x-byteranges, which is almost, but not quite
+ compatible with the version documented in HTTP/1.1.
+
+19.3 Tolerant Applications
+
+ Although this document specifies the requirements for the generation
+ of HTTP/1.1 messages, not all applications will be correct in their
+ implementation. We therefore recommend that operational applications
+ be tolerant of deviations whenever those deviations can be
+ interpreted unambiguously.
+
+ Clients SHOULD be tolerant in parsing the Status-Line and servers
+ tolerant when parsing the Request-Line. In particular, they SHOULD
+ accept any amount of SP or HT characters between fields, even though
+ only a single SP is required.
+
+ The line terminator for message-header fields is the sequence CRLF.
+ However, we recommend that applications, when parsing such headers,
+ recognize a single LF as a line terminator and ignore the leading CR.
+
+ The character set of an entity-body SHOULD be labeled as the lowest
+ common denominator of the character codes used within that body, with
+ the exception that not labeling the entity is preferred over labeling
+ the entity with the labels US-ASCII or ISO-8859-1. See section 3.7.1
+ and 3.4.1.
+
+ Additional rules for requirements on parsing and encoding of dates
+ and other potential problems with date encodings include:
+
+ - HTTP/1.1 clients and caches SHOULD assume that an <a href="http://firefly.troll.no/rfcs/rfc850.html">RFC-850</a> date
+ which appears to be more than 50 years in the future is in fact
+ in the past (this helps solve the "year 2000" problem).
+
+ - An HTTP/1.1 implementation MAY internally represent a parsed
+ Expires date as earlier than the proper value, but MUST NOT
+ internally represent a parsed Expires date as later than the
+ proper value.
+
+ - All expiration-related calculations MUST be done in GMT. The
+ local time zone MUST NOT influence the calculation or comparison
+ of an age or expiration time.
+
+ - If an HTTP header incorrectly carries a date value with a time
+ zone other than GMT, it MUST be converted into GMT using the
+ most conservative possible conversion.
+
+19.4 Differences Between HTTP Entities and <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a> Entities
+
+ HTTP/1.1 uses many of the constructs defined for Internet Mail (RFC
+ 822 [9]) and the Multipurpose Internet Mail Extensions (MIME [7]) to
+ allow entities to be transmitted in an open variety of
+ representations and with extensible mechanisms. However, <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a>
+ discusses mail, and HTTP has a few features that are different from
+ those described in <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a>. These differences were carefully chosen
+ to optimize performance over binary connections, to allow greater
+ freedom in the use of new media types, to make date comparisons
+ easier, and to acknowledge the practice of some early HTTP servers
+ and clients.
+
+ This appendix describes specific areas where HTTP differs from RFC
+ 2045. Proxies and gateways to strict MIME environments SHOULD be
+ aware of these differences and provide the appropriate conversions
+ where necessary. Proxies and gateways from MIME environments to HTTP
+ also need to be aware of the differences because some conversions
+ might be required.
+
+19.4.1 MIME-Version
+
+ HTTP is not a MIME-compliant protocol. However, HTTP/1.1 messages MAY
+ include a single MIME-Version general-header field to indicate what
+ version of the MIME protocol was used to construct the message. Use
+ of the MIME-Version header field indicates that the message is in
+ full compliance with the MIME protocol (as defined in <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a>[7]).
+ Proxies/gateways are responsible for ensuring full compliance (where
+ possible) when exporting HTTP messages to strict MIME environments.
+
+ MIME-Version = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
+
+ MIME version "1.0" is the default for use in HTTP/1.1. However,
+ HTTP/1.1 message parsing and semantics are defined by this document
+ and not the MIME specification.
+
+19.4.2 Conversion to Canonical Form
+
+ <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a> [7] requires that an Internet mail entity be converted to
+ canonical form prior to being transferred, as described in section 4
+ of <a href="http://firefly.troll.no/rfcs/rfc2049.html">RFC 2049</a> [48]. Section 3.7.1 of this document describes the forms
+ allowed for subtypes of the "text" media type when transmitted over
+ HTTP. <a href="http://firefly.troll.no/rfcs/rfc2046.html">RFC 2046</a> requires that content with a type of "text" represent
+ line breaks as CRLF and forbids the use of CR or LF outside of line
+
+ break sequences. HTTP allows CRLF, bare CR, and bare LF to indicate a
+ line break within text content when a message is transmitted over
+ HTTP.
+
+ Where it is possible, a proxy or gateway from HTTP to a strict MIME
+ environment SHOULD translate all line breaks within the text media
+ types described in section 3.7.1 of this document to the <a href="http://firefly.troll.no/rfcs/rfc2049.html">RFC 2049</a>
+ canonical form of CRLF. Note, however, that this might be complicated
+ by the presence of a Content-Encoding and by the fact that HTTP
+ allows the use of some character sets which do not use octets 13 and
+ 10 to represent CR and LF, as is the case for some multi-byte
+ character sets.
+
+ Implementors should note that conversion will break any cryptographic
+ checksums applied to the original content unless the original content
+ is already in canonical form. Therefore, the canonical form is
+ recommended for any content that uses such checksums in HTTP.
+
+19.4.3 Conversion of Date Formats
+
+ HTTP/1.1 uses a restricted set of date formats (section 3.3.1) to
+ simplify the process of date comparison. Proxies and gateways from
+ other protocols SHOULD ensure that any Date header field present in a
+ message conforms to one of the HTTP/1.1 formats and rewrite the date
+ if necessary.
+
+19.4.4 Introduction of Content-Encoding
+
+ <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a> does not include any concept equivalent to HTTP/1.1's
+ Content-Encoding header field. Since this acts as a modifier on the
+ media type, proxies and gateways from HTTP to MIME-compliant
+ protocols MUST either change the value of the Content-Type header
+ field or decode the entity-body before forwarding the message. (Some
+ experimental applications of Content-Type for Internet mail have used
+ a media-type parameter of ";conversions=&lt;content-coding&gt;" to perform
+ a function equivalent to Content-Encoding. However, this parameter is
+ not part of <a href="http://firefly.troll.no/rfcs/rfc2045.html">RFC 2045</a>.)
+
+19.4.5 No Content-Transfer-Encoding
+
+ HTTP does not use the Content-Transfer-Encoding (CTE) field of RFC
+ 2045. Proxies and gateways from MIME-compliant protocols to HTTP MUST
+ remove any non-identity CTE ("quoted-printable" or "base64") encoding
+ prior to delivering the response message to an HTTP client.
+
+ Proxies and gateways from HTTP to MIME-compliant protocols are
+ responsible for ensuring that the message is in the correct format
+ and encoding for safe transport on that protocol, where "safe
+
+ transport" is defined by the limitations of the protocol being used.
+ Such a proxy or gateway SHOULD label the data with an appropriate
+ Content-Transfer-Encoding if doing so will improve the likelihood of
+ safe transport over the destination protocol.
+
+19.4.6 Introduction of Transfer-Encoding
+
+ HTTP/1.1 introduces the Transfer-Encoding header field (section
+ 14.41). Proxies/gateways MUST remove any transfer-coding prior to
+ forwarding a message via a MIME-compliant protocol.
+
+ A process for decoding the "chunked" transfer-coding (section 3.6)
+ can be represented in pseudo-code as:
+
+ length := 0
+ read chunk-size, chunk-extension (if any) and CRLF
+ while (chunk-size &gt; 0) {
+ read chunk-data and CRLF
+ append chunk-data to entity-body
+ length := length + chunk-size
+ read chunk-size and CRLF
+ }
+ read entity-header
+ while (entity-header not empty) {
+ append entity-header to existing header fields
+ read entity-header
+ }
+ Content-Length := length
+ Remove "chunked" from Transfer-Encoding
+
+19.4.7 MHTML and Line Length Limitations
+
+ HTTP implementations which share code with MHTML [45] implementations
+ need to be aware of MIME line length limitations. Since HTTP does not
+ have this limitation, HTTP does not fold long lines. MHTML messages
+ being transported by HTTP follow all conventions of MHTML, including
+ line length limitations and folding, canonicalization, etc., since
+ HTTP transports all message-bodies as payload (see section 3.7.2) and
+ does not interpret the content or any MIME header lines that might be
+ contained therein.
+
+19.5 Additional Features
+
+ <a href="http://firefly.troll.no/rfcs/rfc1945.html">RFC 1945</a> and <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> document protocol elements used by some
+ existing HTTP implementations, but not consistently and correctly
+ across most HTTP/1.1 applications. Implementors are advised to be
+ aware of these features, but cannot rely upon their presence in, or
+ interoperability with, other HTTP/1.1 applications. Some of these
+
+ describe proposed experimental features, and some describe features
+ that experimental deployment found lacking that are now addressed in
+ the base HTTP/1.1 specification.
+
+ A number of other headers, such as Content-Disposition and Title,
+ from SMTP and MIME are also often implemented (see <a href="http://firefly.troll.no/rfcs/rfc2076.html">RFC 2076</a> [37]).
+
+19.5.1 Content-Disposition
+
+ The Content-Disposition response-header field has been proposed as a
+ means for the origin server to suggest a default filename if the user
+ requests that the content is saved to a file. This usage is derived
+ from the definition of Content-Disposition in <a href="http://firefly.troll.no/rfcs/rfc1806.html">RFC 1806</a> [35].
+
+ content-disposition = "Content-Disposition" ":"
+ disposition-type *( ";" disposition-parm )
+ disposition-type = "attachment" | disp-extension-token
+ disposition-parm = filename-parm | disp-extension-parm
+ filename-parm = "filename" "=" quoted-string
+ disp-extension-token = token
+ disp-extension-parm = token "=" ( token | quoted-string )
+
+ An example is
+
+ Content-Disposition: attachment; filename="fname.ext"
+
+ The receiving user agent SHOULD NOT respect any directory path
+ information present in the filename-parm parameter, which is the only
+ parameter believed to apply to HTTP implementations at this time. The
+ filename SHOULD be treated as a terminal component only.
+
+ If this header is used in a response with the application/octet-
+ stream content-type, the implied suggestion is that the user agent
+ should not display the response, but directly enter a `save response
+ as...' dialog.
+
+ See section 15.5 for Content-Disposition security issues.
+
+19.6 Compatibility with Previous Versions
+
+ It is beyond the scope of a protocol specification to mandate
+ compliance with previous versions. HTTP/1.1 was deliberately
+ designed, however, to make supporting previous versions easy. It is
+ worth noting that, at the time of composing this specification
+ (1996), we would expect commercial HTTP/1.1 servers to:
+
+ - recognize the format of the Request-Line for HTTP/0.9, 1.0, and
+ 1.1 requests;
+
+ - understand any valid request in the format of HTTP/0.9, 1.0, or
+ 1.1;
+
+ - respond appropriately with a message in the same major version
+ used by the client.
+
+ And we would expect HTTP/1.1 clients to:
+
+ - recognize the format of the Status-Line for HTTP/1.0 and 1.1
+ responses;
+
+ - understand any valid response in the format of HTTP/0.9, 1.0, or
+ 1.1.
+
+ For most implementations of HTTP/1.0, each connection is established
+ by the client prior to the request and closed by the server after
+ sending the response. Some implementations implement the Keep-Alive
+ version of persistent connections described in section 19.7.1 of RFC
+ 2068 [33].
+
+19.6.1 Changes from HTTP/1.0
+
+ This section summarizes major differences between versions HTTP/1.0
+ and HTTP/1.1.
+
+19.6.1.1 Changes to Simplify Multi-homed Web Servers and Conserve IP
+ Addresses
+
+ The requirements that clients and servers support the Host request-
+ header, report an error if the Host request-header (section 14.23) is
+ missing from an HTTP/1.1 request, and accept absolute URIs (section
+ 5.1.2) are among the most important changes defined by this
+ specification.
+
+ Older HTTP/1.0 clients assumed a one-to-one relationship of IP
+ addresses and servers; there was no other established mechanism for
+ distinguishing the intended server of a request than the IP address
+ to which that request was directed. The changes outlined above will
+ allow the Internet, once older HTTP clients are no longer common, to
+ support multiple Web sites from a single IP address, greatly
+ simplifying large operational Web servers, where allocation of many
+ IP addresses to a single host has created serious problems. The
+ Internet will also be able to recover the IP addresses that have been
+ allocated for the sole purpose of allowing special-purpose domain
+ names to be used in root-level HTTP URLs. Given the rate of growth of
+ the Web, and the number of servers already deployed, it is extremely
+
+ important that all implementations of HTTP (including updates to
+ existing HTTP/1.0 applications) correctly implement these
+ requirements:
+
+ - Both clients and servers MUST support the Host request-header.
+
+ - A client that sends an HTTP/1.1 request MUST send a Host header.
+
+ - Servers MUST report a 400 (Bad Request) error if an HTTP/1.1
+ request does not include a Host request-header.
+
+ - Servers MUST accept absolute URIs.
+
+19.6.2 Compatibility with HTTP/1.0 Persistent Connections
+
+ Some clients and servers might wish to be compatible with some
+ previous implementations of persistent connections in HTTP/1.0
+ clients and servers. Persistent connections in HTTP/1.0 are
+ explicitly negotiated as they are not the default behavior. HTTP/1.0
+ experimental implementations of persistent connections are faulty,
+ and the new facilities in HTTP/1.1 are designed to rectify these
+ problems. The problem was that some existing 1.0 clients may be
+ sending Keep-Alive to a proxy server that doesn't understand
+ Connection, which would then erroneously forward it to the next
+ inbound server, which would establish the Keep-Alive connection and
+ result in a hung HTTP/1.0 proxy waiting for the close on the
+ response. The result is that HTTP/1.0 clients must be prevented from
+ using Keep-Alive when talking to proxies.
+
+ However, talking to proxies is the most important use of persistent
+ connections, so that prohibition is clearly unacceptable. Therefore,
+ we need some other mechanism for indicating a persistent connection
+ is desired, which is safe to use even when talking to an old proxy
+ that ignores Connection. Persistent connections are the default for
+ HTTP/1.1 messages; we introduce a new keyword (Connection: close) for
+ declaring non-persistence. See section 14.10.
+
+ The original HTTP/1.0 form of persistent connections (the Connection:
+ Keep-Alive and Keep-Alive header) is documented in <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a>. [33]
+
+19.6.3 Changes from <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a>
+
+ This specification has been carefully audited to correct and
+ disambiguate key word usage; <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> had many problems in respect to
+ the conventions laid out in <a href="http://firefly.troll.no/rfcs/rfc2119.html">RFC 2119</a> [34].
+
+ Clarified which error code should be used for inbound server failures
+ (e.g. DNS failures). (Section 10.5.5).
+
+ CREATE had a race that required an Etag be sent when a resource is
+ first created. (Section 10.2.2).
+
+ Content-Base was deleted from the specification: it was not
+ implemented widely, and there is no simple, safe way to introduce it
+ without a robust extension mechanism. In addition, it is used in a
+ similar, but not identical fashion in MHTML [45].
+
+ Transfer-coding and message lengths all interact in ways that
+ required fixing exactly when chunked encoding is used (to allow for
+ transfer encoding that may not be self delimiting); it was important
+ to straighten out exactly how message lengths are computed. (Sections
+ 3.6, 4.4, 7.2.2, 13.5.2, 14.13, 14.16)
+
+ A content-coding of "identity" was introduced, to solve problems
+ discovered in caching. (section 3.5)
+
+ Quality Values of zero should indicate that "I don't want something"
+ to allow clients to refuse a representation. (Section 3.9)
+
+ The use and interpretation of HTTP version numbers has been clarified
+ by <a href="http://firefly.troll.no/rfcs/rfc2145.html">RFC 2145</a>. Require proxies to upgrade requests to highest protocol
+ version they support to deal with problems discovered in HTTP/1.0
+ implementations (Section 3.1)
+
+ Charset wildcarding is introduced to avoid explosion of character set
+ names in accept headers. (Section 14.2)
+
+ A case was missed in the Cache-Control model of HTTP/1.1; s-maxage
+ was introduced to add this missing case. (Sections 13.4, 14.8, 14.9,
+ 14.9.3)
+
+ The Cache-Control: max-age directive was not properly defined for
+ responses. (Section 14.9.3)
+
+ There are situations where a server (especially a proxy) does not
+ know the full length of a response but is capable of serving a
+ byterange request. We therefore need a mechanism to allow byteranges
+ with a content-range not indicating the full length of the message.
+ (Section 14.16)
+
+ Range request responses would become very verbose if all meta-data
+ were always returned; by allowing the server to only send needed
+ headers in a 206 response, this problem can be avoided. (Section
+ 10.2.7, 13.5.3, and 14.27)
+
+ Fix problem with unsatisfiable range requests; there are two cases:
+ syntactic problems, and range doesn't exist in the document. The 416
+ status code was needed to resolve this ambiguity needed to indicate
+ an error for a byte range request that falls outside of the actual
+ contents of a document. (Section 10.4.17, 14.16)
+
+ Rewrite of message transmission requirements to make it much harder
+ for implementors to get it wrong, as the consequences of errors here
+ can have significant impact on the Internet, and to deal with the
+ following problems:
+
+ 1. Changing "HTTP/1.1 or later" to "HTTP/1.1", in contexts where
+ this was incorrectly placing a requirement on the behavior of
+ an implementation of a future version of HTTP/1.x
+
+ 2. Made it clear that user-agents should retry requests, not
+ "clients" in general.
+
+ 3. Converted requirements for clients to ignore unexpected 100
+ (Continue) responses, and for proxies to forward 100 responses,
+ into a general requirement for 1xx responses.
+
+ 4. Modified some TCP-specific language, to make it clearer that
+ non-TCP transports are possible for HTTP.
+
+ 5. Require that the origin server MUST NOT wait for the request
+ body before it sends a required 100 (Continue) response.
+
+ 6. Allow, rather than require, a server to omit 100 (Continue) if
+ it has already seen some of the request body.
+
+ 7. Allow servers to defend against denial-of-service attacks and
+ broken clients.
+
+ This change adds the Expect header and 417 status code. The message
+ transmission requirements fixes are in sections 8.2, 10.4.18,
+ 8.1.2.2, 13.11, and 14.20.
+
+ Proxies should be able to add Content-Length when appropriate.
+ (Section 13.5.2)
+
+ Clean up confusion between 403 and 404 responses. (Section 10.4.4,
+ 10.4.5, and 10.4.11)
+
+ Warnings could be cached incorrectly, or not updated appropriately.
+ (Section 13.1.2, 13.2.4, 13.5.2, 13.5.3, 14.9.3, and 14.46) Warning
+ also needed to be a general header, as PUT or other methods may have
+ need for it in requests.
+
+ Transfer-coding had significant problems, particularly with
+ interactions with chunked encoding. The solution is that transfer-
+ codings become as full fledged as content-codings. This involves
+ adding an IANA registry for transfer-codings (separate from content
+ codings), a new header field (TE) and enabling trailer headers in the
+ future. Transfer encoding is a major performance benefit, so it was
+ worth fixing [39]. TE also solves another, obscure, downward
+ interoperability problem that could have occurred due to interactions
+ between authentication trailers, chunked encoding and HTTP/1.0
+ clients.(Section 3.6, 3.6.1, and 14.39)
+
+ The PATCH, LINK, UNLINK methods were defined but not commonly
+ implemented in previous versions of this specification. See <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a>
+ [33].
+
+ The Alternates, Content-Version, Derived-From, Link, URI, Public and
+ Content-Base header fields were defined in previous versions of this
+ specification, but not commonly implemented. See <a href="http://firefly.troll.no/rfcs/rfc2068.html">RFC 2068</a> [33].
+
+20 Index
+
+ Please see the PostScript version of this RFC for the INDEX.
+
+21. Full Copyright Statement
+
+ Copyright (C) The Internet Society (1999). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+</pre>
+<p align="center"><script language="JavaScript"><!--
+erfc("2616");
+// --></script><a href="http://firefly.troll.no/rfccomment.php?rfcnum=2616" target="_blank" onclick="window.open('/rfccomment.php?rfcnum=2616','Popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=680,height=530,left=30,top=43'); return false;" )="">Comment on RFC 2616</a>
+</p>
+&nbsp;<br>
+<div align="center">
+<center>
+<table border="0" cellpadding="4" cellspacing="4" width="100%">
+<tbody><tr><td bgcolor="#d6d6c0" width="100%">
+<p><font face="Arial">Comments about this RFC:</font></p>
+<ul>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-869.html">RFC 2616: Very basic HTTP Server written in Emacs Lisp: http://www.chez.com/emarsden/downl...</a> by Alex Schröder (5/12/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-539.html">RFC 2616: If someone has got sample code for a basic HTTP/1.1 Server please let me know......</a> by Mike (2/4/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-486.html">RFC 2616: I am seeking ladies for nothing but sex that is all i want from the lady sorry...</a> by treblav (1/16/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-2360.html">RFC 2616: Hello.
+
+ I have realized that point 8.1.4 of the RFC 2616 is a big threat to...</a> by Doolyo (8/20/2005)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-1522.html">RFC 2616: êêêöïïäììóì::::::@::@"""@:&gt;c
+ :::@"$$%^^*^^*((((99(
+ &lt;&lt;&gt;:"? </a> by óäöóöóöóö (12/16/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-2147.html">RFC 2616: Man Such a big and boring doc.. thats why ppl shy away from RFC stuff. Make it...</a> by AnurgaM (6/15/2005)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-2277.html">RFC 2616: igeve uo 100 dolars
+
+ iwant password
+
+ farh51@hotmail.com </a> by farh (7/24/2005)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-2349.html">RFC 2616: I have realized that point 8.1.4 of this RFC is a big threat to the load speed...</a> by Doolyo (8/15/2005)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-1230.html">RFC 2616: Would it possible to extend the
+ protocol to allow another GET,
+ HEAD, POST,...</a> by CCaldwell (9/15/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-692.html">RFC 2616: Wonder if he got his lady? </a> by SinJax (3/26/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-2056.html">RFC 2616: it's for shareaza that the program go fasther </a> by sylle (5/24/2005)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-2526.html">RFC 2616: Only 2 simultaneous connections is a big threat to the load speed of HTML...</a> by Doolyo (9/30/2005)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-736.html">RFC 2616: yo to the southampton uni coursework massive </a> by anon (4/6/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-1574.html">RFC 2616: If you know everything about HTTP this rfc will be helpful to you (as a recap...</a> by just a developer (1/5/2005)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-1111.html">RFC 2616: Please note that section 3.6.2, referenced in section 3.5 (page 25)
+ may most...</a> by Patrick Powell (8/12/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-1354.html">RFC 2616: gtu87t 86t8o;koip]0-n df bhvfjkhfgfter6ecvgjlhhjuhjioy uftyei vn bk.jljpoi
+ =- ...</a> by jkl (10/20/2004)</font></li>
+<li><font face="Arial"><a href="http://firefly.troll.no/qa/rfcc-1973.html">RFC 2616: I HOPE KNOW MANY OF SOME RFC </a> by MARRY (5/5/2005)</font></li>
+</ul>
+</td></tr></tbody></table> <br></center></div>
+<div align="center">
+<table border="0" cellpadding="3" cellspacing="3" width="100%">
+<tbody><tr><td width="45%">
+<p align="left">Previous: <a href="http://firefly.troll.no/rfcs/rfc2615.html">RFC 2615 - PPP over SONET/SDH</a>
+</p></td><td width="10%">&nbsp;</td><td width="45%">
+<p align="right">Next: <a href="http://firefly.troll.no/rfcs/rfc2617.html">RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication</a>
+</p></td></tr></tbody></table></div><p align="right">&nbsp;</p>
+<hr noshade="noshade" size="2">
+<div align="center">[ <a href="http://firefly.troll.no/rfcs/">RFC Index</a> | <a href="http://firefly.troll.no/rfcs/rfcsearch.html">RFC Search</a> | <a href="http://firefly.troll.no/faqs/">Usenet FAQs</a> | <a href="http://firefly.troll.no/contrib/">Web FAQs</a> | <a href="http://firefly.troll.no/docs/">Documents</a> | <a href="http://www.city-data.com/">Cities</a> ]
+<p>
+</p></div>
+ <a href="http://firefly.troll.no/ftp/rfc/rfc2616.pdf">rfc2616.pdf</a>
+<small>
+<address>
+<p align="center">
+
+</p>
+</address>
+</small>
+</body></html> \ No newline at end of file
diff --git a/tests/testserver/common/.gitattributes b/tests/testserver/common/.gitattributes
new file mode 100644
index 0000000000..21f6efbe14
--- /dev/null
+++ b/tests/testserver/common/.gitattributes
@@ -0,0 +1,2 @@
+*.sh text eol=lf
+*.conf text eol=lf
diff --git a/tests/testserver/common/ssl.sh b/tests/testserver/common/ssl.sh
index 8a4728ad4d..2593a22979 100755
--- a/tests/testserver/common/ssl.sh
+++ b/tests/testserver/common/ssl.sh
@@ -35,5 +35,6 @@ set -ex
# install ssl_certs and test data
su $USER -c "mkdir -p -m 700 ~/ssl-certs/private"
-su $USER -c "cp $CONFIG/ssl/qt-test-server-cert.pem ~/ssl-certs/"
+su $USER -c \
+ "cp $CONFIG/ssl/${test_cert:-qt-test-server-cert.pem} ~/ssl-certs/qt-test-server-cert.pem"
su $USER -c "cp $CONFIG/ssl/private/qt-test-server-key.pem ~/ssl-certs/private/"
diff --git a/tests/testserver/common/startup.sh b/tests/testserver/common/startup.sh
index 84d4003f86..74990a47f6 100755
--- a/tests/testserver/common/startup.sh
+++ b/tests/testserver/common/startup.sh
@@ -49,7 +49,9 @@ do $RUN_CMD
done
# start multicast DNS service discovery (mDNS)
-sed -i "s,#domain-name=local,domain-name=test-net.qt.local," /etc/avahi/avahi-daemon.conf
+sed -i -e "s,#domain-name=local,domain-name=${test_domain:-test-net.qt.local}," \
+ -e "s,#publish-aaaa-on-ipv4=yes,publish-aaaa-on-ipv4=no," \
+ /etc/avahi/avahi-daemon.conf
service dbus restart
service avahi-daemon restart
diff --git a/tests/testserver/common/testdata/ssl/qt-test-server-host-network-cacert.pem b/tests/testserver/common/testdata/ssl/qt-test-server-host-network-cacert.pem
new file mode 100644
index 0000000000..5bdce3a3f9
--- /dev/null
+++ b/tests/testserver/common/testdata/ssl/qt-test-server-host-network-cacert.pem
@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIIClzCCAgACCQDeuuUc2HkfKDANBgkqhkiG9w0BAQQFADCBjzELMAkGA1UEChMC
+UXQxGTAXBgNVBAsTEENvcmUgQW5kIE5ldHdvcmsxGzAZBgkqhkiG9w0BCQEWDG5v
+Ym9keS5xdC5pbzENMAsGA1UEBxMET3NsbzENMAsGA1UECBMET3NsbzELMAkGA1UE
+BhMCTk8xHTAbBgNVBAMTFHF0LXRlc3Qtc2VydmVyLmxvY2FsMB4XDTE5MDEyNTE1
+NDE0N1oXDTQ5MDExNzE1NDE0N1owgY8xCzAJBgNVBAoTAlF0MRkwFwYDVQQLExBD
+b3JlIEFuZCBOZXR3b3JrMRswGQYJKoZIhvcNAQkBFgxub2JvZHkucXQuaW8xDTAL
+BgNVBAcTBE9zbG8xDTALBgNVBAgTBE9zbG8xCzAJBgNVBAYTAk5PMR0wGwYDVQQD
+ExRxdC10ZXN0LXNlcnZlci5sb2NhbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
+gYEAzarbb9Y0yafxwL7kQRgZ4gLJIuan1boDLp4oevRfGndfd6kRO49+8C7Gnus6
+2RLXwQxR6CRSPyPDQgwRxvIcoUL+tMJpg633cLEYFcwgKGIw8CwV5jMZr8PrHMCR
+9xFolFD4STcIMtc+dd+jvGkAFd7Nhw9cAmuCyAF9avAd3HMCAwEAATANBgkqhkiG
+9w0BAQQFAAOBgQB1dxK3Ia4sCpvSikKLaf1ZXu+9GKaNWKJe9bWex9/RmNOla9N2
+FIh6/CfaPFDy/OXCkyEiGg78iyg/DgqVoa9JJGV3diI6berisHMPJpv1syyz9YEU
+G3RQUClPcPV6EcedyqCdpbnIFtiSZbtJ0ZBGef4KzBN3rTmPucKb+bhMPg==
+-----END CERTIFICATE-----
diff --git a/tests/testserver/cyrus/cyrus.sh b/tests/testserver/cyrus/cyrus.sh
new file mode 100755
index 0000000000..92c3bfa703
--- /dev/null
+++ b/tests/testserver/cyrus/cyrus.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the test suite of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:GPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 3 or (at your option) any later version
+## approved by the KDE Free Qt Foundation. The licenses are as published by
+## the Free Software Foundation and appearing in the file LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+echo "tls_cert_file: /home/qt-test-server/ssl-certs/qt-test-server-cert.pem" >> /etc/imapd.conf
+echo "tls_key_file: /home/qt-test-server/ssl-certs/private/qt-test-server-key.pem" >> /etc/imapd.conf
+chmod +3 /home/qt-test-server/ssl-certs/private/
+mkdir -m 007 -p /run/cyrus/proc
+sed -i 's/#imaps\t\tcmd="imapd/imaps\t\tcmd="imapd/' /etc/cyrus.conf
+
+service cyrus-imapd restart
diff --git a/tests/testserver/danted/.gitattributes b/tests/testserver/danted/.gitattributes
new file mode 100644
index 0000000000..21f6efbe14
--- /dev/null
+++ b/tests/testserver/danted/.gitattributes
@@ -0,0 +1,2 @@
+*.sh text eol=lf
+*.conf text eol=lf
diff --git a/tests/testserver/docker-compose-for-macOS.yml b/tests/testserver/docker-compose-for-macOS.yml
index f5d812511d..aa610dfb88 100644
--- a/tests/testserver/docker-compose-for-macOS.yml
+++ b/tests/testserver/docker-compose-for-macOS.yml
@@ -7,25 +7,30 @@ version: '3.4'
# contexts gets changes, please make sure to update this compose file as well.
# You can run command 'docker images' to list all the tags of test server images.
# For example:
-# REPOSITORY TAG IMAGE ID
-# qt-test-server-apache2 cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947 2ad5c8720317
+# REPOSITORY TAG
+# qt-test-server-apache2 537fe302f61851d1663f41495230d8e3554a4a13
services:
apache2:
- image: qt-test-server-apache2:cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947
+ image: qt-test-server-apache2:537fe302f61851d1663f41495230d8e3554a4a13
container_name: qt-test-server-apache2
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
volumes:
- ./common:/common:ro
- ./apache2:/service:ro
entrypoint: common/startup.sh
command: [common/ssl.sh, service/apache2.sh]
network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+ - test_cert="qt-test-server-host-network-cacert.pem"
squid:
- image: qt-test-server-squid:577d99307eea9a8cccfec944d25be2bce2fe99cc
+ image: qt-test-server-squid:9c32f41b19aca3d778733c4d8fb0ecc5955e893c
container_name: qt-test-server-squid
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
depends_on:
- apache2
volumes:
@@ -34,22 +39,30 @@ services:
entrypoint: common/startup.sh
command: service/squid.sh
network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
vsftpd:
- image: qt-test-server-vsftpd:18896604c7e90b543e56d80c8a8aabdb65a590d0
+ image: qt-test-server-vsftpd:f3a9c8d793a77cc007c0e4e481bec01f9e3eeb7e
container_name: qt-test-server-vsftpd
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
volumes:
- ./common:/common:ro
- ./vsftpd:/service:ro
entrypoint: common/startup.sh
command: service/vsftpd.sh
network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
ftp-proxy:
- image: qt-test-server-ftp-proxy:2c6c8f1ab6a364b540c43d705fb6f15a585cb2af
+ image: qt-test-server-ftp-proxy:d7de8b28392d173db512a558ccc84ead8bece2ae
container_name: qt-test-server-ftp-proxy
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
depends_on:
- vsftpd
volumes:
@@ -58,11 +71,15 @@ services:
entrypoint: common/startup.sh
command: service/ftp-proxy.sh
network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
danted:
- image: qt-test-server-danted:2d5eea7356dd0ba25f3c12d1cba00d70770da1b0
+ image: qt-test-server-danted:35607f9b790524cf9690c7d12a9a401696b7b6b5
container_name: qt-test-server-danted
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
depends_on:
- apache2
- vsftpd
@@ -73,8 +90,11 @@ services:
entrypoint: common/startup.sh
command: service/danted.sh
network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
environment:
- - danted_internal=${MACHINE_IP:-eth0}
- - danted_external=${MACHINE_IP:-eth0}
- - danted_auth_internal=${MACHINE_IP:-eth0}
- - danted_auth_external=${MACHINE_IP:-eth0}
+ - danted_internal=${MACHINE_IP}
+ - danted_external=${MACHINE_IP}
+ - danted_auth_internal=${MACHINE_IP}
+ - danted_auth_external=${MACHINE_IP}
+ - test_domain=${TEST_DOMAIN}
diff --git a/tests/testserver/docker-compose-for-windows.yml b/tests/testserver/docker-compose-for-windows.yml
new file mode 100644
index 0000000000..aa610dfb88
--- /dev/null
+++ b/tests/testserver/docker-compose-for-windows.yml
@@ -0,0 +1,100 @@
+version: '3.4'
+
+# The tag of images is used by docker compose file to launch the corresponding
+# docker containers. The value of tag comes from the provisioning script
+# (coin/provisioning/.../testserver/docker_testserver.sh). The script gets SHA-1
+# of each server context as the tag of docker images. If one of the server
+# contexts gets changes, please make sure to update this compose file as well.
+# You can run command 'docker images' to list all the tags of test server images.
+# For example:
+# REPOSITORY TAG
+# qt-test-server-apache2 537fe302f61851d1663f41495230d8e3554a4a13
+
+services:
+ apache2:
+ image: qt-test-server-apache2:537fe302f61851d1663f41495230d8e3554a4a13
+ container_name: qt-test-server-apache2
+ domainname: ${TEST_DOMAIN}
+ volumes:
+ - ./common:/common:ro
+ - ./apache2:/service:ro
+ entrypoint: common/startup.sh
+ command: [common/ssl.sh, service/apache2.sh]
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+ - test_cert="qt-test-server-host-network-cacert.pem"
+
+ squid:
+ image: qt-test-server-squid:9c32f41b19aca3d778733c4d8fb0ecc5955e893c
+ container_name: qt-test-server-squid
+ domainname: ${TEST_DOMAIN}
+ depends_on:
+ - apache2
+ volumes:
+ - ./common:/common:ro
+ - ./squid:/service:ro
+ entrypoint: common/startup.sh
+ command: service/squid.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+
+ vsftpd:
+ image: qt-test-server-vsftpd:f3a9c8d793a77cc007c0e4e481bec01f9e3eeb7e
+ container_name: qt-test-server-vsftpd
+ domainname: ${TEST_DOMAIN}
+ volumes:
+ - ./common:/common:ro
+ - ./vsftpd:/service:ro
+ entrypoint: common/startup.sh
+ command: service/vsftpd.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+
+ ftp-proxy:
+ image: qt-test-server-ftp-proxy:d7de8b28392d173db512a558ccc84ead8bece2ae
+ container_name: qt-test-server-ftp-proxy
+ domainname: ${TEST_DOMAIN}
+ depends_on:
+ - vsftpd
+ volumes:
+ - ./common:/common:ro
+ - ./ftp-proxy:/service:ro
+ entrypoint: common/startup.sh
+ command: service/ftp-proxy.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - test_domain=${TEST_DOMAIN}
+
+ danted:
+ image: qt-test-server-danted:35607f9b790524cf9690c7d12a9a401696b7b6b5
+ container_name: qt-test-server-danted
+ domainname: ${TEST_DOMAIN}
+ depends_on:
+ - apache2
+ - vsftpd
+ - ftp-proxy
+ volumes:
+ - ./common:/common:ro
+ - ./danted:/service:ro
+ entrypoint: common/startup.sh
+ command: service/danted.sh
+ network_mode: "host"
+ extra_hosts:
+ - "qt-test-server.${TEST_DOMAIN}:${MACHINE_IP}"
+ environment:
+ - danted_internal=${MACHINE_IP}
+ - danted_external=${MACHINE_IP}
+ - danted_auth_internal=${MACHINE_IP}
+ - danted_auth_external=${MACHINE_IP}
+ - test_domain=${TEST_DOMAIN}
diff --git a/tests/testserver/docker-compose.yml b/tests/testserver/docker-compose.yml
index a151d6bfb0..962daad3c9 100644
--- a/tests/testserver/docker-compose.yml
+++ b/tests/testserver/docker-compose.yml
@@ -7,14 +7,14 @@ version: '3.4'
# contexts gets changes, please make sure to update this compose file as well.
# You can run command 'docker images' to list all the tag of test server images.
# For example:
-# REPOSITORY TAG IMAGE ID
-# qt-test-server-apache2 e2a70c8b169c204e762b375885bd3a26cc40ba48 2ad5c8720317
+# REPOSITORY TAG
+# qt-test-server-apache2 537fe302f61851d1663f41495230d8e3554a4a13
services:
apache2:
- image: qt-test-server-apache2:cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947
+ image: qt-test-server-apache2:537fe302f61851d1663f41495230d8e3554a4a13
container_name: qt-test-server-apache2
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
hostname: apache2
volumes:
- ./common:/common:ro
@@ -23,14 +23,18 @@ services:
command: [common/ssl.sh, service/apache2.sh]
squid:
- image: qt-test-server-squid:577d99307eea9a8cccfec944d25be2bce2fe99cc
+ image: qt-test-server-squid:9c32f41b19aca3d778733c4d8fb0ecc5955e893c
container_name: qt-test-server-squid
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
hostname: squid
depends_on:
- apache2
external_links:
- - apache2:apache2.test-net.qt.local
+ - apache2:apache2.${TEST_DOMAIN}
+ - cyrus:cyrus.${TEST_DOMAIN}
+ - iptables:iptables.${TEST_DOMAIN}
+ - vsftpd:vsftpd.${TEST_DOMAIN}
+ - echo:echo.${TEST_DOMAIN}
volumes:
- ./common:/common:ro
- ./squid:/service:ro
@@ -38,9 +42,9 @@ services:
command: service/squid.sh
vsftpd:
- image: qt-test-server-vsftpd:18896604c7e90b543e56d80c8a8aabdb65a590d0
+ image: qt-test-server-vsftpd:f3a9c8d793a77cc007c0e4e481bec01f9e3eeb7e
container_name: qt-test-server-vsftpd
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
hostname: vsftpd
volumes:
- ./common:/common:ro
@@ -49,14 +53,14 @@ services:
command: service/vsftpd.sh
ftp-proxy:
- image: qt-test-server-ftp-proxy:2c6c8f1ab6a364b540c43d705fb6f15a585cb2af
+ image: qt-test-server-ftp-proxy:d7de8b28392d173db512a558ccc84ead8bece2ae
container_name: qt-test-server-ftp-proxy
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
hostname: ftp-proxy
depends_on:
- vsftpd
external_links:
- - vsftpd:vsftpd.test-net.qt.local
+ - vsftpd:vsftpd.${TEST_DOMAIN}
volumes:
- ./common:/common:ro
- ./ftp-proxy:/service:ro
@@ -64,20 +68,58 @@ services:
command: service/ftp-proxy.sh
danted:
- image: qt-test-server-danted:327dd56c3c35db85b26fac93213a5a1918475bc7
+ image: qt-test-server-danted:35607f9b790524cf9690c7d12a9a401696b7b6b5
container_name: qt-test-server-danted
- domainname: test-net.qt.local
+ domainname: ${TEST_DOMAIN}
hostname: danted
depends_on:
- apache2
- vsftpd
- ftp-proxy
external_links:
- - apache2:apache2.test-net.qt.local
- - vsftpd:vsftpd.test-net.qt.local
- - ftp-proxy:ftp-proxy.test-net.qt.local
+ - apache2:apache2.${TEST_DOMAIN}
+ - vsftpd:vsftpd.${TEST_DOMAIN}
+ - ftp-proxy:ftp-proxy.${TEST_DOMAIN}
+ - cyrus:cyrus.${TEST_DOMAIN}
+ - echo:echo.${TEST_DOMAIN}
volumes:
- ./common:/common:ro
- ./danted:/service:ro
entrypoint: common/startup.sh
command: service/danted.sh
+
+ cyrus:
+ image: qt-test-server-cyrus:c8d72754abc0e501afd624ce838e4df35505abc9
+ container_name: qt-test-server-cyrus
+ domainname: ${TEST_DOMAIN}
+ hostname: cyrus
+ volumes:
+ - ./common:/common:ro
+ - ./cyrus:/service:ro
+ entrypoint: common/startup.sh
+ command: [common/ssl.sh, service/cyrus.sh]
+
+ iptables:
+ image: qt-test-server-iptables:cb7a8bd6d28602085a88c8ced7d67e28e75781e2
+ container_name: qt-test-server-iptables
+ domainname: ${TEST_DOMAIN}
+ hostname: iptables
+ volumes:
+ - ./common:/common:ro
+ - ./iptables:/service:ro
+ entrypoint: common/startup.sh
+ command: service/iptables.sh
+ cap_add:
+ - NET_ADMIN
+ - NET_RAW
+
+ echo:
+ image: qt-test-server-echo:b29ad409e746a834c1055fd0f7a55fd5056da6ea
+ container_name: qt-test-server-echo
+ domainname: ${TEST_DOMAIN}
+ hostname: echo
+ volumes:
+ - ./common:/common:ro
+ - ./echo:/service:ro
+ entrypoint: common/startup.sh
+ command: service/echo.sh
diff --git a/tests/testserver/echo/echo.sh b/tests/testserver/echo/echo.sh
new file mode 100755
index 0000000000..f0da9627d5
--- /dev/null
+++ b/tests/testserver/echo/echo.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+# Disabled by default, enable it.
+sed -i 's/disable\t\t= yes/disable = no/' /etc/xinetd.d/echo
+sed -i 's/disable\t\t= yes/disable = no/' /etc/xinetd.d/daytime
+
+service xinetd restart
diff --git a/tests/testserver/ftp-proxy/.gitattributes b/tests/testserver/ftp-proxy/.gitattributes
new file mode 100644
index 0000000000..21f6efbe14
--- /dev/null
+++ b/tests/testserver/ftp-proxy/.gitattributes
@@ -0,0 +1,2 @@
+*.sh text eol=lf
+*.conf text eol=lf
diff --git a/tests/testserver/iptables/iptables.sh b/tests/testserver/iptables/iptables.sh
new file mode 100755
index 0000000000..9a48686d8b
--- /dev/null
+++ b/tests/testserver/iptables/iptables.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the test suite of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:GPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 3 or (at your option) any later version
+## approved by the KDE Free Qt Foundation. The licenses are as published by
+## the Free Software Foundation and appearing in the file LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+iptables -A INPUT -p tcp --destination-port 1357 -j DROP
diff --git a/tests/testserver/squid/.gitattributes b/tests/testserver/squid/.gitattributes
new file mode 100644
index 0000000000..21f6efbe14
--- /dev/null
+++ b/tests/testserver/squid/.gitattributes
@@ -0,0 +1,2 @@
+*.sh text eol=lf
+*.conf text eol=lf
diff --git a/tests/testserver/vsftpd/.gitattributes b/tests/testserver/vsftpd/.gitattributes
new file mode 100644
index 0000000000..67af4c73e8
--- /dev/null
+++ b/tests/testserver/vsftpd/.gitattributes
@@ -0,0 +1,2 @@
+* text eol=lf
+*.gif -text
diff --git a/tests/testserver/vsftpd/vsftpd.sh b/tests/testserver/vsftpd/vsftpd.sh
index 845c576534..14364f94c2 100755
--- a/tests/testserver/vsftpd/vsftpd.sh
+++ b/tests/testserver/vsftpd/vsftpd.sh
@@ -41,9 +41,10 @@ useradd -d "/home/$USER/ftp" -s /bin/bash ftptest; echo "ftptest:$PASS" | chpass
cp $TESTDATA/vsftpd.{conf,user_list} /etc/
# Resolve error message "vsftpd failed - probably invalid config" during boot
-command='start-stop-daemon --start --background -m --oknodo --pidfile /var/run/vsftpd/vsftpd.pid'
-command+=' --exec ${DAEMON}'
-sed -i "s,$command.*$,$command; sleep 10," /etc/init.d/vsftpd
+# This bug has been reported to Debian bug tracking system (ID #911396)
+command='ps -C vsftpd | grep -qs "${_PID}"'
+sed -i -e 's,while [ ${n} -le 5 ].*$,while true,' \
+ -e "s,\t\t\tif ! $command.*$,\t\t\tif $command," /etc/init.d/vsftpd
# Populate the FTP sites:
su $USER -c "cp -r $TESTDATA/ftp ~/ftp"